From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com []) by mx.groups.io with SMTP id smtpd.web12.3524.1588127537741793534 for ; Tue, 28 Apr 2020 19:32:24 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: intel.com, ip: , mailfrom: miki.shindo@intel.com) IronPort-SDR: cRboq+wSrL4tljWJFCIjguYZ2ItNXOcD71RM4hecPf+tX/Tl/yC1hMUeheTEwfLaAB1X/XbNOD D1KbOnKA6YcQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Apr 2020 19:32:24 -0700 IronPort-SDR: sp8XbeTVhvgAITWeV/iSjvxO2P3yQ5q+JdBwbjvQNIrrq5RjEg4PilaVVPsJrYPU9UKy6KnpXm eR/ZpjXbQ0BA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,329,1583222400"; d="scan'208";a="294042178" Received: from mshindo-desk2.amr.corp.intel.com ([10.9.69.166]) by orsmga008.jf.intel.com with ESMTP; 28 Apr 2020 19:32:24 -0700 From: "Miki Shindo" To: devel@edk2.groups.io Cc: Sai Chaganty , Chasel Chiu , Nate DeSimone , Prince Agyeman , Ray Ni Subject: [edk2-platforms:PATCH v4 6/7] CoffeelakeSiliconPkg/DxeAslUpdateLib: Cleans up APIs Date: Tue, 28 Apr 2020 19:32:02 -0700 Message-Id: <20200429023203.37544-7-miki.shindo@intel.com> X-Mailer: git-send-email 2.16.2.windows.1 In-Reply-To: <20200429023203.37544-1-miki.shindo@intel.com> References: <20200429023203.37544-1-miki.shindo@intel.com> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2536 Callers of DxeAslUpdateLib don't have to call InitializeAslUpdateLib() but the library itself runs it internally. This commit deletes the redundant calls in caller side and makes it an internal call. LocateAcpiTableByOemTableId() is unreferenced externally so this commit makes it an internal call. PSS_PACKAGE_LAYOUT and AML_RESRC_TEMP_END_TAG are both unreferenced so they are removed. AslUpdateLib.h is cleaned up accordingly. Signed-off-by: Miki Shindo Cc: Sai Chaganty Cc: Chasel Chiu Cc: Nate DeSimone Cc: Prince Agyeman Cc: Ray Ni --- Silicon/Intel/CoffeelakeSiliconPkg/Library/DxeAslUpdateLib/DxeAslUpdateLib.c | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------- Silicon/Intel/CoffeelakeSiliconPkg/Library/DxeAslUpdateLibNull/DxeAslUpdateLibNull.c | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------ Silicon/Intel/CoffeelakeSiliconPkg/Pch/PchInit/Dxe/PchAcpi.c | 3 --- Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/AslUpdateLib.h | 114 +++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------- 4 files changed, 180 insertions(+), 221 deletions(-) diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Library/DxeAslUpdateLib/DxeAslUpdateLib.c b/Silicon/Intel/CoffeelakeSiliconPkg/Library/DxeAslUpdateLib/DxeAslUpdateLib.c index 04cf66fd2f..f18ca835ad 100644 --- a/Silicon/Intel/CoffeelakeSiliconPkg/Library/DxeAslUpdateLib/DxeAslUpdateLib.c +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Library/DxeAslUpdateLib/DxeAslUpdateLib.c @@ -6,7 +6,7 @@ This library uses the ACPI Support protocol. - Copyright (c) 2019 Intel Corporation. All rights reserved.
+ Copyright (c) 2019 -2020, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -51,6 +51,62 @@ InitializeAslUpdateLib ( return Status; } +/** + This function uses the ACPI SDT protocol to locate an ACPI SSDT table. + + @param[in] TableId - Pointer to an ASCII string containing the OEM Table ID from the ACPI table header + @param[in] TableIdSize - Length of the TableId to match. Table ID are 8 bytes long, this function + will consider it a match if the first TableIdSize bytes match + @param[in, out] Table - Updated with a pointer to the table + @param[in, out] Handle - AcpiSupport protocol table handle for the table found + + @retval EFI_SUCCESS - The function completed successfully. + @retval EFI_NOT_FOUND - Failed to locate AcpiTable. + @retval EFI_NOT_READY - Not ready to locate AcpiTable. +**/ +EFI_STATUS +LocateAcpiTableByOemTableId ( + IN UINT8 *TableId, + IN UINT8 TableIdSize, + IN OUT EFI_ACPI_DESCRIPTION_HEADER **Table, + IN OUT UINTN *Handle + ) +{ + EFI_STATUS Status; + INTN Index; + EFI_ACPI_TABLE_VERSION Version; + EFI_ACPI_DESCRIPTION_HEADER *OrgTable; + + if (mAcpiSdt == NULL) { + InitializeAslUpdateLib (); + if (mAcpiSdt == NULL) { + return EFI_NOT_READY; + } + } + /// + /// Locate table with matching ID + /// + Version = 0; + Index = 0; + do { + Status = mAcpiSdt->GetAcpiTable (Index, (EFI_ACPI_SDT_HEADER **)&OrgTable, &Version, Handle); + if (Status == EFI_NOT_FOUND) { + break; + } + ASSERT_EFI_ERROR (Status); + Index++; + } while (CompareMem (&(OrgTable->OemTableId), TableId, TableIdSize)); + + if (Status != EFI_NOT_FOUND) { + *Table = AllocateCopyPool (OrgTable->Length, OrgTable); + ASSERT (*Table); + } + + /// + /// If we found the table, there will be no error. + /// + return Status; +} /** This procedure will update immediate value assigned to a Name @@ -61,8 +117,10 @@ InitializeAslUpdateLib ( @retval EFI_SUCCESS - The function completed successfully. @retval EFI_NOT_FOUND - Failed to locate AcpiTable. + @retval EFI_NOT_READY - Not ready to locate AcpiTable. **/ EFI_STATUS +EFIAPI UpdateNameAslCode ( IN UINT32 AslSignature, IN VOID *Buffer, @@ -154,6 +212,29 @@ UpdateNameAslCode ( return EFI_NOT_FOUND; } +/** + This procedure will update immediate value assigned to a Name in SSDT table + + @param[in] TableId - Pointer to an ASCII string containing the OEM Table ID from the ACPI table header + @param[in] TableIdSize - Length of the TableId to match. Table ID are 8 bytes long, this function + @param[in] Buffer - source of data to be written over original aml + @param[in] Length - length of data to be overwritten + + @retval EFI_UNSUPPORTED The function is not supported in this library. +**/ +EFI_STATUS +EFIAPI +UpdateSsdtNameAslCode ( + IN UINT8 *TableId, + IN UINT8 TableIdSize, + IN UINT32 AslSignature, + IN VOID *Buffer, + IN UINTN Length + ) +{ + return EFI_UNSUPPORTED; +} + /** This procedure will update the name of ASL Method @@ -163,8 +244,10 @@ UpdateNameAslCode ( @retval EFI_SUCCESS - The function completed successfully. @retval EFI_NOT_FOUND - Failed to locate AcpiTable. + @retval EFI_NOT_READY - Not ready to locate AcpiTable. **/ EFI_STATUS +EFIAPI UpdateMethodAslCode ( IN UINT32 AslSignature, IN VOID *Buffer, @@ -253,11 +336,13 @@ UpdateMethodAslCode ( @param[in] Signature - Pointer to an ASCII string containing the OEM Table ID from the ACPI table header @param[in, out] Table - Updated with a pointer to the table @param[in, out] Handle - AcpiSupport protocol table handle for the table found - @param[in, out] Version - The version of the table desired @retval EFI_SUCCESS - The function completed successfully. + @retval EFI_NOT_FOUND - Failed to locate AcpiTable. + @retval EFI_NOT_READY - Not ready to locate AcpiTable. **/ EFI_STATUS +EFIAPI LocateAcpiTableBySignature ( IN UINT32 Signature, IN OUT EFI_ACPI_DESCRIPTION_HEADER **Table, @@ -300,104 +385,3 @@ LocateAcpiTableBySignature ( /// return Status; } - -/** - This function uses the ACPI SDT protocol to locate an ACPI SSDT table. - - @param[in] TableId - Pointer to an ASCII string containing the OEM Table ID from the ACPI table header - @param[in] TableIdSize - Length of the TableId to match. Table ID are 8 bytes long, this function - will consider it a match if the first TableIdSize bytes match - @param[in, out] Table - Updated with a pointer to the table - @param[in, out] Handle - AcpiSupport protocol table handle for the table found - @param[in, out] Version - See AcpiSupport protocol, GetAcpiTable function for use - - @retval EFI_SUCCESS - The function completed successfully. -**/ -EFI_STATUS -LocateAcpiTableByOemTableId ( - IN UINT8 *TableId, - IN UINT8 TableIdSize, - IN OUT EFI_ACPI_DESCRIPTION_HEADER **Table, - IN OUT UINTN *Handle - ) -{ - EFI_STATUS Status; - INTN Index; - EFI_ACPI_TABLE_VERSION Version; - EFI_ACPI_DESCRIPTION_HEADER *OrgTable; - - if (mAcpiSdt == NULL) { - InitializeAslUpdateLib (); - if (mAcpiSdt == NULL) { - return EFI_NOT_READY; - } - } - /// - /// Locate table with matching ID - /// - Version = 0; - Index = 0; - do { - Status = mAcpiSdt->GetAcpiTable (Index, (EFI_ACPI_SDT_HEADER **)&OrgTable, &Version, Handle); - if (Status == EFI_NOT_FOUND) { - break; - } - ASSERT_EFI_ERROR (Status); - Index++; - } while (CompareMem (&(OrgTable->OemTableId), TableId, TableIdSize)); - - if (Status != EFI_NOT_FOUND) { - *Table = AllocateCopyPool (OrgTable->Length, OrgTable); - ASSERT (*Table); - } - - /// - /// If we found the table, there will be no error. - /// - return Status; -} - -/** - This function calculates and updates an UINT8 checksum. - - @param[in] Buffer Pointer to buffer to checksum - @param[in] Size Number of bytes to checksum - @param[in] ChecksumOffset Offset to place the checksum result in - - @retval EFI_SUCCESS The function completed successfully. -**/ -EFI_STATUS -AcpiChecksum ( - IN VOID *Buffer, - IN UINTN Size, - IN UINTN ChecksumOffset - ) -{ - UINT8 Sum; - UINT8 *Ptr; - - Sum = 0; - /// - /// Initialize pointer - /// - Ptr = Buffer; - - /// - /// set checksum to 0 first - /// - Ptr[ChecksumOffset] = 0; - - /// - /// add all content of buffer - /// - while (Size--) { - Sum = (UINT8) (Sum + (*Ptr++)); - } - /// - /// set checksum - /// - Ptr = Buffer; - Ptr[ChecksumOffset] = (UINT8) (0xff - Sum + 1); - - return EFI_SUCCESS; -} diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Library/DxeAslUpdateLibNull/DxeAslUpdateLibNull.c b/Silicon/Intel/CoffeelakeSiliconPkg/Library/DxeAslUpdateLibNull/DxeAslUpdateLibNull.c index a7ce92b7c3..63e232f04b 100644 --- a/Silicon/Intel/CoffeelakeSiliconPkg/Library/DxeAslUpdateLibNull/DxeAslUpdateLibNull.c +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Library/DxeAslUpdateLibNull/DxeAslUpdateLibNull.c @@ -6,7 +6,7 @@ This library uses the ACPI Support protocol. - Copyright (c) 2019 Intel Corporation. All rights reserved.
+ Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -40,6 +40,27 @@ InitializeAslUpdateLib ( return EFI_SUCCESS; } +/** + This function uses the ACPI SDT protocol to locate an ACPI SSDT table. + + @param[in] TableId - Pointer to an ASCII string containing the OEM Table ID from the ACPI table header + @param[in] TableIdSize - Length of the TableId to match. Table ID are 8 bytes long, this function + will consider it a match if the first TableIdSize bytes match + @param[in, out] Table - Updated with a pointer to the table + @param[in, out] Handle - AcpiSupport protocol table handle for the table found + + @retval EFI_SUCCESS - The function completed successfully. +**/ +EFI_STATUS +LocateAcpiTableByOemTableId ( + IN UINT8 *TableId, + IN UINT8 TableIdSize, + IN OUT EFI_ACPI_DESCRIPTION_HEADER **Table, + IN OUT UINTN *Handle + ) +{ + return EFI_SUCCESS; +} /** This procedure will update immediate value assigned to a Name @@ -51,6 +72,7 @@ InitializeAslUpdateLib ( @retval EFI_SUCCESS - The function completed successfully. **/ EFI_STATUS +EFIAPI UpdateNameAslCode ( IN UINT32 AslSignature, IN VOID *Buffer, @@ -60,66 +82,66 @@ UpdateNameAslCode ( return EFI_SUCCESS; } - /** - This function uses the ACPI SDT protocol to locate an ACPI table. - It is really only useful for finding tables that only have a single instance, - e.g. FADT, FACS, MADT, etc. It is not good for locating SSDT, etc. + This procedure will update immediate value assigned to a Name in SSDT table - @param[in] Signature - Pointer to an ASCII string containing the OEM Table ID from the ACPI table header - @param[in, out] Table - Updated with a pointer to the table - @param[in, out] Handle - AcpiSupport protocol table handle for the table found - @param[in, out] Version - The version of the table desired + @param[in] TableId - Pointer to an ASCII string containing the OEM Table ID from the ACPI table header + @param[in] TableIdSize - Length of the TableId to match. Table ID are 8 bytes long, this function + @param[in] Buffer - source of data to be written over original aml + @param[in] Length - length of data to be overwritten - @retval EFI_SUCCESS - The function completed successfully. + @retval EFI_SUCCESS - The function completed successfully. **/ EFI_STATUS -LocateAcpiTableBySignature ( - IN UINT32 Signature, - IN OUT EFI_ACPI_DESCRIPTION_HEADER **Table, - IN OUT UINTN *Handle +EFIAPI +UpdateSsdtNameAslCode ( + IN UINT8 *TableId, + IN UINT8 TableIdSize, + IN UINT32 AslSignature, + IN VOID *Buffer, + IN UINTN Length ) { return EFI_SUCCESS; } /** - This function uses the ACPI SDT protocol to locate an ACPI SSDT table. + This procedure will update the name of ASL Method - @param[in] TableId - Pointer to an ASCII string containing the OEM Table ID from the ACPI table header - @param[in] TableIdSize - Length of the TableId to match. Table ID are 8 bytes long, this function - will consider it a match if the first TableIdSize bytes match - @param[in, out] Table - Updated with a pointer to the table - @param[in, out] Handle - AcpiSupport protocol table handle for the table found - @param[in, out] Version - See AcpiSupport protocol, GetAcpiTable function for use + @param[in] AslSignature - The signature of Operation Region that we want to update. + @param[in] Buffer - source of data to be written over original aml + @param[in] Length - length of data to be overwritten @retval EFI_SUCCESS - The function completed successfully. **/ EFI_STATUS -LocateAcpiTableByOemTableId ( - IN UINT8 *TableId, - IN UINT8 TableIdSize, - IN OUT EFI_ACPI_DESCRIPTION_HEADER **Table, - IN OUT UINTN *Handle +EFIAPI +UpdateMethodAslCode ( + IN UINT32 AslSignature, + IN VOID *Buffer, + IN UINTN Length ) { return EFI_SUCCESS; } /** - This function calculates and updates an UINT8 checksum. - - @param[in] Buffer Pointer to buffer to checksum - @param[in] Size Number of bytes to checksum - @param[in] ChecksumOffset Offset to place the checksum result in + This function uses the ACPI SDT protocol to locate an ACPI table. + It is really only useful for finding tables that only have a single instance, + e.g. FADT, FACS, MADT, etc. It is not good for locating SSDT, etc. - @retval EFI_SUCCESS The function completed successfully. + @param[in] Signature - Pointer to an ASCII string containing the OEM Table ID from the ACPI table header + @param[in, out] Table - Updated with a pointer to the table + @param[in, out] Handle - AcpiSupport protocol table handle for the table found +s + @retval EFI_SUCCESS - The function completed successfully. **/ EFI_STATUS -AcpiChecksum ( - IN VOID *Buffer, - IN UINTN Size, - IN UINTN ChecksumOffset +EFIAPI +LocateAcpiTableBySignature ( + IN UINT32 Signature, + IN OUT EFI_ACPI_DESCRIPTION_HEADER **Table, + IN OUT UINTN *Handle ) { return EFI_SUCCESS; diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/PchInit/Dxe/PchAcpi.c b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/PchInit/Dxe/PchAcpi.c index 12f1a7f4fe..807cdb92f7 100644 --- a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/PchInit/Dxe/PchAcpi.c +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/PchInit/Dxe/PchAcpi.c @@ -438,9 +438,6 @@ PatchPchNvsAreaAddress ( UINT32 Address; UINT16 Length; - Status = InitializeAslUpdateLib (); - ASSERT_EFI_ERROR (Status); - Address = (UINT32) (UINTN) mPchNvsAreaProtocol.Area; Length = (UINT16) sizeof (PCH_NVS_AREA); DEBUG ((DEBUG_INFO, "PatchPchNvsAreaAddress: PCH NVS Address %x Length %x\n", Address, Length)); diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/AslUpdateLib.h b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/AslUpdateLib.h index 39baa6c03a..1a0ec4fa16 100644 --- a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/AslUpdateLib.h +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/AslUpdateLib.h @@ -5,7 +5,7 @@ Make sure you meet the requirements for the library (protocol dependencies, use restrictions, etc). - Copyright (c) 2019 Intel Corporation. All rights reserved.
+ Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -16,61 +16,50 @@ // // Include files // +#include #include #include #include -// -// AML parsing definitions -// -#define AML_RESRC_TEMP_END_TAG 0x0079 - -// -// ASL PSS package structure layout -// -#pragma pack (1) -typedef struct { - UINT8 NameOp; // 12h ;First opcode is a NameOp. - UINT8 PackageLead; // 20h ;First opcode is a NameOp. - UINT8 NumEntries; // 06h ;First opcode is a NameOp. - UINT8 DwordPrefix1; // 0Ch - UINT32 CoreFrequency; // 00h - UINT8 DwordPrefix2; // 0Ch - UINT32 Power; // 00h - UINT8 DwordPrefix3; // 0Ch - UINT32 TransLatency; // 00h - UINT8 DwordPrefix4; // 0Ch - UINT32 BmLatency; // 00h - UINT8 DwordPrefix5; // 0Ch - UINT32 Control; // 00h - UINT8 DwordPrefix6; // 0Ch - UINT32 Status; // 00h -} PSS_PACKAGE_LAYOUT; -#pragma pack() - /** - Initialize the ASL update library state. - This must be called prior to invoking other library functions. + This procedure will update immediate value assigned to a Name + @param[in] AslSignature The signature of Operation Region that we want to update. + @param[in] Buffer source of data to be written over original aml + @param[in] Length length of data to be overwritten @retval EFI_SUCCESS The function completed successfully. + @retval EFI_NOT_FOUND Failed to locate AcpiTable. + @retval EFI_NOT_READY Not ready to locate AcpiTable. + @retval EFI_UNSUPPORTED The function is not supported in this library. **/ EFI_STATUS -InitializeAslUpdateLib ( - VOID +EFIAPI +UpdateNameAslCode( + IN UINT32 AslSignature, + IN VOID *Buffer, + IN UINTN Length ); /** - This procedure will update immediate value assigned to a Name + This procedure will update the name of ASL Method - @param[in] AslSignature The signature of Operation Region that we want to update. - @param[in] Buffer source of data to be written over original aml - @param[in] Length length of data to be overwritten + @param[in] TableId - Pointer to an ASCII string containing the OEM Table ID from the ACPI table header + @param[in] TableIdSize - Length of the TableId to match. Table ID are 8 bytes long, this function + @param[in] AslSignature - The signature of Operation Region that we want to update. + @param[in] Buffer - source of data to be written over original aml + @param[in] Length - length of data to be overwritten - @retval EFI_SUCCESS The function completed successfully. + @retval EFI_SUCCESS - The function completed successfully. + @retval EFI_NOT_FOUND - Failed to locate AcpiTable. + @retval EFI_NOT_READY - Not ready to locate AcpiTable. + @retval EFI_UNSUPPORTED - The function is not supported in this library. **/ EFI_STATUS -UpdateNameAslCode( +EFIAPI +UpdateSsdtNameAslCode ( + IN UINT8 *TableId, + IN UINT8 TableIdSize, IN UINT32 AslSignature, IN VOID *Buffer, IN UINTN Length @@ -85,8 +74,11 @@ UpdateNameAslCode( @retval EFI_SUCCESS - The function completed successfully. @retval EFI_NOT_FOUND - Failed to locate AcpiTable. + @retval EFI_NOT_READY - Not ready to locate AcpiTable. + @retval EFI_UNSUPPORTED - The function is not supported in this library. **/ EFI_STATUS +EFIAPI UpdateMethodAslCode ( IN UINT32 AslSignature, IN VOID *Buffer, @@ -103,55 +95,19 @@ UpdateMethodAslCode ( @param[in] Signature Pointer to an ASCII string containing the Signature to match @param[in, out] Table Updated with a pointer to the table @param[in, out] Handle AcpiSupport protocol table handle for the table found - @param[in, out] Version On input, the version of the table desired, - on output, the versions the table belongs to @see AcpiSupport protocol for details @retval EFI_SUCCESS The function completed successfully. + @retval EFI_NOT_FOUND Failed to locate AcpiTable. + @retval EFI_NOT_READY Not ready to locate AcpiTable. + @retval EFI_UNSUPPORTED The function is not supported in this library. **/ EFI_STATUS +EFIAPI LocateAcpiTableBySignature ( IN UINT32 Signature, IN OUT EFI_ACPI_DESCRIPTION_HEADER **Table, IN OUT UINTN *Handle ); -/** - This function uses the ACPI support protocol to locate an ACPI SSDT table. - The table is located by searching for a matching OEM Table ID field. - Partial match searches are supported via the TableIdSize parameter. - - @param[in] TableId Pointer to an ASCII string containing the OEM Table ID from the ACPI table header - @param[in] TableIdSize Length of the TableId to match. Table ID are 8 bytes long, this function - will consider it a match if the first TableIdSize bytes match - @param[in, out] Table Updated with a pointer to the table - @param[in, out] Handle AcpiSupport protocol table handle for the table found - @param[in, out] Version See AcpiSupport protocol, GetAcpiTable function for use - - @retval EFI_SUCCESS The function completed successfully. -**/ -EFI_STATUS -LocateAcpiTableByOemTableId ( - IN UINT8 *TableId, - IN UINT8 TableIdSize, - IN OUT EFI_ACPI_DESCRIPTION_HEADER **Table, - IN OUT UINTN *Handle - ); - -/** - This function calculates and updates an UINT8 checksum. - - @param[in] Buffer Pointer to buffer to checksum - @param[in] Size Number of bytes to checksum - @param[in] ChecksumOffset Offset to place the checksum result in - - @retval EFI_SUCCESS The function completed successfully. -**/ -EFI_STATUS -AcpiChecksum ( - IN VOID *Buffer, - IN UINTN Size, - IN UINTN ChecksumOffset - ); - #endif -- 2.16.2.windows.1