Index: /trunk/src/VBox/Devices/Bus/DevIommuAmd.cpp
===================================================================
--- /trunk/src/VBox/Devices/Bus/DevIommuAmd.cpp	(revision 83598)
+++ /trunk/src/VBox/Devices/Bus/DevIommuAmd.cpp	(revision 83599)
@@ -2871,4 +2871,5 @@
 
     /* MSI Capability Header register. */
+#if 0
     PDMPciDevSetDWord(pPciDev, offMsiCapHdr,
                         RT_BF_MAKE(IOMMU_BF_MSI_CAPHDR_CAP_ID,       0x5)             /* RO - Capability ID. */
@@ -2878,4 +2879,13 @@
                       | RT_BF_MAKE(IOMMU_BF_MSI_CAPHDR_MULTMESS_EN,  0x0)             /* RW - MSI multi-message enable */
                       | RT_BF_MAKE(IOMMU_BF_MSI_CAPHDR_64BIT_EN,     0x1));           /* RO - MSI 64-bit enable */
+#else
+    PDMMSIREG MsiReg;
+    RT_ZERO(MsiReg);
+    MsiReg.cMsiVectors    = 1;
+    MsiReg.iMsiCapOffset  = offMsiCapHdr;
+    MsiReg.iMsiNextOffset = offMsiMapCapHdr;
+    rc = PDMDevHlpPCIRegisterMsi(pDevIns, &MsiReg);
+    AssertRCReturn(rc, rc);
+#endif
 
     /* MSI Address Lo. */
@@ -2888,4 +2898,5 @@
     PDMPciDevSetDWord(pPciDev, offMsiData, 0);                              /* RW - MSI data. */
 
+    /** @todo IOMMU: I don't know if we can support this, disable later if required. */
     /* MSI Mapping Capability Header register. */
     PDMPciDevSetDWord(pPciDev, offMsiMapCapHdr,
