]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c
MdeModulePkg:
[mirror_edk2.git] / MdeModulePkg / Universal / Acpi / AcpiTableDxe / AcpiTableProtocol.c
index 23117b1ded24847a05e792f56dfaf0b4fdd9c2e9..c551d0bd5d2e3ad752edf6b0ad75fb5a7f2aa493 100644 (file)
@@ -357,6 +357,19 @@ InstallAcpiTable (
   }\r
   FreePool (AcpiTableBufferConst);\r
   \r
+  //\r
+  // Add a new table successfully, notify registed callback\r
+  //\r
+  if (FeaturePcdGet (PcdInstallAcpiSdtProtocol)) {\r
+    if (!EFI_ERROR (Status)) {\r
+      SdtNotifyAcpiList (\r
+        AcpiTableInstance,\r
+        EFI_ACPI_TABLE_VERSION_1_0B | EFI_ACPI_TABLE_VERSION_2_0 | EFI_ACPI_TABLE_VERSION_3_0,\r
+        *TableKey\r
+        );\r
+    }\r
+  }\r
+\r
   return Status;\r
 }\r
 \r
@@ -1707,6 +1720,11 @@ AcpiTableAcpiTableConstructor (
 \r
   AcpiTableInstance->AcpiTableProtocol.InstallAcpiTable   = InstallAcpiTable;\r
   AcpiTableInstance->AcpiTableProtocol.UninstallAcpiTable = UninstallAcpiTable;\r
+\r
+  if (FeaturePcdGet (PcdInstallAcpiSdtProtocol)) {\r
+    SdtAcpiTableAcpiSdtConstructor (AcpiTableInstance);\r
+  }\r
+\r
   //\r
   // Create RSDP, RSDT, XSDT structures\r
   // Allocate all buffers\r