]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.c
MdeModulePkg/PciBus: Add IOMMU support.
[mirror_edk2.git] / MdeModulePkg / Bus / Pci / PciBusDxe / PciBus.c
index f3be47a496dbb81048e097a3abfe02ede3e007c9..950cacc1203c28e10e5867c28eefc0280f2f4082 100644 (file)
@@ -42,6 +42,7 @@ UINT64                                        gAllZero             = 0;
 \r
 EFI_PCI_PLATFORM_PROTOCOL                     *gPciPlatformProtocol;\r
 EFI_PCI_OVERRIDE_PROTOCOL                     *gPciOverrideProtocol;\r
+EDKII_IOMMU_PROTOCOL                          *mIoMmuProtocol;\r
 \r
 \r
 GLOBAL_REMOVE_IF_UNREFERENCED EFI_PCI_HOTPLUG_REQUEST_PROTOCOL mPciHotPlugRequest = {\r
@@ -284,6 +285,14 @@ PciBusDriverBindingStart (
           );\r
   }  \r
 \r
+  if (mIoMmuProtocol == NULL) {\r
+    gBS->LocateProtocol (\r
+          &gEdkiiIoMmuProtocolGuid,\r
+          NULL,\r
+          (VOID **) &mIoMmuProtocol\r
+          );\r
+  }\r
+\r
   if (PcdGetBool (PcdPciDisableBusEnumeration)) {\r
     gFullEnumeration = FALSE;\r
   } else {\r