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

Re: [Xen-devel] PCI Pass-through in Xen ARM: Draft 4





On Thursday 13 August 2015 03:12 PM, Manish Jaggi wrote:
-----------------------------
             | PCI Pass-through in Xen ARM |
              -----------------------------
             manish.jaggi@xxxxxxxxxxxxxxxxxx
             -------------------------------

                      Draft-4
[snip]

 4.2.1 Mapping BAR regions in guest address space
----------------------------------------------------------------------------- When a PCI-EP device is assigned to a domU the toolstack will read the pci
 configuration space BAR registers. Toolstack allocates a virtual BAR
region for each BAR region, from the area reserved in guest address space for
 mapping BARs referred to as Guest BAR area. This area is defined in
 public/arch-arm.h

 /* For 32bit BARs*/
 #define GUEST_BAR_BASE_32 <<>>
 #define GUEST_BAR_SIZE_32 <<>>

 /* For 64bit BARs*/
 #define GUEST_BAR_BASE_64 <<>>
 #define GUEST_BAR_SIZE_64 <<>>

 Toolstack then invokes domctl xc_domain_memory_mapping to map in stage2
 translation. If a BAR region address is 32b BASE_32 area would be used,
 otherwise 64b. If a combination of both is required the support is TODO.

Toolstack manages these areas and allocate from these area. The allocation
 and deallocation is done using APIs similar to malloc and free.


To implement this feature in xl tools there is required to have a malloc and free from the reserved area. Can we have the XEN_DOMCTL_memory_mapping extended with a flag say ALLOCATE/FREE_FROM_BAR_AREA. When this flag is passed xen would add or remove the stage2 mapping for the domain.
This will make use of the code already present in xen.

Any reservations with this approach ?

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