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

Go to the source code of this file.

Data Structures

struct  EFI_ACPI_SDT_HEADER
 
struct  _EFI_ACPI_SDT_PROTOCOL
 

Macros

#define EFI_ACPI_SDT_PROTOCOL_GUID    { 0xeb97088e, 0xcfdf, 0x49c6, { 0xbe, 0x4b, 0xd9, 0x6, 0xa5, 0xb2, 0xe, 0x86 }}
 
#define EFI_ACPI_TABLE_VERSION_NONE   (1 << 0)
 
#define EFI_ACPI_TABLE_VERSION_1_0B   (1 << 1)
 
#define EFI_ACPI_TABLE_VERSION_2_0   (1 << 2)
 
#define EFI_ACPI_TABLE_VERSION_3_0   (1 << 3)
 
#define EFI_ACPI_TABLE_VERSION_4_0   (1 << 4)
 
#define EFI_ACPI_TABLE_VERSION_5_0   (1 << 5)
 
#define EFI_ACPI_DATA_TYPE_NONE   0
 
#define EFI_ACPI_DATA_TYPE_OPCODE   1
 
#define EFI_ACPI_DATA_TYPE_NAME_STRING   2
 
#define EFI_ACPI_DATA_TYPE_OP   3
 
#define EFI_ACPI_DATA_TYPE_UINT   4
 
#define EFI_ACPI_DATA_TYPE_STRING   5
 
#define EFI_ACPI_DATA_TYPE_CHILD   6
 

Typedefs

typedef UINT32 EFI_ACPI_TABLE_VERSION
 
typedef VOID * EFI_ACPI_HANDLE
 
typedef UINT32 EFI_ACPI_DATA_TYPE
 
typedef EFI_STATUS(EFIAPI * EFI_ACPI_NOTIFICATION_FN) (IN EFI_ACPI_SDT_HEADER *Table, IN EFI_ACPI_TABLE_VERSION Version, IN UINTN TableKey)
 
typedef EFI_STATUS(EFIAPI * EFI_ACPI_GET_ACPI_TABLE2) (IN UINTN Index, OUT EFI_ACPI_SDT_HEADER **Table, OUT EFI_ACPI_TABLE_VERSION *Version, OUT UINTN *TableKey)
 
typedef EFI_STATUS(EFIAPI * EFI_ACPI_REGISTER_NOTIFY) (IN BOOLEAN Register, IN EFI_ACPI_NOTIFICATION_FN Notification)
 
typedef EFI_STATUS(EFIAPI * EFI_ACPI_OPEN) (IN VOID *Buffer, OUT EFI_ACPI_HANDLE *Handle)
 
typedef EFI_STATUS(EFIAPI * EFI_ACPI_OPEN_SDT) (IN UINTN TableKey, OUT EFI_ACPI_HANDLE *Handle)
 
typedef EFI_STATUS(EFIAPI * EFI_ACPI_CLOSE) (IN EFI_ACPI_HANDLE Handle)
 
typedef EFI_STATUS(EFIAPI * EFI_ACPI_GET_CHILD) (IN EFI_ACPI_HANDLE ParentHandle, IN OUT EFI_ACPI_HANDLE *Handle)
 
typedef EFI_STATUS(EFIAPI * EFI_ACPI_GET_OPTION) (IN EFI_ACPI_HANDLE Handle, IN UINTN Index, OUT EFI_ACPI_DATA_TYPE *DataType, OUT CONST VOID **Data, OUT UINTN *DataSize)
 
typedef EFI_STATUS(EFIAPI * EFI_ACPI_SET_OPTION) (IN EFI_ACPI_HANDLE Handle, IN UINTN Index, IN CONST VOID *Data, IN UINTN DataSize)
 
typedef EFI_STATUS(EFIAPI * EFI_ACPI_FIND_PATH) (IN EFI_ACPI_HANDLE HandleIn, IN VOID *AcpiPath, OUT EFI_ACPI_HANDLE *HandleOut)
 
typedef struct _EFI_ACPI_SDT_PROTOCOL EFI_ACPI_SDT_PROTOCOL
 

Variables

EFI_GUID gEfiAcpiSdtProtocolGuid
 

Detailed Description

This protocol provides services for creating ACPI system description tables.

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

Revision Reference:
This Protocol was introduced in PI Specification 1.2.

Definition in file AcpiSystemDescriptionTable.h.

Macro Definition Documentation

◆ EFI_ACPI_DATA_TYPE_CHILD

