19STATIC UINT32 *InstructionEntryCount;
25 L
"BEGIN_WRITE_OPERATION",
26 L
"BEGIN_READ_OPERATION",
27 L
"BEGIN_CLEAR_OPERATION",
32 L
"GET_COMMAND_STATUS",
33 L
"GET_RECORD_IDENTIFIER",
34 L
"SET_RECORD_IDENTIFIER",
36 L
"BEGIN_DUMMY_WRITE_OPERATION",
38 L
"GET_ERROR_LOG_ADDRESS_RANGE",
39 L
"GET_ERROR_LOG_ADDRESS_RANGE_LENGTH",
40 L
"GET_ERROR_LOG_ADDRESS_RANGE_ATTRIBUTES",
41 L
"GET_EXECUTE_OPERATION_TIMINGS"
49 L
"READ_REGISTER_VALUE",
51 L
"WRITE_REGISTER_VALUE",
62 L
"SKIP_NEXT_INSTRUCTION_IF_TRUE",
64 L
"SET_SRC_ADDRESS_BASE",
65 L
"SET_DST_ADDRESS_BASE",
86 if (*Ptr > EFI_ACPI_6_4_ERST_GET_EXECUTE_OPERATION_TIMINGS) {
88 Print (L
"\nError: 0x%02x is not a valid action encoding", *Ptr);
109 if (*Ptr > EFI_ACPI_6_4_ERST_MOVE_DATA) {
111 Print (L
"\nError: 0x%02x is not a valid instruction encoding", *Ptr);
132 if ((*Ptr & 0xfe) != 0) {
134 Print (L
"\nError: Reserved Flag bits not set to 0");
154 CONST CHAR16 *String;
156 if (Index < NumEntries) {
157 String = Table[Index];
159 String = L
"**INVALID**";
180 IN CONST CHAR16 *Format OPTIONAL,
199 IN CONST CHAR16 *Format OPTIONAL,
214 { L
"Instruction Entry Count", 4, 44, L
"0x%x",
NULL, (VOID **)&InstructionEntryCount,
NULL,
NULL }
247 IN UINT32 AcpiTableLength,
248 IN UINT8 AcpiTableRevision
269 L
"ERROR: Invalid InstructionEntryCount. " \
270 L
"Count = %d. Offset = %d. AcpiTableLength = %d.\n",
271 *InstructionEntryCount,
278 while (Offset < AcpiTableLength) {
282 "Serialization Action",
284 (AcpiTableLength - Offset),
VOID EFIAPI DumpGas(IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
VOID EFIAPI IncrementErrorCount(VOID)
UINT32 EFIAPI ParseAcpi(IN BOOLEAN Trace, IN UINT32 Indent, IN CONST CHAR8 *AsciiName OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length, IN CONST ACPI_PARSER *Parser, IN UINT32 ParserItems)
#define PARSER_PARAMS(Parser)
#define PARSE_ACPI_HEADER(Info)
STATIC VOID EFIAPI FormatByte(IN CONST CHAR16 *Table[], IN UINT8 Index, IN UINT8 NumEntries)
STATIC VOID EFIAPI DumpErstInstruction(IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
STATIC CONST CHAR16 * ErstActionTable[]
STATIC CONST CHAR16 * ErstInstructionTable[]
STATIC CONST ACPI_PARSER ErstParser[]
STATIC VOID EFIAPI ValidateErstFlags(IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
STATIC CONST ACPI_PARSER SerializationInstructionEntryParser[]
STATIC VOID EFIAPI DumpErstAction(IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
STATIC VOID EFIAPI ValidateErstAction(IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
VOID EFIAPI ParseAcpiErst(IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
STATIC VOID EFIAPI ValidateErstInstruction(IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
#define ARRAY_SIZE(Array)
UINTN EFIAPI Print(IN CONST CHAR16 *Format,...)