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

Re: [Xen-devel] [PATCH v2 32/41] arm : acpi dynamically map mmio regions



On Fri, 2015-07-31 at 17:24 +0100, Stefano Stabellini wrote:
> 
> One more solution that I would like to see investigated, would be to use
> an hypercall from Dom0 to request MMIO region mappings, after Linux
> completed parsing the DSDT. If we can do this cleanly in Linux, it would
> be our best option.

This would be my preferred option, over both faulting in on data abort and
mapping the whole address space at start of day which are the other two
options which I think we can see for an UEFI+ACPI system.

Sadly the best option "firmware gives us the full address map" is not on
the table with UEFI+ACPI, which is a shame, but oh well.

>   Linux would have to go through all the MMIO regions
> and issue an hypercall for each of them to map it.

> 
> The hypercall could be XENMEM_add_to_physmap, but we would have to add a
> new XENMAPSPACE type to be able to specify an MMIO region as argument.
> See xen/include/public/memory.h.
> 
> I am not sure where is the best place to issue the hypercall in the
> Linux kernel. Perhaps it is possible to list all the registered MMIO
> regions somehow. Or perhaps we could use one of the
> bus_register_notifiers, like we already do for PCI devices, see
> drivers/xen/pci.c. I know that bus_register_notifier can be used with
> AMBA and platform buses too.

FWIW I think an approach based around things happening when entities
(busses, devices etc) are registered with the device model core and
callbacks/hooks on those events would be preferable to trying to get a full
list of all MMIO at some point in time, assume that it is
possible/clean/etc from the guest side...

Ian.

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


 


Rackspace

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