#define EFI_ACPI_DATA_TYPE_CHILD   6

Definition at line 35 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_DATA_TYPE_NAME_STRING

#define EFI_ACPI_DATA_TYPE_NAME_STRING   2

Definition at line 31 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_DATA_TYPE_NONE

#define EFI_ACPI_DATA_TYPE_NONE   0

Definition at line 29 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_DATA_TYPE_OP

#define EFI_ACPI_DATA_TYPE_OP   3

Definition at line 32 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_DATA_TYPE_OPCODE

#define EFI_ACPI_DATA_TYPE_OPCODE   1

Definition at line 30 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_DATA_TYPE_STRING

#define EFI_ACPI_DATA_TYPE_STRING   5

Definition at line 34 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_DATA_TYPE_UINT

#define EFI_ACPI_DATA_TYPE_UINT   4

Definition at line 33 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_SDT_PROTOCOL_GUID

#define EFI_ACPI_SDT_PROTOCOL_GUID    { 0xeb97088e, 0xcfdf, 0x49c6, { 0xbe, 0x4b, 0xd9, 0x6, 0xa5, 0xb2, 0xe, 0x86 }}

Definition at line 15 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_TABLE_VERSION_1_0B

#define EFI_ACPI_TABLE_VERSION_1_0B   (1 << 1)

Definition at line 22 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_TABLE_VERSION_2_0

#define EFI_ACPI_TABLE_VERSION_2_0   (1 << 2)

Definition at line 23 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_TABLE_VERSION_3_0

#define EFI_ACPI_TABLE_VERSION_3_0   (1 << 3)

Definition at line 24 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_TABLE_VERSION_4_0

#define EFI_ACPI_TABLE_VERSION_4_0   (1 << 4)

Definition at line 25 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_TABLE_VERSION_5_0

#define EFI_ACPI_TABLE_VERSION_5_0   (1 << 5)

Definition at line 26 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_TABLE_VERSION_NONE

#define EFI_ACPI_TABLE_VERSION_NONE   (1 << 0)

Definition at line 21 of file AcpiSystemDescriptionTable.h.

Typedef Documentation

◆ EFI_ACPI_CLOSE

typedef EFI_STATUS(EFIAPI * EFI_ACPI_CLOSE) (IN EFI_ACPI_HANDLE Handle)

Close an ACPI handle.

Parameters
[in]HandleReturns the handle.
Return values
EFI_SUCCESSSuccess
EFI_INVALID_PARAMETERHandle is NULL or does not refer to a valid ACPI object.

Definition at line 156 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_DATA_TYPE

typedef UINT32 EFI_ACPI_DATA_TYPE

Definition at line 28 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_FIND_PATH

typedef EFI_STATUS(EFIAPI * EFI_ACPI_FIND_PATH) (IN EFI_ACPI_HANDLE HandleIn, IN VOID *AcpiPath, OUT EFI_ACPI_HANDLE *HandleOut)

Returns the handle of the ACPI object representing the specified ACPI path

Parameters
[in]HandleInPoints to the handle of the object representing the starting point for the path search.
[in]AcpiPathPoints to the ACPI path, which conforms to the ACPI encoded path format.
[out]HandleOutOn return, points to the ACPI object which represents AcpiPath, relative to HandleIn.
Return values
EFI_SUCCESSSuccess
EFI_INVALID_PARAMETERHandleIn is NULL or does not refer to a valid ACPI object.

Definition at line 238 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_GET_ACPI_TABLE2

typedef EFI_STATUS(EFIAPI * EFI_ACPI_GET_ACPI_TABLE2) (IN UINTN Index, OUT EFI_ACPI_SDT_HEADER **Table, OUT EFI_ACPI_TABLE_VERSION *Version, OUT UINTN *TableKey)

Returns a requested ACPI table.

The GetAcpiTable() function returns a pointer to a buffer containing the ACPI table associated with the Index that was input. 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]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 84 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_GET_CHILD

typedef EFI_STATUS(EFIAPI * EFI_ACPI_GET_CHILD) (IN EFI_ACPI_HANDLE ParentHandle, IN OUT EFI_ACPI_HANDLE *Handle)

Return the child ACPI objects.

Parameters
[in]ParentHandleParent handle.
[in,out]HandleOn entry, points to the previously returned handle or NULL to start with the first handle. On return, points to the next returned ACPI handle or NULL if there are no child objects.
Return values
EFI_SUCCESSSuccess
EFI_INVALID_PARAMETERParentHandle is NULL or does not refer to a valid ACPI object.

