]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Universal/Acpi/AcpiSupportDxe/AcpiSupportAcpiSupportProtocol.c
InstallAcpiTable() - Do not update the checksum in the passed in buffer – the buffer...
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / Acpi / AcpiSupportDxe / AcpiSupportAcpiSupportProtocol.c
index 1a28f0293347c45d57d3020f8e81452095285a80..a54cffb169fb844e495b9627823ea3a982a4e65c 100644 (file)
@@ -390,8 +390,6 @@ InstallAcpiTable (
   EFI_ACPI_SUPPORT_PROTOCOL *AcpiSupport;\r
   EFI_STATUS                Status;\r
   VOID                      *AcpiTableBufferConst;\r
-  UINT32                    Length;\r
-  UINT8                     Checksum;\r
 \r
   //\r
   // Check for invalid input parameters\r
@@ -401,16 +399,6 @@ InstallAcpiTable (
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-  Length = ((EFI_ACPI_COMMON_HEADER *) AcpiTableBuffer)->Length;\r
-  Checksum = CalculateCheckSum8 ((UINT8 *)AcpiTableBuffer, Length);\r
-  if (Checksum != 0) {\r
-    AcpiPlatformChecksum (\r
-      (VOID *)AcpiTableBuffer,\r
-      (UINTN)Length,\r
-      OFFSET_OF (EFI_ACPI_DESCRIPTION_HEADER, Checksum)\r
-      );\r
-  }\r
-\r
   //\r
   // Get the instance of the ACPI support protocol\r
   //\r
@@ -425,7 +413,7 @@ InstallAcpiTable (
   Status = AcpiSupport->SetAcpiTable (\r
                           AcpiSupport,\r
                           AcpiTableBufferConst,\r
-                          FALSE,\r
+                          TRUE,\r
                           EFI_ACPI_TABLE_VERSION_1_0B | EFI_ACPI_TABLE_VERSION_2_0 | EFI_ACPI_TABLE_VERSION_3_0,\r
                           TableKey\r
                           );\r
@@ -789,62 +777,61 @@ AddTableToList (
       //\r
       // Update pointers in FADT.  If tables don't exist this will put NULL pointers there.\r
       //\r
-      if (AcpiSupportInstance->Fadt3 != NULL) {\r
-        AcpiSupportInstance->Fadt3->FirmwareCtrl  = (UINT32) (UINTN) AcpiSupportInstance->Facs3;\r
-        Buffer64 = (UINT64) (UINTN) AcpiSupportInstance->Facs3;\r
-        CopyMem (\r
-          &AcpiSupportInstance->Fadt3->XFirmwareCtrl,\r
-          &Buffer64,\r
-          sizeof (UINT64)\r
-          );\r
-        AcpiSupportInstance->Fadt3->Dsdt  = (UINT32) (UINTN) AcpiSupportInstance->Dsdt3;\r
-        Buffer64                          = (UINT64) (UINTN) AcpiSupportInstance->Dsdt3;\r
-        CopyMem (\r
-          &AcpiSupportInstance->Fadt3->XDsdt,\r
-          &Buffer64,\r
-          sizeof (UINT64)\r
-          );\r
+      AcpiSupportInstance->Fadt3->FirmwareCtrl  = (UINT32) (UINTN) AcpiSupportInstance->Facs3;\r
+      Buffer64 = (UINT64) (UINTN) AcpiSupportInstance->Facs3;\r
+      CopyMem (\r
+        &AcpiSupportInstance->Fadt3->XFirmwareCtrl,\r
+        &Buffer64,\r
+        sizeof (UINT64)\r
+        );\r
+      AcpiSupportInstance->Fadt3->Dsdt  = (UINT32) (UINTN) AcpiSupportInstance->Dsdt3;\r
+      Buffer64                          = (UINT64) (UINTN) AcpiSupportInstance->Dsdt3;\r
+      CopyMem (\r
+        &AcpiSupportInstance->Fadt3->XDsdt,\r
+        &Buffer64,\r
+        sizeof (UINT64)\r
+        );\r
 \r
-        //\r
-        // RSDP OEM information is updated to match the FADT OEM information\r
-        //\r
-        CopyMem (\r
-          &AcpiSupportInstance->Rsdp3->OemId,\r
-          &AcpiSupportInstance->Fadt3->Header.OemId,\r
-          6\r
-          );\r
+      //\r
+      // RSDP OEM information is updated to match the FADT OEM information\r
+      //\r
+      CopyMem (\r
+        &AcpiSupportInstance->Rsdp3->OemId,\r
+        &AcpiSupportInstance->Fadt3->Header.OemId,\r
+        6\r
+        );\r
 \r
-        //\r
-        // RSDT OEM information is updated to match FADT OEM information.\r
-        //\r
-        CopyMem (\r
-          &AcpiSupportInstance->Rsdt3->OemId,\r
-          &AcpiSupportInstance->Fadt3->Header.OemId,\r
-          6\r
-          );\r
-        CopyMem (\r
-          &AcpiSupportInstance->Rsdt3->OemTableId,\r
-          &AcpiSupportInstance->Fadt3->Header.OemTableId,\r
-          sizeof (UINT64)\r
-          );\r
-        AcpiSupportInstance->Rsdt3->OemRevision = AcpiSupportInstance->Fadt3->Header.OemRevision;\r
+      //\r
+      // RSDT OEM information is updated to match FADT OEM information.\r
+      //\r
+      CopyMem (\r
+        &AcpiSupportInstance->Rsdt3->OemId,\r
+        &AcpiSupportInstance->Fadt3->Header.OemId,\r
+        6\r
+        );\r
+      CopyMem (\r
+        &AcpiSupportInstance->Rsdt3->OemTableId,\r
+        &AcpiSupportInstance->Fadt3->Header.OemTableId,\r
+        sizeof (UINT64)\r
+        );\r
+      AcpiSupportInstance->Rsdt3->OemRevision = AcpiSupportInstance->Fadt3->Header.OemRevision;\r
+\r
+      //\r
+      // XSDT OEM information is updated to match FADT OEM information.\r
+      //\r
+      CopyMem (\r
+        &AcpiSupportInstance->Xsdt->OemId,\r
+        &AcpiSupportInstance->Fadt3->Header.OemId,\r
+        6\r
+        );\r
+      CopyMem (\r
+        &AcpiSupportInstance->Xsdt->OemTableId,\r
+        &AcpiSupportInstance->Fadt3->Header.OemTableId,\r
+        sizeof (UINT64)\r
+        );\r
+      AcpiSupportInstance->Xsdt->OemRevision = AcpiSupportInstance->Fadt3->Header.OemRevision;\r
+    }\r
 \r
-        //\r
-        // XSDT OEM information is updated to match FADT OEM information.\r
-        //\r
-        CopyMem (\r
-          &AcpiSupportInstance->Xsdt->OemId,\r
-          &AcpiSupportInstance->Fadt3->Header.OemId,\r
-          6\r
-          );\r
-        CopyMem (\r
-          &AcpiSupportInstance->Xsdt->OemTableId,\r
-          &AcpiSupportInstance->Fadt3->Header.OemTableId,\r
-          sizeof (UINT64)\r
-          );\r
-        AcpiSupportInstance->Xsdt->OemRevision = AcpiSupportInstance->Fadt3->Header.OemRevision;\r
-      }\r
-    }    \r
     //\r
     // Checksum the table\r
     //\r