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

Go to the source code of this file.

Data Structures

struct  EFI_ACPI_NOTIFY_LIST
 
struct  _EFI_AML_NODE_LIST
 
struct  EFI_AML_HANDLE
 
struct  _AML_BYTE_ENCODING
 

Macros

#define EFI_ACPI_NOTIFY_LIST_SIGNATURE   SIGNATURE_32 ('E', 'A', 'N', 'L')
 
#define EFI_ACPI_NOTIFY_LIST_FROM_LINK(_link)   CR (_link, EFI_ACPI_NOTIFY_LIST, Link, EFI_ACPI_NOTIFY_LIST_SIGNATURE)
 
#define EFI_AML_NODE_LIST_SIGNATURE   SIGNATURE_32 ('E', 'A', 'M', 'L')
 
#define EFI_AML_NODE_LIST_FROM_LINK(_link)   CR (_link, EFI_AML_NODE_LIST, Link, EFI_AML_NODE_LIST_SIGNATURE)
 
#define EFI_AML_HANDLE_SIGNATURE   SIGNATURE_32 ('E', 'A', 'H', 'S')
 
#define EFI_AML_ROOT_HANDLE_SIGNATURE   SIGNATURE_32 ('E', 'A', 'R', 'H')
 
#define AML_OP_PARSE_INDEX_GET_OPCODE   0
 
#define AML_OP_PARSE_INDEX_GET_TERM1   1
 
#define AML_OP_PARSE_INDEX_GET_TERM2   2
 
#define AML_OP_PARSE_INDEX_GET_TERM3   3
 
#define AML_OP_PARSE_INDEX_GET_TERM4   4
 
#define AML_OP_PARSE_INDEX_GET_TERM5   5
 
#define AML_OP_PARSE_INDEX_GET_TERM6   6
 
#define AML_OP_PARSE_INDEX_GET_SIZE   (AML_OP_PARSE_INDEX)-1
 
#define AML_NONE   0
 
#define AML_OPCODE   1
 
#define AML_UINT8   2
 
#define AML_UINT16   3
 
#define AML_UINT32   4
 
#define AML_UINT64   5
 
#define AML_NAME   6
 
#define AML_STRING   7
 
#define AML_OBJECT   8
 
#define AML_HAS_PKG_LENGTH   0x1
 
#define AML_IS_NAME_CHAR   0x2
 
#define AML_HAS_CHILD_OBJ   0x4
 
#define AML_IN_NAMESPACE   0x10000
 

Typedefs

typedef struct _AML_BYTE_ENCODING AML_BYTE_ENCODING
 
typedef struct _EFI_AML_NODE_LIST EFI_AML_NODE_LIST
 
typedef UINT32 AML_OP_PARSE_INDEX
 
typedef UINT32 AML_OP_PARSE_FORMAT
 
typedef UINT32 AML_OP_ATTRIBUTE
 

Functions

EFI_STATUS EFIAPI GetAcpiTable2 (IN UINTN Index, OUT EFI_ACPI_SDT_HEADER **Table, OUT EFI_ACPI_TABLE_VERSION *Version, OUT UINTN *TableKey)
 
EFI_STATUS EFIAPI RegisterNotify (IN BOOLEAN Register, IN EFI_ACPI_NOTIFICATION_FN Notification)
 
EFI_STATUS EFIAPI OpenSdt (IN UINTN TableKey, OUT EFI_ACPI_HANDLE *Handle)
 
EFI_STATUS EFIAPI Open (IN VOID *Buffer, OUT EFI_ACPI_HANDLE *Handle)
 
EFI_STATUS EFIAPI Close (IN EFI_ACPI_HANDLE Handle)
 
EFI_STATUS EFIAPI GetOption (IN EFI_ACPI_HANDLE Handle, IN UINTN Index, OUT EFI_ACPI_DATA_TYPE *DataType, OUT CONST VOID **Data, OUT UINTN *DataSize)
 
EFI_STATUS EFIAPI SetOption (IN EFI_ACPI_HANDLE Handle, IN UINTN Index, IN CONST VOID *Data, IN UINTN DataSize)
 
