TianoCore EDK2 master
Loading...
Searching...
No Matches
AcpiLib.c File Reference

Go to the source code of this file.

Functions

EFI_STATUS LocateAndInstallAcpiFromFvConditional (IN CONST EFI_GUID *AcpiFile, IN EFI_LOCATE_ACPI_CHECK CheckAcpiTableFunction)
 
EFI_STATUS LocateAndInstallAcpiFromFv (IN CONST EFI_GUID *AcpiFile)
 
EFI_STATUS EFIAPI AcpiUpdateChecksum (IN OUT UINT8 *Buffer, IN UINTN Size)
 
EFI_STATUS EFIAPI AcpiLocateTableBySignature (IN EFI_ACPI_SDT_PROTOCOL *AcpiSdtProtocol, IN UINT32 TableSignature, IN OUT UINTN *Index, OUT EFI_ACPI_DESCRIPTION_HEADER **Table, OUT UINTN *TableKey)
 
EFI_STATUS EFIAPI AcpiAmlObjectUpdateInteger (IN EFI_ACPI_SDT_PROTOCOL *AcpiSdtProtocol, IN EFI_ACPI_HANDLE TableHandle, IN CHAR8 *AsciiObjectPath, IN UINTN Value)
 

Detailed Description

Copyright (c) 2014-2015, ARM Limited. All rights reserved. Copyright (c) 2021, Ampere Computing LLC. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file AcpiLib.c.

Function Documentation

◆ AcpiAmlObjectUpdateInteger()

EFI_STATUS EFIAPI AcpiAmlObjectUpdateInteger ( IN EFI_ACPI_SDT_PROTOCOL AcpiSdtProtocol,
IN EFI_ACPI_HANDLE  TableHandle,
IN CHAR8 *  AsciiObjectPath,
IN UINTN  Value 
)

This function updates the integer value of an AML Object.

Parameters
AcpiTableSdtProtocolPointer to ACPI SDT protocol.
TableHandlePoints to the table representing the starting point for the object path search.
AsciiObjectPathPointer to the ACPI path of the object being updated.
ValueNew value to write to the object.
Returns
EFI_SUCCESS The function completed successfully.
EFI_INVALID_PARAMETER At least one of parameters is invalid or the data type of the ACPI object is not an integer value.
Return values
EFI_NOT_FOUNDThe object is not found with the given path.

Definition at line 308 of file AcpiLib.c.

◆ AcpiLocateTableBySignature()

EFI_STATUS EFIAPI AcpiLocateTableBySignature ( IN EFI_ACPI_SDT_PROTOCOL AcpiSdtProtocol,
IN UINT32  TableSignature,
IN OUT UINTN Index,
OUT EFI_ACPI_DESCRIPTION_HEADER **  Table,
OUT UINTN TableKey 
)

This function uses the ACPI SDT protocol to search an ACPI table with a given signature.

Parameters
AcpiTableSdtProtocolPointer to ACPI SDT protocol.
TableSignatureACPI table signature.
IndexThe zero-based index of the table where to search the table. The index will be updated to the next instance if the table is found with the matched TableSignature.
TablePointer to the table.
TableKeyPointer to the table key.
Returns
EFI_SUCCESS The function completed successfully.
EFI_INVALID_PARAMETER At least one of parameters is invalid.
Return values
EFI_NOT_FOUNDThe requested index is too large and a table was not found.

Definition at line 243 of file AcpiLib.c.

◆ AcpiUpdateChecksum()

EFI_STATUS EFIAPI AcpiUpdateChecksum ( IN OUT UINT8 *  Buffer,
IN UINTN  Size 
)

This function calculates and updates a UINT8 checksum in an ACPI description table header.

Parameters
BufferPointer to buffer to checksum
SizeNumber of bytes to checksum
Return values
EFI_SUCCESSThe function completed successfully.
EFI_INVALID_PARAMETERInvalid parameter.

Definition at line 198 of file AcpiLib.c.

◆ LocateAndInstallAcpiFromFv()

EFI_STATUS LocateAndInstallAcpiFromFv ( IN CONST EFI_GUID AcpiFile)

Locate and Install the ACPI tables from the Firmware Volume

Parameters
AcpiFileGuid of the ACPI file into the Firmware Volume
Returns
EFI_SUCCESS The function completed successfully.
EFI_NOT_FOUND The protocol could not be located.
EFI_OUT_OF_RESOURCES There are not enough resources to find the protocol.

Definition at line 178 of file AcpiLib.c.

◆ LocateAndInstallAcpiFromFvConditional()

EFI_STATUS LocateAndInstallAcpiFromFvConditional ( IN CONST EFI_GUID AcpiFile,
IN EFI_LOCATE_ACPI_CHECK  CheckAcpiTableFunction 
)

Locate and Install the ACPI tables from the Firmware Volume if it verifies the function condition.

Parameters
AcpiFileGuid of the ACPI file into the Firmware Volume
CheckAcpiTableFunctionFunction that checks if the ACPI table should be installed
Returns
EFI_SUCCESS The function completed successfully.
EFI_NOT_FOUND The protocol could not be located.
EFI_OUT_OF_RESOURCES There are not enough resources to find the protocol.

Definition at line 37 of file AcpiLib.c.