From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: PCI Pass-through in Xen ARM - Draft 2. Date: Mon, 29 Jun 2015 11:31:02 +0100 Message-ID: <55911E66.2040009@citrix.com> References: <55903F12.7010908@caviumnetworks.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <55903F12.7010908@caviumnetworks.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Manish Jaggi , "xen-devel@lists.xen.org" , Ian Campbell , Konrad Rzeszutek Wilk , Stefano Stabellini , "Kulkarni, Ganapatrao" , Prasun Kapoor , "Kumar, Vijaya" List-Id: xen-devel@lists.xenproject.org Hi Manish, On 28/06/15 19:38, Manish Jaggi wrote: > 4.1 Holes in guest memory space > ---------------------------- > Holes are added in the guest memory space for mapping pci device's BAR > regions. > These are defined in arch-arm.h > > /* For 32bit */ > GUEST_MMIO_HOLE0_BASE, GUEST_MMIO_HOLE0_SIZE > > /* For 64bit */ > GUEST_MMIO_HOLE1_BASE , GUEST_MMIO_HOLE1_SIZE The memory layout for 32bit and 64bit are exactly the same. Why do you need to differ here? > 4.2 New entries in xenstore for device BARs > -------------------------------------------- > toolkit also updates the xenstore information for the device > (virtualbar:physical bar). > This information is read by xenpciback and returned to the pcifront > driver configuration > space accesses. Can you details what do you plan to put in xenstore and how? What about the expansion ROM? > 4.3 Hypercall for bdf mapping notification to xen > ----------------------------------------------- > #define PHYSDEVOP_map_sbdf 43 > typedef struct { > u32 s; > u8 b; > u8 df; > u16 res; > } sbdf_t; > struct physdev_map_sbdf { > int domain_id; > sbdf_t sbdf; > sbdf_t gsbdf; > }; > > Each domain has a pdev list, which contains the list of all pci devices. > The > pdev structure already has a sbdf information. The arch_pci_dev is > updated to > contain the gsbdf information. (gs- guest segment id) > > Whenever there is trap from guest or an interrupt has to be injected, > the pdev > list is iterated to find the gsbdf. Can you give more background for this section? i.e: - Why do you need this? - How xen will translate the gbdf to a vDeviceID? - Who will call this hypercall? - Why not setting the gsbdf when the device is assigned? Regards, -- Julien Grall