EFI_STATUS EFIAPI GetChild (IN EFI_ACPI_HANDLE ParentHandle, IN OUT EFI_ACPI_HANDLE *Handle)
 
EFI_STATUS EFIAPI FindPath (IN EFI_ACPI_HANDLE HandleIn, IN VOID *AcpiPath, OUT EFI_ACPI_HANDLE *HandleOut)
 
EFI_STATUS SdtOpenEx (IN VOID *Buffer, IN UINTN BufferSize, OUT EFI_ACPI_HANDLE *Handle)
 
EFI_STATUS AmlGetNameStringSize (IN UINT8 *Buffer, OUT UINTN *BufferSize)
 
UINTN AmlGetPkgLength (IN UINT8 *Buffer, OUT UINTN *PkgLength)
 
EFI_ACPI_DATA_TYPE AmlTypeToAcpiType (IN AML_OP_PARSE_FORMAT AmlType)
 
AML_BYTE_ENCODINGAmlSearchByOpByte (IN UINT8 *OpByteBuffer)
 
UINTN AmlGetObjectSize (IN AML_BYTE_ENCODING *AmlByteEncoding, IN UINT8 *Buffer, IN UINTN MaxBufferSize)
 
CHAR8 * AmlGetObjectName (IN EFI_AML_HANDLE *AmlHandle)
 
EFI_STATUS AmlParseOptionHandleCommon (IN EFI_AML_HANDLE *AmlHandle, IN AML_OP_PARSE_INDEX Index, OUT EFI_ACPI_DATA_TYPE *DataType, OUT VOID **Data, OUT UINTN *DataSize)
 
EFI_STATUS AmlGetOffsetAfterLastOption (IN EFI_AML_HANDLE *AmlHandle, OUT UINT8 **Buffer)
 
EFI_STATUS AmlGetChildFromRoot (IN EFI_AML_HANDLE *AmlParentHandle, IN EFI_AML_HANDLE *AmlHandle, OUT VOID **Buffer)
 
EFI_STATUS AmlGetChildFromNonRoot (IN EFI_AML_HANDLE *AmlParentHandle, IN EFI_AML_HANDLE *AmlHandle, OUT VOID **Buffer)
 
UINT8 * AmlNameFromAslName (IN UINT8 *AslPath)
 
EFI_STATUS AmlFindPath (IN EFI_AML_HANDLE *AmlHandle, IN UINT8 *AmlPath, OUT VOID **Buffer, IN BOOLEAN FromRoot)
 
VOID AmlPrintNameString (IN UINT8 *Buffer)
 
VOID AmlPrintNameSeg (IN UINT8 *Buffer)
 
BOOLEAN AmlIsRootPath (IN UINT8 *Buffer)
 

Detailed Description

ACPI Sdt Protocol Driver

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

Definition in file AcpiSdt.h.

Macro Definition Documentation

◆ AML_HAS_CHILD_OBJ

#define AML_HAS_CHILD_OBJ   0x4

Definition at line 123 of file AcpiSdt.h.

◆ AML_HAS_PKG_LENGTH

#define AML_HAS_PKG_LENGTH   0x1

Definition at line 121 of file AcpiSdt.h.

◆ AML_IN_NAMESPACE

#define AML_IN_NAMESPACE   0x10000

Definition at line 124 of file AcpiSdt.h.

◆ AML_IS_NAME_CHAR

#define AML_IS_NAME_CHAR   0x2

Definition at line 122 of file AcpiSdt.h.

◆ AML_NAME

#define AML_NAME   6

Definition at line 116 of file AcpiSdt.h.

◆ AML_NONE

#define AML_NONE   0

Definition at line 110 of file AcpiSdt.h.

◆ AML_OBJECT

#define AML_OBJECT   8

Definition at line 118 of file AcpiSdt.h.

◆ AML_OP_PARSE_INDEX_GET_OPCODE

#define AML_OP_PARSE_INDEX_GET_OPCODE   0

Definition at line 100 of file AcpiSdt.h.

◆ AML_OP_PARSE_INDEX_GET_SIZE

#define AML_OP_PARSE_INDEX_GET_SIZE   (AML_OP_PARSE_INDEX)-1

