[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Xen: Support for mapping OperationRegion in ACPI ASL



On Thu, 22 Dec 2016, Jan Beulich wrote:
> >>> On 20.12.16 at 23:50, <sstabellini@xxxxxxxxxx> wrote:
> > On Tue, 20 Dec 2016, Jan Beulich wrote:
> >> >>> On 20.12.16 at 00:01, <sstabellini@xxxxxxxxxx> wrote:
> >> > This is actually not an ARM specific question, so changing the subject
> >> > and CC'ing more people.
> >> > 
> >> > On Wed, 14 Dec 2016, Konrad Rzeszutek Wilk wrote:
> >> >> On Tue, Dec 13, 2016 at 07:14:27PM -0600, Jiandi An wrote:
> >> >> > Xen currently does not handle mapping of MMIO regions specified under 
> >> > OperationRegion in ACPI ASL.  OperationRegion is well defined in ACPI 
> >> > specification.  I'm seeking for architectural direction on adding 
> >> > support 
> > for 
> >> > mapping OperationRegion.
> >> >> > 
> >> >> > Some context here.  Mapping of resources specificed under _CRS in 
> >> >> > ACPI is 
> >> > handled by dom0 requesting Xen to map as platform devices are added.  
> >> > https://lwn.net/Articles/674666/ provided service xen_map_device_mmio() 
> >> > in 
> >> > dom0 to call Xen to map and it's done so by registering 
> >> > xen_platform_notifier() platform bus driver.  This covers the platform 
> >> > devices.
> >> >> > 
> >> >> > The OperationRegion access in dom0 is in acpica path.  The following 
> >> >> > is a 
> >> > stack of the code path where OperationRegion is parsed.  
> >> 
> >> But aren't such regions required to be claimed by resource
> >> declarations elsewhere? I don't think the mapping (into the p2m)
> >> should happen during an access attempt, but much earlier. But
> >> perhaps I'm missing some context ...
> > 
> > Please correct me if I am wrong, but we are talking about ACPI
> > initialization here. In fact, acpi_init was one of the first functions
> > in the callstack of the previous email. So yes, we are trying to map the
> > regions when they are discovered during ACPI initialization, which is as
> > early as possible I think.
> 
> Yes and no: Yes - we are in the context of acpi_init(). But no, the
> mapping did not get established prior to the first access, or else
> the call stack wouldn't include
> 
> acpi_ex_system_memory_space_handler+0x378/0x424
> acpi_ev_address_space_dispatch+0x294/0x310
> acpi_ex_access_region+0x3c0/0x468
> acpi_ex_field_datum_io+0x14c/0x380
> acpi_ex_extract_from_field+0xe8/0x2f4
> acpi_ex_read_data_from_field+0x330/0x38c
> 
> I would expect resource claiming to precede this, and that would
> then be where the mapping should also be requested.

Good point.

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.