Hi,
I pass through a PCIe card to guest, and test the msi/msix interrupt time is longer than host abous 15~20us. Then executes "cat /proc/interrupt|grep vfio", I can see the interrupt in the host. So I think the IOMMU's hardware post interrupt is not enabled, host's software inject the interrupt to guest.
I look the document https://www.amd.com/system/files/TechDocs/48882_3.07_PUB.pdf, it says
"3.1 PCI Resources
The IOMMU is implemented as an independent PCI Function. Any PCI Function containing an
IOMMU capability block cannot be used for any purpose other than containing an IOMMU. A PCI
Function containing an IOMMU capability block does not include PCI BAR registers. "
Is it means our card must have an IOMMU capability in PCIe function to use post interrupt remap? But our card do not have such a cap.
The system running is as below:
OS:Ubuntu 18.04, linux kernel is 5.4
CPU: AMD EPYC 7302P 16-Core Processor
The grub boot command have add "amd_iommu=on"
The vAPIC is enabled because:
"dmesg|grep vAPIC
[ 2.918989] PPR X2APIC NX GT IA GA PC GA_vAPIC
[ 2.918995] PPR X2APIC NX GT IA GA PC GA_vAPIC"