EDK2 doxygen online documents - Firmware Encoding Index 1
EDK2 doxygen online documents - Firmware Encoding Index
Data Structures | Defines | Typedefs | Functions

MdeModulePkg/Universal/Acpi/AcpiTableDxe/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

Defines

#define AML_ZERO_OP   0x00
#define AML_ONE_OP   0x01
#define AML_ALIAS_OP   0x06
#define AML_NAME_OP   0x08
#define AML_BYTE_PREFIX   0x0a
#define AML_WORD_PREFIX   0x0b
#define AML_DWORD_PREFIX   0x0c
#define AML_STRING_PREFIX   0x0d
#define AML_QWORD_PREFIX   0x0e
#define AML_SCOPE_OP   0x10
#define AML_BUFFER_OP   0x11
#define AML_PACKAGE_OP   0x12
#define AML_VAR_PACKAGE_OP   0x13
#define AML_METHOD_OP   0x14
#define AML_DUAL_NAME_PREFIX   0x2e
#define AML_MULTI_NAME_PREFIX   0x2f
#define AML_NAME_CHAR_A   0x41
#define AML_NAME_CHAR_B   0x42
#define AML_NAME_CHAR_C   0x43
#define AML_NAME_CHAR_D   0x44
#define AML_NAME_CHAR_E   0x45
#define AML_NAME_CHAR_F   0x46
#define AML_NAME_CHAR_G   0x47
#define AML_NAME_CHAR_H   0x48
#define AML_NAME_CHAR_I   0x49
#define AML_NAME_CHAR_J   0x4a
#define AML_NAME_CHAR_K   0x4b
#define AML_NAME_CHAR_L   0x4c
#define AML_NAME_CHAR_M   0x4d
#define AML_NAME_CHAR_N   0x4e
#define AML_NAME_CHAR_O   0x4f
#define AML_NAME_CHAR_P   0x50
#define AML_NAME_CHAR_Q   0x51
#define AML_NAME_CHAR_R   0x52
#define AML_NAME_CHAR_S   0x53
#define AML_NAME_CHAR_T   0x54
#define AML_NAME_CHAR_U   0x55
#define AML_NAME_CHAR_V   0x56
#define AML_NAME_CHAR_W   0x57
#define AML_NAME_CHAR_X   0x58
#define AML_NAME_CHAR_Y   0x59
#define AML_NAME_CHAR_Z   0x5a
#define AML_ROOT_CHAR   0x5c
#define AML_PARENT_PREFIX_CHAR   0x5e
#define AML_NAME_CHAR__   0x5f
#define AML_LOCAL0   0x60
#define AML_LOCAL1   0x61
#define AML_LOCAL2   0x62
#define AML_LOCAL3   0x63
#define AML_LOCAL4   0x64
#define AML_LOCAL5   0x65
#define AML_LOCAL6   0x66
#define AML_LOCAL7   0x67
#define AML_ARG0   0x68
#define AML_ARG1   0x69
#define AML_ARG2   0x6a
#define AML_ARG3   0x6b
#define AML_ARG4   0x6c
#define AML_ARG5   0x6d
#define AML_ARG6   0x6e
#define AML_STORE_OP   0x70
#define AML_REF_OF_OP   0x71
#define AML_ADD_OP   0x72
#define AML_CONCAT_OP   0x73
#define AML_SUBTRACT_OP   0x74
#define AML_INCREMENT_OP   0x75
#define AML_DECREMENT_OP   0x76
#define AML_MULTIPLY_OP   0x77
#define AML_DIVIDE_OP   0x78
#define AML_SHIFT_LEFT_OP   0x79
#define AML_SHIFT_RIGHT_OP   0x7a
#define AML_AND_OP   0x7b
#define AML_NAND_OP   0x7c
#define AML_OR_OP   0x7d
#define AML_NOR_OP   0x7e
#define AML_XOR_OP   0x7f
#define AML_NOT_OP   0x80
#define AML_FIND_SET_LEFT_BIT_OP   0x81
#define AML_FIND_SET_RIGHT_BIT_OP   0x82
#define AML_DEREF_OF_OP   0x83
#define AML_CONCAT_RES_OP   0x84
#define AML_MOD_OP   0x85
#define AML_NOTIFY_OP   0x86
#define AML_SIZE_OF_OP   0x87
#define AML_INDEX_OP   0x88
#define AML_MATCH_OP   0x89
#define AML_CREATE_DWORD_FIELD_OP   0x8a
#define AML_CREATE_WORD_FIELD_OP   0x8b
#define AML_CREATE_BYTE_FIELD_OP   0x8c
#define AML_CREATE_BIT_FIELD_OP   0x8d
#define AML_OBJECT_TYPE_OP   0x8e
#define AML_CREATE_QWORD_FIELD_OP   0x8f
#define AML_LAND_OP   0x90
#define AML_LOR_OP   0x91
#define AML_LNOT_OP   0x92
#define AML_LEQUAL_OP   0x93
#define AML_LGREATER_OP   0x94
#define AML_LLESS_OP   0x95
#define AML_TO_BUFFER_OP   0x96
#define AML_TO_DEC_STRING_OP   0x97
#define AML_TO_HEX_STRING_OP   0x98
#define AML_TO_INTEGER_OP   0x99
#define AML_TO_STRING_OP   0x9c
#define AML_COPY_OBJECT_OP   0x9d
#define AML_MID_OP   0x9e
#define AML_CONTINUE_OP   0x9f
#define AML_IF_OP   0xa0
#define AML_ELSE_OP   0xa1
#define AML_WHILE_OP   0xa2
#define AML_NOOP_OP   0xa3
#define AML_RETURN_OP   0xa4
#define AML_BREAK_OP   0xa5
#define AML_BREAK_POINT_OP   0xcc
#define AML_ONES_OP   0xff
#define AML_EXT_OP   0x5b
#define AML_EXT_MUTEX_OP   0x01
#define AML_EXT_EVENT_OP   0x02
#define AML_EXT_COND_REF_OF_OP   0x12
#define AML_EXT_CREATE_FIELD_OP   0x13
#define AML_EXT_LOAD_TABLE_OP   0x1f
#define AML_EXT_LOAD_OP   0x20
#define AML_EXT_STALL_OP   0x21
#define AML_EXT_SLEEP_OP   0x22
#define AML_EXT_ACQUIRE_OP   0x23
#define AML_EXT_SIGNAL_OP   0x24
#define AML_EXT_WAIT_OP   0x25
#define AML_EXT_RESET_OP   0x26
#define AML_EXT_RELEASE_OP   0x27
#define AML_EXT_FROM_BCD_OP   0x28
#define AML_EXT_TO_BCD_OP   0x29
#define AML_EXT_UNLOAD_OP   0x2a
#define AML_EXT_REVISION_OP   0x30
#define AML_EXT_DEBUG_OP   0x31
#define AML_EXT_FATAL_OP   0x32
#define AML_EXT_TIMER_OP   0x33
#define AML_EXT_REGION_OP   0x80
#define AML_EXT_FIELD_OP   0x81
#define AML_EXT_DEVICE_OP   0x82
#define AML_EXT_PROCESSOR_OP   0x83
#define AML_EXT_POWER_RES_OP   0x84
#define AML_EXT_THERMAL_ZONE_OP   0x85
#define AML_EXT_INDEX_FIELD_OP   0x86
#define AML_EXT_BANK_FIELD_OP   0x87
#define AML_EXT_DATA_REGION_OP   0x88
#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 AML_NAME_SEG_SIZE   4
#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)
CHAR8AmlGetObjectName (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)
UINT8AmlNameFromAslName (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, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

Definition in file AcpiSdt.h.


Define Documentation

#define AML_ADD_OP   0x72

Definition at line 87 of file AcpiSdt.h.

#define AML_ALIAS_OP   0x06

Definition at line 27 of file AcpiSdt.h.

#define AML_AND_OP   0x7b

Definition at line 96 of file AcpiSdt.h.

#define AML_ARG0   0x68

Definition at line 78 of file AcpiSdt.h.

#define AML_ARG1   0x69

Definition at line 79 of file AcpiSdt.h.

#define AML_ARG2   0x6a

Definition at line 80 of file AcpiSdt.h.

#define AML_ARG3   0x6b

Definition at line 81 of file AcpiSdt.h.

#define AML_ARG4   0x6c

Definition at line 82 of file AcpiSdt.h.

#define AML_ARG5   0x6d

Definition at line 83 of file AcpiSdt.h.

#define AML_ARG6   0x6e

Definition at line 84 of file AcpiSdt.h.

#define AML_BREAK_OP   0xa5

Definition at line 136 of file AcpiSdt.h.

#define AML_BREAK_POINT_OP   0xcc

Definition at line 137 of file AcpiSdt.h.

#define AML_BUFFER_OP   0x11

Definition at line 35 of file AcpiSdt.h.

#define AML_BYTE_PREFIX   0x0a

Definition at line 29 of file AcpiSdt.h.

#define AML_CONCAT_OP   0x73

Definition at line 88 of file AcpiSdt.h.

#define AML_CONCAT_RES_OP   0x84

Definition at line 105 of file AcpiSdt.h.

#define AML_CONTINUE_OP   0x9f

Definition at line 130 of file AcpiSdt.h.

#define AML_COPY_OBJECT_OP   0x9d

Definition at line 128 of file AcpiSdt.h.

#define AML_CREATE_BIT_FIELD_OP   0x8d

Definition at line 114 of file AcpiSdt.h.

#define AML_CREATE_BYTE_FIELD_OP   0x8c

Definition at line 113 of file AcpiSdt.h.

#define AML_CREATE_DWORD_FIELD_OP   0x8a

Definition at line 111 of file AcpiSdt.h.

#define AML_CREATE_QWORD_FIELD_OP   0x8f

Definition at line 116 of file AcpiSdt.h.

#define AML_CREATE_WORD_FIELD_OP   0x8b

Definition at line 112 of file AcpiSdt.h.

#define AML_DECREMENT_OP   0x76

Definition at line 91 of file AcpiSdt.h.

#define AML_DEREF_OF_OP   0x83

Definition at line 104 of file AcpiSdt.h.

#define AML_DIVIDE_OP   0x78

Definition at line 93 of file AcpiSdt.h.

#define AML_DUAL_NAME_PREFIX   0x2e

Definition at line 39 of file AcpiSdt.h.

#define AML_DWORD_PREFIX   0x0c

Definition at line 31 of file AcpiSdt.h.

#define AML_ELSE_OP   0xa1

Definition at line 132 of file AcpiSdt.h.

#define AML_EXT_ACQUIRE_OP   0x23

Definition at line 153 of file AcpiSdt.h.

#define AML_EXT_BANK_FIELD_OP   0x87

Definition at line 172 of file AcpiSdt.h.

#define AML_EXT_COND_REF_OF_OP   0x12

Definition at line 147 of file AcpiSdt.h.

#define AML_EXT_CREATE_FIELD_OP   0x13

Definition at line 148 of file AcpiSdt.h.

#define AML_EXT_DATA_REGION_OP   0x88

Definition at line 173 of file AcpiSdt.h.

#define AML_EXT_DEBUG_OP   0x31

Definition at line 162 of file AcpiSdt.h.

#define AML_EXT_DEVICE_OP   0x82

Definition at line 167 of file AcpiSdt.h.

#define AML_EXT_EVENT_OP   0x02

Definition at line 146 of file AcpiSdt.h.

#define AML_EXT_FATAL_OP   0x32

Definition at line 163 of file AcpiSdt.h.

#define AML_EXT_FIELD_OP   0x81

Definition at line 166 of file AcpiSdt.h.

#define AML_EXT_FROM_BCD_OP   0x28

Definition at line 158 of file AcpiSdt.h.

#define AML_EXT_INDEX_FIELD_OP   0x86

Definition at line 171 of file AcpiSdt.h.

#define AML_EXT_LOAD_OP   0x20

Definition at line 150 of file AcpiSdt.h.

#define AML_EXT_LOAD_TABLE_OP   0x1f

Definition at line 149 of file AcpiSdt.h.

#define AML_EXT_MUTEX_OP   0x01

Definition at line 145 of file AcpiSdt.h.

#define AML_EXT_OP   0x5b

Definition at line 143 of file AcpiSdt.h.

#define AML_EXT_POWER_RES_OP   0x84

Definition at line 169 of file AcpiSdt.h.

#define AML_EXT_PROCESSOR_OP   0x83

Definition at line 168 of file AcpiSdt.h.

#define AML_EXT_REGION_OP   0x80

Definition at line 165 of file AcpiSdt.h.

#define AML_EXT_RELEASE_OP   0x27

Definition at line 157 of file AcpiSdt.h.

#define AML_EXT_RESET_OP   0x26

Definition at line 156 of file AcpiSdt.h.

#define AML_EXT_REVISION_OP   0x30

Definition at line 161 of file AcpiSdt.h.

#define AML_EXT_SIGNAL_OP   0x24

Definition at line 154 of file AcpiSdt.h.

#define AML_EXT_SLEEP_OP   0x22

Definition at line 152 of file AcpiSdt.h.

#define AML_EXT_STALL_OP   0x21

Definition at line 151 of file AcpiSdt.h.

#define AML_EXT_THERMAL_ZONE_OP   0x85

Definition at line 170 of file AcpiSdt.h.

#define AML_EXT_TIMER_OP   0x33

Definition at line 164 of file AcpiSdt.h.

#define AML_EXT_TO_BCD_OP   0x29

Definition at line 159 of file AcpiSdt.h.

#define AML_EXT_UNLOAD_OP   0x2a

Definition at line 160 of file AcpiSdt.h.

#define AML_EXT_WAIT_OP   0x25

Definition at line 155 of file AcpiSdt.h.

#define AML_FIND_SET_LEFT_BIT_OP   0x81

Definition at line 102 of file AcpiSdt.h.

#define AML_FIND_SET_RIGHT_BIT_OP   0x82

Definition at line 103 of file AcpiSdt.h.

#define AML_HAS_CHILD_OBJ   0x4

Definition at line 287 of file AcpiSdt.h.

#define AML_HAS_PKG_LENGTH   0x1

Definition at line 285 of file AcpiSdt.h.

#define AML_IF_OP   0xa0

Definition at line 131 of file AcpiSdt.h.

#define AML_IN_NAMESPACE   0x10000

Definition at line 288 of file AcpiSdt.h.

#define AML_INCREMENT_OP   0x75

Definition at line 90 of file AcpiSdt.h.

#define AML_INDEX_OP   0x88

Definition at line 109 of file AcpiSdt.h.

#define AML_IS_NAME_CHAR   0x2

Definition at line 286 of file AcpiSdt.h.

#define AML_LAND_OP   0x90

Definition at line 117 of file AcpiSdt.h.

#define AML_LEQUAL_OP   0x93

Definition at line 120 of file AcpiSdt.h.

#define AML_LGREATER_OP   0x94

Definition at line 121 of file AcpiSdt.h.

#define AML_LLESS_OP   0x95

Definition at line 122 of file AcpiSdt.h.

#define AML_LNOT_OP   0x92

Definition at line 119 of file AcpiSdt.h.

#define AML_LOCAL0   0x60

Definition at line 70 of file AcpiSdt.h.

#define AML_LOCAL1   0x61

Definition at line 71 of file AcpiSdt.h.

#define AML_LOCAL2   0x62

Definition at line 72 of file AcpiSdt.h.

#define AML_LOCAL3   0x63

Definition at line 73 of file AcpiSdt.h.

#define AML_LOCAL4   0x64

Definition at line 74 of file AcpiSdt.h.

#define AML_LOCAL5   0x65

Definition at line 75 of file AcpiSdt.h.

#define AML_LOCAL6   0x66

Definition at line 76 of file AcpiSdt.h.

#define AML_LOCAL7   0x67

Definition at line 77 of file AcpiSdt.h.

#define AML_LOR_OP   0x91

Definition at line 118 of file AcpiSdt.h.

#define AML_MATCH_OP   0x89

Definition at line 110 of file AcpiSdt.h.

#define AML_METHOD_OP   0x14

Definition at line 38 of file AcpiSdt.h.

#define AML_MID_OP   0x9e

Definition at line 129 of file AcpiSdt.h.

#define AML_MOD_OP   0x85

Definition at line 106 of file AcpiSdt.h.

#define AML_MULTI_NAME_PREFIX   0x2f

Definition at line 40 of file AcpiSdt.h.

#define AML_MULTIPLY_OP   0x77

Definition at line 92 of file AcpiSdt.h.

#define AML_NAME   6

Definition at line 280 of file AcpiSdt.h.

#define AML_NAME_CHAR__   0x5f

Definition at line 69 of file AcpiSdt.h.

#define AML_NAME_CHAR_A   0x41

Definition at line 41 of file AcpiSdt.h.

#define AML_NAME_CHAR_B   0x42

Definition at line 42 of file AcpiSdt.h.

#define AML_NAME_CHAR_C   0x43

Definition at line 43 of file AcpiSdt.h.

#define AML_NAME_CHAR_D   0x44

Definition at line 44 of file AcpiSdt.h.

#define AML_NAME_CHAR_E   0x45

Definition at line 45 of file AcpiSdt.h.

#define AML_NAME_CHAR_F   0x46

Definition at line 46 of file AcpiSdt.h.

#define AML_NAME_CHAR_G   0x47

Definition at line 47 of file AcpiSdt.h.

#define AML_NAME_CHAR_H   0x48

Definition at line 48 of file AcpiSdt.h.

#define AML_NAME_CHAR_I   0x49

Definition at line 49 of file AcpiSdt.h.

#define AML_NAME_CHAR_J   0x4a

Definition at line 50 of file AcpiSdt.h.

#define AML_NAME_CHAR_K   0x4b

Definition at line 51 of file AcpiSdt.h.

#define AML_NAME_CHAR_L   0x4c

Definition at line 52 of file AcpiSdt.h.

#define AML_NAME_CHAR_M   0x4d

Definition at line 53 of file AcpiSdt.h.

#define AML_NAME_CHAR_N   0x4e

Definition at line 54 of file AcpiSdt.h.

#define AML_NAME_CHAR_O   0x4f

Definition at line 55 of file AcpiSdt.h.

#define AML_NAME_CHAR_P   0x50

Definition at line 56 of file AcpiSdt.h.

#define AML_NAME_CHAR_Q   0x51

Definition at line 57 of file AcpiSdt.h.

#define AML_NAME_CHAR_R   0x52

Definition at line 58 of file AcpiSdt.h.

#define AML_NAME_CHAR_S   0x53

Definition at line 59 of file AcpiSdt.h.

#define AML_NAME_CHAR_T   0x54

Definition at line 60 of file AcpiSdt.h.

#define AML_NAME_CHAR_U   0x55

Definition at line 61 of file AcpiSdt.h.

#define AML_NAME_CHAR_V   0x56

Definition at line 62 of file AcpiSdt.h.

#define AML_NAME_CHAR_W   0x57

Definition at line 63 of file AcpiSdt.h.

#define AML_NAME_CHAR_X   0x58

Definition at line 64 of file AcpiSdt.h.

#define AML_NAME_CHAR_Y   0x59

Definition at line 65 of file AcpiSdt.h.

#define AML_NAME_CHAR_Z   0x5a

Definition at line 66 of file AcpiSdt.h.

#define AML_NAME_OP   0x08

Definition at line 28 of file AcpiSdt.h.

#define AML_NAME_SEG_SIZE   4

Definition at line 222 of file AcpiSdt.h.

#define AML_NAND_OP   0x7c

Definition at line 97 of file AcpiSdt.h.

#define AML_NONE   0

Definition at line 274 of file AcpiSdt.h.

#define AML_NOOP_OP   0xa3

Definition at line 134 of file AcpiSdt.h.

#define AML_NOR_OP   0x7e

Definition at line 99 of file AcpiSdt.h.

#define AML_NOT_OP   0x80

Definition at line 101 of file AcpiSdt.h.

#define AML_NOTIFY_OP   0x86

Definition at line 107 of file AcpiSdt.h.

#define AML_OBJECT   8

Definition at line 282 of file AcpiSdt.h.

#define AML_OBJECT_TYPE_OP   0x8e

Definition at line 115 of file AcpiSdt.h.

#define AML_ONE_OP   0x01

Definition at line 26 of file AcpiSdt.h.

#define AML_ONES_OP   0xff

Definition at line 138 of file AcpiSdt.h.

#define AML_OP_PARSE_INDEX_GET_OPCODE   0

Definition at line 264 of file AcpiSdt.h.

#define AML_OP_PARSE_INDEX_GET_SIZE   (AML_OP_PARSE_INDEX)-1

Definition at line 271 of file AcpiSdt.h.

#define AML_OP_PARSE_INDEX_GET_TERM1   1

Definition at line 265 of file AcpiSdt.h.

#define AML_OP_PARSE_INDEX_GET_TERM2   2

Definition at line 266 of file AcpiSdt.h.

#define AML_OP_PARSE_INDEX_GET_TERM3   3

Definition at line 267 of file AcpiSdt.h.

#define AML_OP_PARSE_INDEX_GET_TERM4   4

Definition at line 268 of file AcpiSdt.h.

#define AML_OP_PARSE_INDEX_GET_TERM5   5

Definition at line 269 of file AcpiSdt.h.

#define AML_OP_PARSE_INDEX_GET_TERM6   6

Definition at line 270 of file AcpiSdt.h.

#define AML_OPCODE   1

Definition at line 275 of file AcpiSdt.h.

#define AML_OR_OP   0x7d

Definition at line 98 of file AcpiSdt.h.

#define AML_PACKAGE_OP   0x12

Definition at line 36 of file AcpiSdt.h.

#define AML_PARENT_PREFIX_CHAR   0x5e

Definition at line 68 of file AcpiSdt.h.

#define AML_QWORD_PREFIX   0x0e

Definition at line 33 of file AcpiSdt.h.

#define AML_REF_OF_OP   0x71

Definition at line 86 of file AcpiSdt.h.

#define AML_RETURN_OP   0xa4

Definition at line 135 of file AcpiSdt.h.

#define AML_ROOT_CHAR   0x5c

Definition at line 67 of file AcpiSdt.h.

#define AML_SCOPE_OP   0x10

Definition at line 34 of file AcpiSdt.h.

#define AML_SHIFT_LEFT_OP   0x79

Definition at line 94 of file AcpiSdt.h.

#define AML_SHIFT_RIGHT_OP   0x7a

Definition at line 95 of file AcpiSdt.h.

#define AML_SIZE_OF_OP   0x87

Definition at line 108 of file AcpiSdt.h.

#define AML_STORE_OP   0x70

Definition at line 85 of file AcpiSdt.h.

#define AML_STRING   7

Definition at line 281 of file AcpiSdt.h.

#define AML_STRING_PREFIX   0x0d

Definition at line 32 of file AcpiSdt.h.

#define AML_SUBTRACT_OP   0x74

Definition at line 89 of file AcpiSdt.h.

#define AML_TO_BUFFER_OP   0x96

Definition at line 123 of file AcpiSdt.h.

#define AML_TO_DEC_STRING_OP   0x97

Definition at line 124 of file AcpiSdt.h.

#define AML_TO_HEX_STRING_OP   0x98

Definition at line 125 of file AcpiSdt.h.

#define AML_TO_INTEGER_OP   0x99

Definition at line 126 of file AcpiSdt.h.

#define AML_TO_STRING_OP   0x9c

Definition at line 127 of file AcpiSdt.h.

#define AML_UINT16   3

Definition at line 277 of file AcpiSdt.h.

#define AML_UINT32   4

Definition at line 278 of file AcpiSdt.h.

#define AML_UINT64   5

Definition at line 279 of file AcpiSdt.h.

#define AML_UINT8   2

Definition at line 276 of file AcpiSdt.h.

#define AML_VAR_PACKAGE_OP   0x13

Definition at line 37 of file AcpiSdt.h.

#define AML_WHILE_OP   0xa2

Definition at line 133 of file AcpiSdt.h.

#define AML_WORD_PREFIX   0x0b

Definition at line 30 of file AcpiSdt.h.

#define AML_XOR_OP   0x7f

Definition at line 100 of file AcpiSdt.h.

#define AML_ZERO_OP   0x00

Definition at line 25 of file AcpiSdt.h.

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

Definition at line 200 of file AcpiSdt.h.

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

Definition at line 182 of file AcpiSdt.h.

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

Definition at line 243 of file AcpiSdt.h.

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

Definition at line 238 of file AcpiSdt.h.

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

Definition at line 208 of file AcpiSdt.h.

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

Definition at line 244 of file AcpiSdt.h.


Typedef Documentation

Definition at line 202 of file AcpiSdt.h.

Definition at line 284 of file AcpiSdt.h.

Definition at line 273 of file AcpiSdt.h.

Definition at line 262 of file AcpiSdt.h.

Definition at line 203 of file AcpiSdt.h.


Function Documentation

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 515 of file AmlNamespace.c.

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 248 of file AmlChild.c.

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 85 of file AmlChild.c.

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 112 of file AmlString.c.

CHAR8* AmlGetObjectName ( IN EFI_AML_HANDLE AmlHandle)

Return object name.

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

Definition at line 330 of file AmlOption.c.

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 297 of file AmlOption.c.

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 385 of file AmlOption.c.

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 244 of file Aml.c.

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 26 of file AmlString.c.

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 382 of file AmlString.c.

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 435 of file AmlOption.c.

VOID AmlPrintNameSeg ( IN UINT8 Buffer)

Print AML NameSeg.

Parameters:
[in]BufferAML NameSeg.

Definition at line 462 of file AmlString.c.

VOID AmlPrintNameString ( IN UINT8 Buffer)

Print AML NameString.

Parameters:
[in]BufferAML NameString.

Definition at line 488 of file AmlString.c.

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 186 of file Aml.c.

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 224 of file Aml.c.

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 592 of file AcpiSdt.c.

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 987 of file AcpiSdt.c.

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.
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.
Return values:
EFI_SUCCESSThe function completed successfully.
EFI_NOT_FOUNDThe requested index is too large and a table was not found.

Definition at line 222 of file AcpiSdt.c.

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 781 of file AcpiSdt.c.

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 643 of file AcpiSdt.c.

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 557 of file AcpiSdt.c.

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 476 of file AcpiSdt.c.

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 386 of file AcpiSdt.c.

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 501 of file AcpiSdt.c.

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 708 of file AcpiSdt.c.

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines