TianoCore EDK2 master
Loading...
Searching...
No Matches
AcpiTable.h File Reference

Go to the source code of this file.

Data Structures

struct  EFI_ACPI_TABLE_LIST
 
struct  EFI_ACPI_TABLE_INSTANCE
 
struct  ACPI_SILICON_HOB
 

Macros

#define ACPI_TABLE_VERSION_GTE_2_0
 
#define EFI_ACPI_TABLE_LIST_SIGNATURE   SIGNATURE_32 ('E', 'A', 'T', 'L')
 
#define EFI_ACPI_TABLE_LIST_FROM_LINK(_link)   CR (_link, EFI_ACPI_TABLE_LIST, Link, EFI_ACPI_TABLE_LIST_SIGNATURE)
 
#define EFI_ACPI_MAX_NUM_TABLES   20
 
#define EFI_ACPI_TABLE_SIGNATURE   SIGNATURE_32 ('S', 'T', 'A', 'E')
 
#define EFI_ACPI_TABLE_INSTANCE_FROM_THIS(a)
 

Functions

EFI_STATUS AcpiTableAcpiTableConstructor (EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance)
 
EFI_STATUS EFIAPI InitializeAcpiTableDxe (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
 
EFI_STATUS FindTableByHandle (IN UINTN Handle, IN LIST_ENTRY *TableList, OUT EFI_ACPI_TABLE_LIST **Table)
 
EFI_STATUS AcpiPlatformChecksum (IN VOID *Buffer, IN UINTN Size, IN UINTN ChecksumOffset)
 
VOID SdtNotifyAcpiList (IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance, IN EFI_ACPI_TABLE_VERSION Version, IN UINTN Handle)
 
VOID SdtAcpiTableAcpiSdtConstructor (IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance)
 
EFI_STATUS SdtGetAcpiTable (IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance, IN UINTN Index, OUT EFI_ACPI_SDT_HEADER **Table, OUT EFI_ACPI_TABLE_VERSION *Version, OUT UINTN *TableKey)
 

Variables

EFI_HANDLE mHandle
 
EFI_ACPI_TABLE_INSTANCEmPrivateData
 

Detailed Description

ACPI Table Protocol Driver

Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file AcpiTable.h.

Macro Definition Documentation

◆ ACPI_TABLE_VERSION_GTE_2_0

#define ACPI_TABLE_VERSION_GTE_2_0
Value:
(EFI_ACPI_TABLE_VERSION_2_0 |\
EFI_ACPI_TABLE_VERSION_3_0 | \
EFI_ACPI_TABLE_VERSION_4_0 | \
EFI_ACPI_TABLE_VERSION_5_0)

Definition at line 39 of file AcpiTable.h.

◆ EFI_ACPI_MAX_NUM_TABLES

#define EFI_ACPI_MAX_NUM_TABLES   20

Definition at line 84 of file AcpiTable.h.

◆ EFI_ACPI_TABLE_INSTANCE_FROM_THIS

#define EFI_ACPI_TABLE_INSTANCE_FROM_THIS (   a)
Value:
CR (a, \
AcpiTableProtocol, \
EFI_ACPI_TABLE_SIGNATURE \
)
#define CR(Record, TYPE, Field, TestSignature)
Definition: DebugLib.h:659

Definition at line 122 of file AcpiTable.h.

◆ EFI_ACPI_TABLE_LIST_FROM_LINK

#define EFI_ACPI_TABLE_LIST_FROM_LINK (   _link)    CR (_link, EFI_ACPI_TABLE_LIST, Link, EFI_ACPI_TABLE_LIST_SIGNATURE)

Definition at line 79 of file AcpiTable.h.

◆ EFI_ACPI_TABLE_LIST_SIGNATURE

#define EFI_ACPI_TABLE_LIST_SIGNATURE   SIGNATURE_32 ('E', 'A', 'T', 'L')

Definition at line 50 of file AcpiTable.h.

◆ EFI_ACPI_TABLE_SIGNATURE

#define EFI_ACPI_TABLE_SIGNATURE   SIGNATURE_32 ('S', 'T', 'A', 'E')

Definition at line 92 of file AcpiTable.h.

Function Documentation

◆ AcpiPlatformChecksum()

EFI_STATUS AcpiPlatformChecksum ( IN VOID *  Buffer,
IN UINTN  Size,
IN UINTN  ChecksumOffset 
)

This function calculates and updates an UINT8 checksum.

Parameters
[in]BufferPointer to buffer to checksum
[in]SizeNumber of bytes to checksum
[in]ChecksumOffsetOffset to place the checksum result in
Return values
EFI_SUCCESSThe function completed successfully.

This function calculates and updates an UINT8 checksum.

Parameters
BufferPointer to buffer to checksum
SizeNumber of bytes to checksum
ChecksumOffsetOffset to place the checksum result in
Returns
EFI_SUCCESS The function completed successfully.

Definition at line 1666 of file AcpiTableProtocol.c.

◆ AcpiTableAcpiTableConstructor()

EFI_STATUS AcpiTableAcpiTableConstructor ( EFI_ACPI_TABLE_INSTANCE AcpiTableInstance)

Constructor for the ACPI support protocol. Initializes instance data.

Parameters
AcpiTableInstanceInstance to construct
Returns
EFI_SUCCESS Instance initialized.
EFI_OUT_OF_RESOURCES Unable to allocate required resources.

Constructor for the ACPI table protocol. Initializes instance data.

Parameters
AcpiTableInstanceInstance to construct
Returns
EFI_SUCCESS Instance initialized.
EFI_OUT_OF_RESOURCES Unable to allocate required resources.

Definition at line 2062 of file AcpiTableProtocol.c.

◆ FindTableByHandle()

EFI_STATUS FindTableByHandle ( IN UINTN  Handle,
IN LIST_ENTRY TableList,
OUT EFI_ACPI_TABLE_LIST **  Table 
)

This function finds the table specified by the handle and returns a pointer to it. If the handle is not found, EFI_NOT_FOUND is returned and the contents of Table are undefined.

Parameters
[in]HandleTable to find.
[in]TableListTable list to search
[out]TablePointer to table found.
Return values
EFI_SUCCESSThe function completed successfully.
EFI_NOT_FOUNDNo table found matching the handle specified.

This function finds the table specified by the handle and returns a pointer to it. If the handle is not found, EFI_NOT_FOUND is returned and the contents of Table are undefined.

Parameters
HandleTable to find.
TableListTable list to search
TablePointer to table found.
Returns
EFI_SUCCESS The function completed successfully.
EFI_NOT_FOUND No table found matching the handle specified.

Definition at line 1168 of file AcpiTableProtocol.c.

◆ InitializeAcpiTableDxe()

EFI_STATUS EFIAPI InitializeAcpiTableDxe ( IN EFI_HANDLE  ImageHandle,
IN EFI_SYSTEM_TABLE SystemTable 
)

Entry point of the ACPI table driver. Creates and initializes an instance of the ACPI Table Protocol and installs it on a new handle.

Parameters
ImageHandleA handle for the image that is initializing this driver
SystemTableA pointer to the EFI system table
Returns
EFI_SUCCESS Driver initialized successfully
EFI_LOAD_ERROR Failed to Initialize or has been loaded
EFI_OUT_OF_RESOURCES Could not allocate needed resources

Entry point of the ACPI table driver. Creates and initializes an instance of the ACPI Table Protocol and installs it on a new handle.

Parameters
ImageHandleA handle for the image that is initializing this driver.
SystemTableA pointer to the EFI system table.
Returns
EFI_SUCCESS Driver initialized successfully.
EFI_LOAD_ERROR Failed to Initialize or has been loaded.
EFI_OUT_OF_RESOURCES Could not allocate needed resources.

Definition at line 35 of file AcpiTable.c.

◆ SdtAcpiTableAcpiSdtConstructor()

VOID SdtAcpiTableAcpiSdtConstructor ( IN EFI_ACPI_TABLE_INSTANCE AcpiTableInstance)

This function initializes AcpiSdt protocol in ACPI table instance.

Parameters
[in]AcpiTableInstanceInstance to construct

Definition at line 1091 of file AcpiSdt.c.

◆ SdtGetAcpiTable()

EFI_STATUS SdtGetAcpiTable ( IN EFI_ACPI_TABLE_INSTANCE AcpiTableInstance,
IN UINTN  Index,
OUT EFI_ACPI_SDT_HEADER **  Table,
OUT EFI_ACPI_TABLE_VERSION *  Version,
OUT UINTN TableKey 
)

Returns a requested ACPI table.

The following structures are not considered elements in the list of ACPI tables:

  • Root System Description Pointer (RSD_PTR)
  • Root System Description Table (RSDT)
  • Extended System Description Table (XSDT) Version is updated with a bit map containing all the versions of ACPI of which the table is a member. For tables installed via the EFI_ACPI_TABLE_PROTOCOL.InstallAcpiTable() interface, the function returns the value of EFI_ACPI_STD_PROTOCOL.AcpiVersion.
Parameters
[in]AcpiTableInstanceACPI table Instance.
[in]IndexThe zero-based index of the table to retrieve.
[out]TablePointer for returning the table buffer.
[out]VersionOn return, updated with the ACPI versions to which this table belongs. Type EFI_ACPI_TABLE_VERSION is defined in "Related Definitions" in the EFI_ACPI_SDT_PROTOCOL.
[out]TableKeyOn return, points to the table key for the specified ACPI system definition table. This is identical to the table key used in the EFI_ACPI_TABLE_PROTOCOL. The TableKey can be passed to EFI_ACPI_TABLE_PROTOCOL.UninstallAcpiTable() to uninstall the table.
Return values
EFI_SUCCESSThe function completed successfully.
EFI_NOT_FOUNDThe requested index is too large and a table was not found.

Definition at line 218 of file AcpiSdt.c.

◆ SdtNotifyAcpiList()

VOID SdtNotifyAcpiList ( IN EFI_ACPI_TABLE_INSTANCE AcpiTableInstance,
IN EFI_ACPI_TABLE_VERSION  Version,
IN UINTN  Handle 
)

This function invokes ACPI notification.

Parameters
[in]AcpiTableInstanceInstance to AcpiTable
[in]VersionVersion(s) to set.
[in]HandleHandle of the table.

Definition at line 150 of file AcpiSdt.c.

Variable Documentation

◆ mHandle

EFI_HANDLE mHandle
extern

Handle for the Capsule Update Policy Protocol

Definition at line 26 of file ArmPciCpuIo2Dxe.c.

◆ mPrivateData

EFI_ACPI_TABLE_INSTANCE* mPrivateData
extern

Definition at line 12 of file FatLiteApi.c.