Definition at line 173 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_GET_OPTION

typedef EFI_STATUS(EFIAPI * EFI_ACPI_GET_OPTION) (IN EFI_ACPI_HANDLE Handle, IN UINTN Index, OUT EFI_ACPI_DATA_TYPE *DataType, OUT CONST VOID **Data, OUT UINTN *DataSize)

Retrieve information about an ACPI object.

Parameters
[in]HandleACPI object handle.
[in]IndexIndex of the data to retrieve from the object. In general, indexes read from left-to-right in the ACPI encoding, with index 0 always being the ACPI opcode.
[out]DataTypePoints to the returned data type or EFI_ACPI_DATA_TYPE_NONE if no data exists for the specified index.
[out]DataUpon return, points to the pointer to the data.
[out]DataSizeUpon return, points to the size of Data.
Return values

Definition at line 193 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_HANDLE

typedef VOID* EFI_ACPI_HANDLE

Definition at line 19 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_NOTIFICATION_FN

typedef EFI_STATUS(EFIAPI * EFI_ACPI_NOTIFICATION_FN) (IN EFI_ACPI_SDT_HEADER *Table, IN EFI_ACPI_TABLE_VERSION Version, IN UINTN TableKey)
Parameters
TableA pointer to the ACPI table header.
VersionThe ACPI table's version.
TableKeyThe table key for this ACPI table.

Definition at line 50 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_OPEN

typedef EFI_STATUS(EFIAPI * EFI_ACPI_OPEN) (IN VOID *Buffer, OUT EFI_ACPI_HANDLE *Handle)

Create a handle from an ACPI opcode

Parameters
[in]BufferPoints to the ACPI opcode.
[out]HandleUpon return, holds the handle.
Return values
EFI_SUCCESSSuccess
EFI_INVALID_PARAMETERBuffer is NULL or Handle is NULL or Buffer points to an invalid opcode.

Definition at line 125 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_OPEN_SDT

typedef EFI_STATUS(EFIAPI * EFI_ACPI_OPEN_SDT) (IN UINTN TableKey, OUT EFI_ACPI_HANDLE *Handle)

Create a handle for the first ACPI opcode in an ACPI system description table.

Parameters
[in]TableKeyThe table key for the ACPI table, as returned by GetTable().
[out]HandleOn return, points to the newly created ACPI handle.
Return values
EFI_SUCCESSHandle created successfully.
EFI_NOT_FOUNDTableKey does not refer to a valid ACPI table.

Definition at line 141 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_REGISTER_NOTIFY

typedef EFI_STATUS(EFIAPI * EFI_ACPI_REGISTER_NOTIFY) (IN BOOLEAN Register, IN EFI_ACPI_NOTIFICATION_FN Notification)

Register or unregister a callback when an ACPI table is installed.

This function registers or unregisters a function which will be called whenever a new ACPI table is installed.

Parameters
[in]RegisterIf TRUE, then the specified function will be registered. If FALSE, then the specified function will be unregistered.
[in]NotificationPoints to the callback function to be registered or unregistered.
Return values
EFI_SUCCESSCallback successfully registered or unregistered.
EFI_INVALID_PARAMETERNotification is NULL
EFI_INVALID_PARAMETERRegister is FALSE and Notification does not match a known registration function.

Definition at line 107 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_SET_OPTION

typedef EFI_STATUS(EFIAPI * EFI_ACPI_SET_OPTION) (IN EFI_ACPI_HANDLE Handle, IN UINTN Index, IN CONST VOID *Data, IN UINTN DataSize)

Change information about an ACPI object.

Parameters
[in]HandleACPI object handle.
[in]IndexIndex of the data to retrieve from the object. In general, indexes read from left-to-right in the ACPI encoding, with index 0 always being the ACPI opcode.
[in]DataPoints to the data.
[in]DataSizeThe size of the Data.
Return values
EFI_SUCCESSSuccess
EFI_INVALID_PARAMETERHandle is NULL or does not refer to a valid ACPI object.
EFI_BAD_BUFFER_SIZEData cannot be accommodated in the space occupied by the option.

Definition at line 218 of file AcpiSystemDescriptionTable.h.

◆ EFI_ACPI_TABLE_VERSION

typedef UINT32 EFI_ACPI_TABLE_VERSION

Definition at line 18 of file AcpiSystemDescriptionTable.h.