Definition at line 107 of file AcpiSdt.h.

◆ AML_OP_PARSE_INDEX_GET_TERM1

#define AML_OP_PARSE_INDEX_GET_TERM1   1

Definition at line 101 of file AcpiSdt.h.

◆ AML_OP_PARSE_INDEX_GET_TERM2

#define AML_OP_PARSE_INDEX_GET_TERM2   2

Definition at line 102 of file AcpiSdt.h.

◆ AML_OP_PARSE_INDEX_GET_TERM3

#define AML_OP_PARSE_INDEX_GET_TERM3   3

Definition at line 103 of file AcpiSdt.h.

◆ AML_OP_PARSE_INDEX_GET_TERM4

#define AML_OP_PARSE_INDEX_GET_TERM4   4

Definition at line 104 of file AcpiSdt.h.

◆ AML_OP_PARSE_INDEX_GET_TERM5

#define AML_OP_PARSE_INDEX_GET_TERM5   5

Definition at line 105 of file AcpiSdt.h.

◆ AML_OP_PARSE_INDEX_GET_TERM6

#define AML_OP_PARSE_INDEX_GET_TERM6   6

Definition at line 106 of file AcpiSdt.h.

◆ AML_OPCODE

#define AML_OPCODE   1

Definition at line 111 of file AcpiSdt.h.

◆ AML_STRING

#define AML_STRING   7

Definition at line 117 of file AcpiSdt.h.

◆ AML_UINT16

#define AML_UINT16   3

Definition at line 113 of file AcpiSdt.h.

◆ AML_UINT32

#define AML_UINT32   4

Definition at line 114 of file AcpiSdt.h.

◆ AML_UINT64

#define AML_UINT64   5

Definition at line 115 of file AcpiSdt.h.

◆ AML_UINT8

#define AML_UINT8   2

Definition at line 112 of file AcpiSdt.h.

◆ EFI_ACPI_NOTIFY_LIST_FROM_LINK

#define EFI_ACPI_NOTIFY_LIST_FROM_LINK (   _link)    CR (_link, EFI_ACPI_NOTIFY_LIST, Link, EFI_ACPI_NOTIFY_LIST_SIGNATURE)

Definition at line 37 of file AcpiSdt.h.

◆ EFI_ACPI_NOTIFY_LIST_SIGNATURE

#define EFI_ACPI_NOTIFY_LIST_SIGNATURE   SIGNATURE_32 ('E', 'A', 'N', 'L')

Definition at line 19 of file AcpiSdt.h.

◆ EFI_AML_HANDLE_SIGNATURE

#define EFI_AML_HANDLE_SIGNATURE   SIGNATURE_32 ('E', 'A', 'H', 'S')

Definition at line 79 of file AcpiSdt.h.

◆ EFI_AML_NODE_LIST_FROM_LINK

#define EFI_AML_NODE_LIST_FROM_LINK (   _link)    CR (_link, EFI_AML_NODE_LIST, Link, EFI_AML_NODE_LIST_SIGNATURE)

Definition at line 74 of file AcpiSdt.h.

◆ EFI_AML_NODE_LIST_SIGNATURE

#define EFI_AML_NODE_LIST_SIGNATURE   SIGNATURE_32 ('E', 'A', 'M', 'L')

Definition at line 45 of file AcpiSdt.h.

◆ EFI_AML_ROOT_HANDLE_SIGNATURE

#define EFI_AML_ROOT_HANDLE_SIGNATURE   SIGNATURE_32 ('E', 'A', 'R', 'H')

Definition at line 80 of file AcpiSdt.h.

Typedef Documentation

◆ AML_BYTE_ENCODING

Definition at line 39 of file AcpiSdt.h.

◆ AML_OP_ATTRIBUTE

typedef UINT32 AML_OP_ATTRIBUTE

Definition at line 120 of file AcpiSdt.h.

◆ AML_OP_PARSE_FORMAT

typedef UINT32 AML_OP_PARSE_FORMAT

Definition at line 109 of file AcpiSdt.h.

◆ AML_OP_PARSE_INDEX

