]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmarAcpiTable.c
IntelSiliconPkg IntelVTdDxe: Use ACPI table event to get DMAR table
[mirror_edk2.git] / IntelSiliconPkg / Feature / VTd / IntelVTdDxe / DmarAcpiTable.c
index 39b70a134e1e8a41a5acd88377c5f73d5fa6fa73..81dec109675bf0543c253ef04d7a73b81c84c80c 100644 (file)
@@ -989,6 +989,10 @@ GetDmarAcpiTable (
   VOID                              *AcpiTable;\r
   EFI_STATUS                        Status;\r
 \r
+  if (mAcpiDmarTable != NULL) {\r
+    return EFI_SUCCESS;\r
+  }\r
+\r
   AcpiTable = NULL;\r
   Status = EfiGetSystemConfigurationTable (\r
              &gEfiAcpi20TableGuid,\r
@@ -1006,10 +1010,10 @@ GetDmarAcpiTable (
                       (EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER *)AcpiTable,\r
                       EFI_ACPI_4_0_DMA_REMAPPING_TABLE_SIGNATURE\r
                       );\r
-  DEBUG ((DEBUG_INFO,"DMAR Table - 0x%08x\n", mAcpiDmarTable));\r
   if (mAcpiDmarTable == NULL) {\r
-    return EFI_UNSUPPORTED;\r
+    return EFI_NOT_FOUND;\r
   }\r
+  DEBUG ((DEBUG_INFO,"DMAR Table - 0x%08x\n", mAcpiDmarTable));\r
   VtdDumpDmarTable();\r
 \r
   return EFI_SUCCESS;\r