[PATCH v5 01/17] Xen: ACPI: Hide UART used by Xen
From: Stefano Stabellini <hidden>
Date: 2016-03-04 16:29:09
Also in:
linux-acpi, linux-devicetree, linux-efi, lkml
On Fri, 4 Mar 2016, Shannon Zhao wrote:
On 2016/3/4 20:24, Stefano Stabellini wrote:quoted
On Fri, 4 Mar 2016, Shannon Zhao wrote:quoted
quoted
From: Shannon Zhao<redacted> ACPI 6.0 introduces a new table STAO to list the devices which are used by Xen and can't be used by Dom0. On Xen virtual platforms, the physical UART is used by Xen. So here it hides UART from Dom0. Signed-off-by: Shannon Zhao<redacted> --- CC: "Rafael J. Wysocki"<redacted> (supporter:ACPI) CC: Len Brown<lenb@kernel.org> (supporter:ACPI) CC:linux-acpi at vger.kernel.org (open list:ACPI) --- drivers/acpi/scan.c | 68+++++++++++++++++++++++++++++++++++++++++++++++++++++quoted
1 file changed, 68 insertions(+)diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index 407a376..31d794c 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c@@ -45,6 +45,7 @@ static LIST_HEAD(acpi_scan_handlers_list); DEFINE_MUTEX(acpi_device_lock); LIST_HEAD(acpi_wakeup_device_list); static DEFINE_MUTEX(acpi_hp_context_lock); +static u64 spcr_uart_addr; struct acpi_dep_data { struct list_head node;@@ -1453,6 +1454,47 @@ static int acpi_add_single_object(structacpi_device **child,quoted
return 0; } +static acpi_status acpi_get_resource_fixed_memory32(struct acpi_resource*res,quoted
+ void *context) +{ + struct acpi_resource_fixed_memory32 *fixed_memory32; + + if (res->type != ACPI_RESOURCE_TYPE_FIXED_MEMORY32) + return AE_OK; + + fixed_memory32 = &res->data.fixed_memory32;Should we call acpi_resource_to_address64 instead? Aside from this the rest looks good.You mean the resource type could be other types? like ACPI_RESOURCE_TYPE_ADDRESS64 or ACPI_RESOURCE_TYPE_ADDRESS32? So it needs to convert them to ACPI_RESOURCE_TYPE_ADDRESS64 firstly?
I meant to ask whether we need to check for other types of resources, in addition to ACPI_RESOURCE_TYPE_FIXED_MEMORY32. So maybe call an existing function that already does the check for us. acpi_dev_resource_memory is actually what I meant to suggest.