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.

Reply via email to