From: jyao1 Date: Thu, 15 Dec 2011 05:34:57 +0000 (+0000) Subject: InstallAcpiTable() - Do not update the checksum in the passed in buffer – the buffer... X-Git-Tag: edk2-stable201903~13747 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=71824dd8dbcf54019de02a8ec112266222afb98e InstallAcpiTable() - Do not update the checksum in the passed in buffer – the buffer is an IN buffer and should be treated as such. signed-off-by: jyao1 reviewed-by: rsun3 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12869 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/IntelFrameworkModulePkg/Universal/Acpi/AcpiSupportDxe/AcpiSupportAcpiSupportProtocol.c b/IntelFrameworkModulePkg/Universal/Acpi/AcpiSupportDxe/AcpiSupportAcpiSupportProtocol.c index f919911ffd..a54cffb169 100644 --- a/IntelFrameworkModulePkg/Universal/Acpi/AcpiSupportDxe/AcpiSupportAcpiSupportProtocol.c +++ b/IntelFrameworkModulePkg/Universal/Acpi/AcpiSupportDxe/AcpiSupportAcpiSupportProtocol.c @@ -390,8 +390,6 @@ InstallAcpiTable ( EFI_ACPI_SUPPORT_PROTOCOL *AcpiSupport; EFI_STATUS Status; VOID *AcpiTableBufferConst; - UINT32 Length; - UINT8 Checksum; // // Check for invalid input parameters @@ -401,16 +399,6 @@ InstallAcpiTable ( return EFI_INVALID_PARAMETER; } - Length = ((EFI_ACPI_COMMON_HEADER *) AcpiTableBuffer)->Length; - Checksum = CalculateCheckSum8 ((UINT8 *)AcpiTableBuffer, Length); - if (Checksum != 0) { - AcpiPlatformChecksum ( - (VOID *)AcpiTableBuffer, - (UINTN)Length, - OFFSET_OF (EFI_ACPI_DESCRIPTION_HEADER, Checksum) - ); - } - // // Get the instance of the ACPI support protocol // @@ -425,7 +413,7 @@ InstallAcpiTable ( Status = AcpiSupport->SetAcpiTable ( AcpiSupport, AcpiTableBufferConst, - FALSE, + TRUE, EFI_ACPI_TABLE_VERSION_1_0B | EFI_ACPI_TABLE_VERSION_2_0 | EFI_ACPI_TABLE_VERSION_3_0, TableKey ); diff --git a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c index b911a346c0..6505de8bed 100644 --- a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c +++ b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c @@ -317,8 +317,6 @@ InstallAcpiTable ( EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance; EFI_STATUS Status; VOID *AcpiTableBufferConst; - UINT32 Length; - UINT8 Checksum; // // Check for invalid input parameters @@ -328,16 +326,6 @@ InstallAcpiTable ( return EFI_INVALID_PARAMETER; } - Length = ((EFI_ACPI_COMMON_HEADER *) AcpiTableBuffer)->Length; - Checksum = CalculateCheckSum8 ((UINT8 *)AcpiTableBuffer, Length); - if (Checksum != 0) { - AcpiPlatformChecksum ( - (VOID *)AcpiTableBuffer, - (UINTN)Length, - OFFSET_OF (EFI_ACPI_DESCRIPTION_HEADER, Checksum) - ); - } - // // Get the instance of the ACPI table protocol // @@ -351,7 +339,7 @@ InstallAcpiTable ( Status = SetAcpiTable ( AcpiTableInstance, AcpiTableBufferConst, - FALSE, + TRUE, EFI_ACPI_TABLE_VERSION_1_0B | EFI_ACPI_TABLE_VERSION_2_0 | EFI_ACPI_TABLE_VERSION_3_0, TableKey );