typedef UINT32 AML_OP_PARSE_INDEX

Definition at line 98 of file AcpiSdt.h.

◆ EFI_AML_NODE_LIST

Definition at line 40 of file AcpiSdt.h.

Function Documentation

◆ AmlFindPath()

EFI_STATUS AmlFindPath ( IN EFI_AML_HANDLE AmlHandle,
IN UINT8 *  AmlPath,
OUT VOID **  Buffer,
IN BOOLEAN  FromRoot 
)

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

Parameters
[in]AmlHandlePoints to the handle of the object representing the starting point for the path search.
[in]AmlPathPoints to the ACPI AML path.
[out]BufferOn return, points to the ACPI object which represents AcpiPath, relative to HandleIn.
[in]FromRootTRUE means to find AML path from \ (Root) Node. FALSE means to find AML path from this Node (The HandleIn).
Return values
EFI_SUCCESSSuccess
EFI_INVALID_PARAMETERHandleIn does not refer to a valid ACPI object.

Definition at line 517 of file AmlNamespace.c.

◆ AmlGetChildFromNonRoot()

EFI_STATUS AmlGetChildFromNonRoot ( IN EFI_AML_HANDLE AmlParentHandle,
IN EFI_AML_HANDLE AmlHandle,
OUT VOID **  Buffer 
)

Return the child ACPI objects from Non-Root Handle.

Parameters
[in]AmlParentHandleParent handle. It is Non-Root Handle.
[in]AmlHandleThe previously returned handle or NULL to start with the first handle.
[out]BufferOn 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 249 of file AmlChild.c.

◆ AmlGetChildFromRoot()

EFI_STATUS AmlGetChildFromRoot ( IN EFI_AML_HANDLE AmlParentHandle,
IN EFI_AML_HANDLE AmlHandle,
OUT VOID **  Buffer 
)

Return the child ACPI objects from Root Handle.

Parameters
[in]AmlParentHandleParent handle. It is Root Handle.
[in]AmlHandleThe previously returned handle or NULL to start with the first handle.
[out]BufferOn 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 81 of file AmlChild.c.

◆ AmlGetNameStringSize()

EFI_STATUS AmlGetNameStringSize ( IN UINT8 *  Buffer,
OUT UINTN BufferSize 
)

Get AML NameString size.

Parameters
[in]BufferAML NameString.
[out]BufferSizeAML NameString size
Return values
EFI_SUCCESSSuccess.
EFI_INVALID_PARAMETERBuffer does not refer to a valid AML NameString.

Definition at line 109 of file AmlString.c.

◆ AmlGetObjectName()

CHAR8 * AmlGetObjectName ( IN EFI_AML_HANDLE AmlHandle)

Return object name.

Parameters
[in]AmlHandleAML handle.
Returns
Name of the object.

Definition at line 341 of file AmlOption.c.

◆ AmlGetObjectSize()

UINTN AmlGetObjectSize ( IN AML_BYTE_ENCODING AmlByteEncoding,
IN UINT8 *  Buffer,
IN UINTN  MaxBufferSize 
)

Return object size.

Parameters
[in]AmlByteEncodingAML Byte Encoding.
[in]BufferAML object buffer.
[in]MaxBufferSizeAML object buffer MAX size. The parser can not parse any data exceed this region.
Returns
Size of the object.

Definition at line 308 of file AmlOption.c.

◆ AmlGetOffsetAfterLastOption()

EFI_STATUS AmlGetOffsetAfterLastOption ( IN EFI_AML_HANDLE AmlHandle,
OUT UINT8 **  Buffer 
)

Return offset of last option.

Parameters
[in]AmlHandleAML Handle.
[out]BufferUpon return, points to the offset after last option.
Return values
EFI_SUCCESSSuccess.
EFI_INVALID_PARAMETERAmlHandle does not refer to a valid ACPI object.

Definition at line 398 of file AmlOption.c.

◆ AmlGetPkgLength()

UINTN AmlGetPkgLength ( IN UINT8 *  Buffer,
OUT UINTN PkgLength 
)

This function retuns package length from the buffer.

Parameters
[in]BufferAML buffer
[out]PkgLengthThe total length of package.
Returns
The byte data count to present the package length.

