TianoCore EDK2 master
|
Macros | |
#define | MAX_AML_NAMESTRING_SIZE 1277U |
#define | MAX_ASL_NAMESTRING_SIZE 1529U |
#define | AML_METHOD_INVOC_OP 0xD0 |
#define | AML_FIELD_NAMED_OP 0x04 |
Typedefs | |
typedef enum EAmlNodeDataType | EAML_NODE_DATA_TYPE |
typedef enum EAmlParseIndex | EAML_PARSE_INDEX |
typedef enum EAmlObjType | EAML_OBJ_TYPE |
typedef enum EAmlNodeType | EAML_NODE_TYPE |
The AML tree created by the AMLLib relies on enum/define values and structures defined here.
#define AML_FIELD_NAMED_OP 0x04 |
Pseudo OpCode for NamedField field elements.
The AML grammar does not attribute an OpCode/SubOpCode couple for the NamedField field element. This library is representing NamedField field elements as if they had one.
The AML encoding for NamedField field elements in the ACPI specification 6.3 is: NamedField := NameSeg PkgLength In this library, it is: NamedField := NamedFieldOp NameSeg PkgLength
When computing the size of a tree or serializing it, the additional data is not taken into account (i.e. the NamedFieldOp).
Definition at line 139 of file AmlDefines.h.
#define AML_METHOD_INVOC_OP 0xD0 |
Pseudo OpCode for method invocations.
The AML grammar does not attribute an OpCode/SubOpCode couple for method invocations. This library is representing method invocations as if they had one.
The AML encoding for method invocations in the ACPI specification 6.3 is: MethodInvocation := NameString TermArgList In this library, it is: MethodInvocation := MethodInvocationOp NameString ArgumentCount TermArgList ArgumentCount := ByteData
When computing the size of a tree or serializing it, the additional data is not taken into account (i.e. the MethodInvocationOp and the ArgumentCount).
Definition at line 120 of file AmlDefines.h.
#define MAX_AML_NAMESTRING_SIZE 1277U |
Maximum size of an AML NameString.
An AML NameString can be at most (255 * 4) + 255 + 2 = 1277 bytes long. Indeed, according to ACPI 6.3 specification, s20.2.2, an AML NameString can be resolved as a MultiNamePath.
The encoding of this MultiNamePath can be made of at most:
Definition at line 87 of file AmlDefines.h.
#define MAX_ASL_NAMESTRING_SIZE 1529U |
Maximum size of an ASL NameString.
An ASL NameString can be at most (255 * 4) + 255 + 254 = 1529 bytes long. Cf the ASL grammar available in ACPI 6.3 specification, 19.2.2.
The encoding of an ASL NameString can be made of at most:
Definition at line 101 of file AmlDefines.h.
typedef enum EAmlNodeDataType EAML_NODE_DATA_TYPE |
AML tree node types.
Data nodes are tagged with the data type they contain. Some data types cannot be used for data nodes (None, Object). EAmlUIntX types are converted to the EAML_NODE_DATA_TYPE enum type. These types are accessible externally.
typedef enum EAmlNodeType EAML_NODE_TYPE |
Node types.
typedef enum EAmlObjType EAML_OBJ_TYPE |
AML object types.
The ACPI specification defines several object types. They are listed with the definition of ObjectTypeKeyword.
typedef enum EAmlParseIndex EAML_PARSE_INDEX |
Indexes of fixed arguments.
AML objects defined the ACPI 6.3 specification, s20.3 "AML Byte Stream Byte Values" can have at most 6 fixed arguments.
Method and functions can have at most 7 arguments, cf s19.6.83 "Method (Declare Control Method)". The enum goes to 8 to store the name of the method invocation.
enum EAmlNodeDataType |
AML tree node types.
Data nodes are tagged with the data type they contain. Some data types cannot be used for data nodes (None, Object). EAmlUIntX types are converted to the EAML_NODE_DATA_TYPE enum type. These types are accessible externally.
Definition at line 30 of file AmlDefines.h.
enum EAmlNodeType |
Node types.
Definition at line 171 of file AmlDefines.h.
enum EAmlObjType |
AML object types.
The ACPI specification defines several object types. They are listed with the definition of ObjectTypeKeyword.
Definition at line 148 of file AmlDefines.h.
enum EAmlParseIndex |
Indexes of fixed arguments.
AML objects defined the ACPI 6.3 specification, s20.3 "AML Byte Stream Byte Values" can have at most 6 fixed arguments.
Method and functions can have at most 7 arguments, cf s19.6.83 "Method (Declare Control Method)". The enum goes to 8 to store the name of the method invocation.
Definition at line 64 of file AmlDefines.h.