Re: [PATCH v1] iommu/amd: Recognize Hygon southbridge IOAPIC for interrupt remapping

From: Wei Wang

Date: Wed Mar 25 2026 - 07:27:00 EST


On 3/25/26 6:54 PM, Pu Wen wrote:
On 2026/3/25 17:39, Wei Wang wrote:
Hygon systems use the AMD IOMMU driver but newer Hygon platforms report
the southbridge IOAPIC at a different PCI device (00:0b.0), whereas AMD
systems use device 00:14.0.
......
+/* SB IOAPIC device IDs */
+#define IOAPIC_SB_DEVID_AMD    ((0x00 << 8) | PCI_DEVFN(0x14, 0))
+#define IOAPIC_SB_DEVID_HYGON    ((0x00 << 8) | PCI_DEVFN(0x0b, 0))
These macro definitions is not accurate, old Hygon processor also use
device 0x14, as you mentioned device 0xb is only for 'newer Hygon platforms'.


Yes, I noticed that. I mentioned this in the commit log:

Older Hygon systems still use the original AMD device ID (00:14.0) while
newer systems use 00:0b.0, so a strict CPU vendor check is insufficient.

That is also why the code uses the logical OR:
if (devid == IOAPIC_SB_DEVID_AMD || devid == IOAPIC_SB_DEVID_HYGON)