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

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



>>> 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.

Jan


_______________________________________________
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®.