Definition at line 239 of file Aml.c.

◆ AmlIsRootPath()

BOOLEAN AmlIsRootPath ( IN UINT8 *  Buffer)

Check if it is AML Root name

Parameters
[in]BufferAML path.
Return values
TRUEAML path is root.
FALSEAML path is not root.

Definition at line 20 of file AmlString.c.

◆ AmlNameFromAslName()

UINT8 * AmlNameFromAslName ( IN UINT8 *  AslPath)

Return AML name according to ASL name. The caller need free the AmlName returned.

Parameters
[in]AslPathASL name.
Returns
AmlName

Definition at line 385 of file AmlString.c.

◆ AmlParseOptionHandleCommon()

EFI_STATUS AmlParseOptionHandleCommon ( IN EFI_AML_HANDLE AmlHandle,
IN AML_OP_PARSE_INDEX  Index,
OUT EFI_ACPI_DATA_TYPE *  DataType,
OUT VOID **  Data,
OUT UINTN DataSize 
)

Retrieve information according to AmlHandle

Parameters
[in]AmlHandleAML 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
EFI_SUCCESSSuccess.
EFI_INVALID_PARAMETERAmlHandle does not refer to a valid ACPI object.

Definition at line 449 of file AmlOption.c.

◆ AmlPrintNameSeg()

VOID AmlPrintNameSeg ( IN UINT8 *  Buffer)

Print AML NameSeg.

Parameters
[in]BufferAML NameSeg.

Definition at line 466 of file AmlString.c.

◆ AmlPrintNameString()

VOID AmlPrintNameString ( IN UINT8 *  Buffer)

Print AML NameString.

Parameters
[in]BufferAML NameString.

Definition at line 495 of file AmlString.c.

◆ AmlSearchByOpByte()

AML_BYTE_ENCODING * AmlSearchByOpByte ( IN UINT8 *  OpByteBuffer)

This function returns AmlByteEncoding according to OpCode Byte.

Parameters
[in]OpByteBufferOpCode byte buffer.
Returns
AmlByteEncoding

Definition at line 180 of file Aml.c.

◆ AmlTypeToAcpiType()

EFI_ACPI_DATA_TYPE AmlTypeToAcpiType ( IN AML_OP_PARSE_FORMAT  AmlType)

This function returns AcpiDataType according to AmlType.

Parameters
[in]AmlTypeAML Type.
Returns
AcpiDataType

Definition at line 218 of file Aml.c.

◆ Close()

EFI_STATUS EFIAPI 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 628 of file AcpiSdt.c.

◆ FindPath()

EFI_STATUS EFIAPI FindPath ( 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 1033 of file AcpiSdt.c.

◆ GetAcpiTable2()

EFI_STATUS EFIAPI GetAcpiTable2 ( 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 292 of file AcpiSdt.c.

◆ GetChild()

EFI_STATUS EFIAPI GetChild ( 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 820 of file AcpiSdt.c.

◆ GetOption()

EFI_STATUS EFIAPI GetOption ( 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
EFI_SUCCESSSuccess.
EFI_INVALID_PARAMETERHandle is NULL or does not refer to a valid ACPI object.

Definition at line 680 of file AcpiSdt.c.

◆ Open()

EFI_STATUS EFIAPI 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 593 of file AcpiSdt.c.

◆ OpenSdt()

EFI_STATUS EFIAPI OpenSdt ( 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 512 of file AcpiSdt.c.

◆ RegisterNotify()

EFI_STATUS EFIAPI RegisterNotify ( 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 422 of file AcpiSdt.c.

◆ SdtOpenEx()

EFI_STATUS SdtOpenEx ( IN VOID *  Buffer,
IN UINTN  BufferSize,
OUT EFI_ACPI_HANDLE *  Handle 
)

Create a handle from an ACPI opcode

Parameters
[in]BufferPoints to the ACPI opcode.
[in]BufferSizeMax buffer size.
[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 537 of file AcpiSdt.c.

◆ SetOption()

EFI_STATUS EFIAPI SetOption ( 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 745 of file AcpiSdt.c.