On Fri, 4 Mar 2016, Shannon Zhao wrote:
> On 2016/3/4 20:24, Stefano Stabellini wrote:
> > On Fri, 4 Mar 2016, Shannon Zhao wrote:
> > > >From: Shannon Zhao<shannon.z...@linaro.org>
> > > >
> > > >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<shannon.z...@linaro.org>
> > > >---
> > > >CC: "Rafael J. Wysocki"<r...@rjwysocki.net>  (supporter:ACPI)
> > > >CC: Len Brown<l...@kernel.org>  (supporter:ACPI)
> > > >CC:linux-a...@vger.kernel.org  (open list:ACPI)
> > > >---
> > > >  drivers/acpi/scan.c | 68
> > > +++++++++++++++++++++++++++++++++++++++++++++++++++++
> > > >  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(struct
> > > acpi_device **child,
> > > >         return 0;
> > > >  }
> > > >
> > > >+static acpi_status acpi_get_resource_fixed_memory32(struct acpi_resource
> > > *res,
> > > >+                                                    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.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to