Hi Anthony, On 2024/12/12 23:38, Anthony PERARD wrote: > On Tue, Dec 10, 2024 at 07:17:30AM +0000, Chen, Jiqian wrote: >> On 2024/11/19 00:05, Anthony PERARD wrote: >>> On Wed, Nov 06, 2024 at 02:14:18PM +0800, Jiqian Chen wrote: >>>> In PVH dom0, when passthrough a device to domU, QEMU code >>>> xen_pt_realize->xc_physdev_map_pirq wants to use gsi, but in current codes >>>> the gsi number is got from file /sys/bus/pci/devices/<sbdf>/irq, that is >>>> wrong, because irq is not equal with gsi, they are in different spaces, so >>>> pirq mapping fails. >>>> >>>> To solve above problem, use new interface of Xen, xc_pcidev_get_gsi to get >>>> gsi and use xc_physdev_map_pirq_gsi to map pirq when dom0 is PVH. >>>> >>>> Signed-off-by: Jiqian Chen <jiqian.c...@amd.com> >>>> Signed-off-by: Huang Rui <ray.hu...@amd.com> >>>> Signed-off-by: Jiqian Chen <jiqian.c...@amd.com> >>> >>> Acked-by: Anthony PERARD <anth...@xenproject.org> >>> >>> But, this following change probably needs an ack from PCI maintaners, >>> CCed. >> As PCI maintainers didn't response for weeks, >> can I just move the definition of the macro back to xen_pt.c file ? > > No, that's fine. I should be able to send a pull-request with this > change without too much trouble. No meaning to urge you. May I know the status of your pull-request?
> > Cheers, > >>>> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h >>>> index eb26cac81098..07805aa8a5f3 100644 >>>> --- a/include/hw/pci/pci.h >>>> +++ b/include/hw/pci/pci.h >>>> @@ -23,6 +23,10 @@ extern bool pci_available; >>>> #define PCI_SLOT_MAX 32 >>>> #define PCI_FUNC_MAX 8 >>>> >>>> +#define PCI_SBDF(seg, bus, dev, func) \ >>>> + ((((uint32_t)(seg)) << 16) | \ >>>> + (PCI_BUILD_BDF(bus, PCI_DEVFN(dev, func)))) >>>> + >>>> /* Class, Vendor and Device IDs from Linux's pci_ids.h */ >>>> #include "hw/pci/pci_ids.h" > -- Best regards, Jiqian Chen.