[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 09/28] ARM: GICv3 ITS: map device and LPIs to the ITS on physdev_op hypercall
Hi Andre, > >From: Xen-devel <xen-devel-bounces@xxxxxxxxxxxxx> on behalf of Andre Przywara ><andre.przywara@xxxxxxx> >Sent: Tuesday, January 31, 2017 12:01 AM >To: Stefano Stabellini; Julien Grall >Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx; Vijay Kilari >Subject: [Xen-devel] [PATCH 09/28] ARM: GICv3 ITS: map device and LPIs to the >ITS on physdev_op hypercall > [snip] > > > int do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg) > { >+ struct physdev_manage_pci manage; >+ u32 devid; >+ int ret; >+ >+ switch (cmd) >+ { You might alos need to PHYSDEVOP_pci_device_add hypercall also. >+ case PHYSDEVOP_manage_pci_add: >+ case PHYSDEVOP_manage_pci_remove: >+ if ( copy_from_guest(&manage, arg, 1) != 0 ) >+ return -EFAULT; >+ >+ devid = manage.bus << 8 | manage.devfn; >+ /* Allocate an ITS device table with space for 32 MSIs */ >+ ret = gicv3_its_map_guest_device(hardware_domain, devid, devid, 5, >+ cmd == PHYSDEVOP_manage_pci_add); Based on 4.9 kernel, is the deivce ID plain sBDF or it is returnedfrom of_msi_map_rid / iort_msi_map_rid ? I believe there needs to be set this as requirement on the calle of hypercall. As sbdf and deviceID returned from msi_map calls might not be same. >+ >+ return ret; >+ } >+ > gdprintk(XENLOG_DEBUG, "PHYSDEVOP cmd=%d: not implemented\n", cmd); > return -ENOSYS; > } >-- >2.9.0 > -Manish _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |