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

Go to the source code of this file.

Data Structures

struct  AcpiParser
 
struct  AcpiDescriptionHeaderInfo
 

Macros

#define OUTPUT_FIELD_COLUMN_WIDTH   36
 
#define RSDP_TABLE_INFO   SIGNATURE_32('R', 'S', 'D', 'P')
 
#define PARSER_PARAMS(Parser)   Parser, sizeof (Parser) / sizeof (Parser[0])
 
#define PARSE_ACPI_HEADER(Info)
 

Typedefs

typedef VOID(EFIAPI * FNPTR_PRINT_FORMATTER) (CONST CHAR16 *Format, UINT8 *Ptr, UINT32 Length)
 
typedef VOID(EFIAPI * FNPTR_FIELD_VALIDATOR) (UINT8 *Ptr, UINT32 Length, VOID *Context)
 
typedef struct AcpiParser ACPI_PARSER
 
typedef struct AcpiDescriptionHeaderInfo ACPI_DESCRIPTION_HEADER_INFO
 

Functions

VOID EFIAPI IncrementErrorCount (VOID)
 
VOID EFIAPI IncrementWarningCount (VOID)
 
BOOLEAN EFIAPI VerifyChecksum (IN BOOLEAN Log, IN UINT8 *Ptr, IN UINT32 Length)
 
VOID EFIAPI DumpRaw (IN UINT8 *Ptr, IN UINT32 Length)
 
VOID EFIAPI DumpUint8 (IN CONST CHAR16 *Format, IN UINT8 *Ptr)
 
VOID EFIAPI DumpUint16 (IN CONST CHAR16 *Format, IN UINT8 *Ptr)
 
VOID EFIAPI DumpUint32 (IN CONST CHAR16 *Format, IN UINT8 *Ptr)
 
VOID EFIAPI DumpUint64 (IN CONST CHAR16 *Format, IN UINT8 *Ptr)
 
VOID EFIAPI Dump3Chars (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
 
VOID EFIAPI Dump4Chars (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
 
VOID EFIAPI Dump6Chars (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
 
VOID EFIAPI Dump8Chars (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
 
VOID EFIAPI Dump12Chars (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
 
VOID EFIAPI Dump16Chars (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
 
VOID EFIAPI DumpReserved (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
 
VOID EFIAPI DumpReservedBits (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
 
VOID EFIAPI PrintFieldName (IN UINT32 Indent, IN CONST CHAR16 *FieldName)
 
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)
 
UINT32 EFIAPI ParseAcpiBitFields (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)
 
UINT32 EFIAPI DumpGasStruct (IN UINT8 *Ptr, IN UINT32 Indent, IN UINT32 Length)
 
VOID EFIAPI DumpGas (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
 
UINT32 EFIAPI DumpAcpiHeader (IN UINT8 *Ptr)
 
UINT32 EFIAPI ParseAcpiHeader (IN UINT8 *Ptr, OUT CONST UINT32 **Signature, OUT CONST UINT32 **Length, OUT CONST UINT8 **Revision)
 
VOID EFIAPI ParseAcpiAest (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiApmt (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiBgrt (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiDbg2 (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiDsdt (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiEinj (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiErst (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiFacs (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiFadt (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiGtdt (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiHest (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiHmat (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiHpet (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiIort (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiMadt (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiMcfg (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiMpam (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiPcct (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiPptt (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiRas2 (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiRasf (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiRsdp (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiSlit (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiSpcr (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiSrat (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiSsdt (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiWsmt (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
VOID EFIAPI ParseAcpiXsdt (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 

Detailed Description

Header file for ACPI parser

Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. Copyright (c) 2016 - 2024, Arm Limited. All rights reserved. Copyright (c) 2022, AMD Incorporated. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file AcpiParser.h.

Macro Definition Documentation

◆ OUTPUT_FIELD_COLUMN_WIDTH

#define OUTPUT_FIELD_COLUMN_WIDTH   36

Definition at line 13 of file AcpiParser.h.

◆ PARSE_ACPI_HEADER

#define PARSE_ACPI_HEADER (   Info)
Value:
{ L"Signature", 4, 0, NULL, Dump4Chars, \
(VOID**)&(Info)->Signature , NULL, NULL }, \
{ L"Length", 4, 4, L"%d", NULL, \
(VOID**)&(Info)->Length, NULL, NULL }, \
{ L"Revision", 1, 8, L"%d", NULL, \
(VOID**)&(Info)->Revision, NULL, NULL }, \
{ L"Checksum", 1, 9, L"0x%X", NULL, \
(VOID**)&(Info)->Checksum, NULL, NULL }, \
{ L"Oem ID", 6, 10, NULL, Dump6Chars, \
(VOID**)&(Info)->OemId, NULL, NULL }, \
{ L"Oem Table ID", 8, 16, NULL, Dump8Chars, \
(VOID**)&(Info)->OemTableId, NULL, NULL }, \
{ L"Oem Revision", 4, 24, L"0x%X", NULL, \
(VOID**)&(Info)->OemRevision, NULL, NULL }, \
{ L"Creator ID", 4, 28, NULL, Dump4Chars, \
(VOID**)&(Info)->CreatorId, NULL, NULL }, \
{ L"Creator Revision", 4, 32, L"0x%X", NULL, \
(VOID**)&(Info)->CreatorRevision, NULL, NULL }
VOID EFIAPI Dump4Chars(IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
Definition: AcpiParser.c:352
VOID EFIAPI Dump8Chars(IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
Definition: AcpiParser.c:408
VOID EFIAPI Dump6Chars(IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
Definition: AcpiParser.c:379
#define NULL
Definition: Base.h:319

This is a helper macro for describing the ACPI header fields.

Parameters
[out]InfoPointer to retrieve the ACPI table header information.

Definition at line 501 of file AcpiParser.h.

◆ PARSER_PARAMS

#define PARSER_PARAMS (   Parser)    Parser, sizeof (Parser) / sizeof (Parser[0])

This is a helper macro to pass parameters to the Parser functions.

Parameters
[in]ParserThe name of the ACPI_PARSER array describing the ACPI table fields.

Definition at line 494 of file AcpiParser.h.

◆ RSDP_TABLE_INFO

#define RSDP_TABLE_INFO   SIGNATURE_32('R', 'S', 'D', 'P')

The RSDP table signature is "RSD PTR " (8 bytes) However The signature for ACPI tables is 4 bytes. To work around this oddity define a signature type that allows us to process the log options.

Definition at line 19 of file AcpiParser.h.

Typedef Documentation

◆ ACPI_DESCRIPTION_HEADER_INFO

A structure used to store the pointers to the members of the ACPI description header structure that was parsed.

◆ ACPI_PARSER

typedef struct AcpiParser ACPI_PARSER

The ACPI_PARSER structure describes the fields of an ACPI table and provides means for the parser to interpret and trace appropriately.

The first three members are populated based on information present in in the ACPI table specifications. The remaining members describe how the parser should report the field information, validate the field data and/or update an external pointer to the field (ItemPtr).

ParseAcpi() uses the format string specified by 'Format' for tracing the field data. If the field is more complex and requires additional processing for formatting and representation a print formatter function can be specified in 'PrintFormatter'.

ParseAcpiBitFields() uses AcpiParser structure to parse the bit fields. It considers Length as a number of bits that need to be parsed. Also, the Offset field will be considered as starting offset of the bitfield.

The PrintFormatter function may choose to use the format string specified by 'Format' or use its own internal format string.

The 'Format' and 'PrintFormatter' members allow flexibility for representing the field data.

◆ FNPTR_FIELD_VALIDATOR

typedef VOID(EFIAPI * FNPTR_FIELD_VALIDATOR) (UINT8 *Ptr, UINT32 Length, VOID *Context)

This function pointer is the template for validating an ACPI table field.

Parameters
[in]PtrPointer to the start of the field data.
[in]LengthLength of the field.
[in]ContextPointer to context specific information as specified by the 'Context' member of the ACPI_PARSER. e.g. this could be a pointer to the ACPI table header.

Definition at line 309 of file AcpiParser.h.

◆ FNPTR_PRINT_FORMATTER

typedef VOID(EFIAPI * FNPTR_PRINT_FORMATTER) (CONST CHAR16 *Format, UINT8 *Ptr, UINT32 Length)

This function pointer is the template for customizing the trace output

Parameters
[in]FormatFormat string for tracing the data as specified by the 'Format' member of ACPI_PARSER.
[in]PtrPointer to the start of the buffer.
[in]LengthLength of the field.

Definition at line 298 of file AcpiParser.h.

Function Documentation

◆ Dump12Chars()

VOID EFIAPI Dump12Chars ( IN CONST CHAR16 *Format  OPTIONAL,
IN UINT8 *  Ptr,
IN UINT32  Length 
)

This function traces 12 characters which can be optionally formated using the format string if specified.

If no format string is specified the Format must be NULL.

Parameters
[in]FormatOptional format string for tracing the data.
[in]PtrPointer to the start of the buffer.
[in]LengthLength of the field.

Definition at line 439 of file AcpiParser.c.

◆ Dump16Chars()

VOID EFIAPI Dump16Chars ( IN CONST CHAR16 *Format  OPTIONAL,
IN UINT8 *  Ptr,
IN UINT32  Length 
)

This function traces 16 characters which can be optionally formated using the format string if specified.

If no format string is specified the Format must be NULL.

Parameters
[in]FormatOptional format string for tracing the data.
[in]PtrPointer to the start of the buffer.
[in]LengthLength of the field.

Definition at line 474 of file AcpiParser.c.

◆ Dump3Chars()

VOID EFIAPI Dump3Chars ( IN CONST CHAR16 *Format  OPTIONAL,
IN UINT8 *  Ptr,
IN UINT32  Length 
)

This function traces 3 characters which can be optionally formated using the format string if specified.

If no format string is specified the Format must be NULL.

Parameters
[in]FormatOptional format string for tracing the data.
[in]PtrPointer to the start of the buffer.
[in]LengthLength of the field.

Definition at line 326 of file AcpiParser.c.

◆ Dump4Chars()

VOID EFIAPI Dump4Chars ( IN CONST CHAR16 *Format  OPTIONAL,
IN UINT8 *  Ptr,
IN UINT32  Length 
)

This function traces 4 characters which can be optionally formated using the format string if specified.

If no format string is specified the Format must be NULL.

Parameters
[in]FormatOptional format string for tracing the data.
[in]PtrPointer to the start of the buffer.
[in]LengthLength of the field.

Definition at line 352 of file AcpiParser.c.

◆ Dump6Chars()

VOID EFIAPI Dump6Chars ( IN CONST CHAR16 *Format  OPTIONAL,
IN UINT8 *  Ptr,
IN UINT32  Length 
)

This function traces 6 characters which can be optionally formated using the format string if specified.

If no format string is specified the Format must be NULL.

Parameters
[in]FormatOptional format string for tracing the data.
[in]PtrPointer to the start of the buffer.
[in]LengthLength of the field.

Definition at line 379 of file AcpiParser.c.

◆ Dump8Chars()

VOID EFIAPI Dump8Chars ( IN CONST CHAR16 *Format  OPTIONAL,
IN UINT8 *  Ptr,
IN UINT32  Length 
)

This function traces 8 characters which can be optionally formated using the format string if specified.

If no format string is specified the Format must be NULL.

Parameters
[in]FormatOptional format string for tracing the data.
[in]PtrPointer to the start of the buffer.
[in]LengthLength of the field.

Definition at line 408 of file AcpiParser.c.

◆ DumpAcpiHeader()

UINT32 EFIAPI DumpAcpiHeader ( IN UINT8 *  Ptr)

This function traces the ACPI header as described by the AcpiHeaderParser.

Parameters
[in]PtrPointer to the start of the buffer.
Return values
Numberof bytes parsed.

Definition at line 885 of file AcpiParser.c.

◆ DumpGas()

VOID EFIAPI DumpGas ( IN CONST CHAR16 *Format  OPTIONAL,
IN UINT8 *  Ptr,
IN UINT32  Length 
)

This function traces the GAS structure as described by the GasParser.

Parameters
[in]FormatOptional format string for tracing the data.
[in]PtrPointer to the start of the buffer.
[in]LengthLength of the field.

Definition at line 867 of file AcpiParser.c.

◆ DumpGasStruct()

UINT32 EFIAPI DumpGasStruct ( IN UINT8 *  Ptr,
IN UINT32  Indent,
IN UINT32  Length 
)

This function indents and traces the GAS structure as described by the GasParser.

Parameters
[in]PtrPointer to the start of the buffer.
[in]IndentNumber of spaces to indent the output.
[in]LengthLength of the GAS structure buffer.
Return values
Numberof bytes parsed.

Definition at line 841 of file AcpiParser.c.

◆ DumpRaw()

VOID EFIAPI DumpRaw ( IN UINT8 *  Ptr,
IN UINT32  Length 
)

This function performs a raw data dump of the ACPI table.

Parameters
[in]PtrPointer to the start of the table buffer.
[in]LengthThe length of the buffer.

Definition at line 184 of file AcpiParser.c.

◆ DumpReserved()

VOID EFIAPI DumpReserved ( IN CONST CHAR16 *Format  OPTIONAL,
IN UINT8 *  Ptr,
IN UINT32  Length 
)

This function traces reserved fields up to 8 bytes in length.

Format string is ignored by this function as the reserved field is printed byte by byte with intermittent spacing <eg: 0 0 0 0>. Use DumpxChars for any other use case.

Parameters
[in]FormatOptional format string for tracing the data.
[in]PtrPointer to the start of the buffer.
[in]LengthLength of the field.

Definition at line 513 of file AcpiParser.c.

◆ DumpReservedBits()

VOID EFIAPI DumpReservedBits ( IN CONST CHAR16 *Format  OPTIONAL,
IN UINT8 *  Ptr,
IN UINT32  Length 
)

This function traces reserved fields up to 64 bits in length.

Format string is ignored by this function as the reserved field is printed byte by byte with intermittent spacing. eg: <0 0 0 0>. When the field length isn't a multiple of 8, the number of bytes are "ceil"-ed by one. eg for 27 bits <0 0 0 0>

Parameters
[in]FormatOptional format string for tracing the data.
[in]PtrPointer to the start of the buffer.
[in]LengthLength of the field as number of bits.

Definition at line 615 of file AcpiParser.c.

◆ DumpUint16()

VOID EFIAPI DumpUint16 ( IN CONST CHAR16 *  Format,
IN UINT8 *  Ptr 
)

This function traces 2 bytes of data as specified in the format string.

Parameters
[in]FormatThe format string for tracing the data.
[in]PtrPointer to the start of the buffer.

Definition at line 264 of file AcpiParser.c.

◆ DumpUint32()

VOID EFIAPI DumpUint32 ( IN CONST CHAR16 *  Format,
IN UINT8 *  Ptr 
)

This function traces 4 bytes of data as specified in the format string.

Parameters
[in]FormatThe format string for tracing the data.
[in]PtrPointer to the start of the buffer.

Definition at line 280 of file AcpiParser.c.

◆ DumpUint64()

VOID EFIAPI DumpUint64 ( IN CONST CHAR16 *  Format,
IN UINT8 *  Ptr 
)

This function traces 8 bytes of data as specified by the format string.

Parameters
[in]FormatThe format string for tracing the data.
[in]PtrPointer to the start of the buffer.

Definition at line 296 of file AcpiParser.c.

◆ DumpUint8()

VOID EFIAPI DumpUint8 ( IN CONST CHAR16 *  Format,
IN UINT8 *  Ptr 
)

This function traces 1 byte of datum as specified in the format string.

Parameters
[in]FormatThe format string for tracing the data.
[in]PtrPointer to the start of the buffer.

This function traces 1 byte of data as specified in the format string.

Parameters
[in]FormatThe format string for tracing the data.
[in]PtrPointer to the start of the buffer.

Definition at line 248 of file AcpiParser.c.

◆ IncrementErrorCount()

VOID EFIAPI IncrementErrorCount ( VOID  )

This function increments the ACPI table error counter.

Definition at line 83 of file AcpiParser.c.

◆ IncrementWarningCount()

VOID EFIAPI IncrementWarningCount ( VOID  )

This function increments the ACPI table warning counter.

Definition at line 95 of file AcpiParser.c.

◆ ParseAcpi()

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 
)

This function is used to parse an ACPI table buffer.

The ACPI table buffer is parsed using the ACPI table parser information specified by a pointer to an array of ACPI_PARSER elements. This parser function iterates through each item on the ACPI_PARSER array and logs the ACPI table fields.

This function can optionally be used to parse ACPI tables and fetch specific field values. The ItemPtr member of the ACPI_PARSER structure (where used) is updated by this parser function to point to the selected field data (e.g. useful for variable length nested fields).

Parameters
[in]TraceTrace the ACPI fields TRUE else only parse the table.
[in]IndentNumber of spaces to indent the output.
[in]AsciiNameOptional pointer to an ASCII string that describes the table being parsed.
[in]PtrPointer to the start of the buffer.
[in]LengthLength of the buffer pointed by Ptr.
[in]ParserPointer to an array of ACPI_PARSER structure that describes the table being parsed.
[in]ParserItemsNumber of items in the ACPI_PARSER array.
Return values
Numberof bytes parsed.

Definition at line 683 of file AcpiParser.c.

◆ ParseAcpiAest()

VOID EFIAPI ParseAcpiAest ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI AEST table. When trace is enabled this function parses the AEST table and traces the ACPI table fields.

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 692 of file AestParser.c.

◆ ParseAcpiApmt()

VOID EFIAPI ParseAcpiApmt ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI APMT table. When trace is enabled this function parses the APMT table and traces the ACPI table fields.

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 62 of file ApmtParser.c.

◆ ParseAcpiBgrt()

VOID EFIAPI ParseAcpiBgrt ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI BGRT table. When trace is enabled this function parses the BGRT table and traces the ACPI table fields.

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 46 of file BgrtParser.c.

◆ ParseAcpiBitFields()

UINT32 EFIAPI ParseAcpiBitFields ( 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 
)

This function is used to parse an ACPI table bitfield buffer.

The ACPI table buffer is parsed using the ACPI table parser information specified by a pointer to an array of ACPI_PARSER elements. This parser function iterates through each item on the ACPI_PARSER array and logs the ACPI table bitfields.

This function can optionally be used to parse ACPI tables and fetch specific field values. The ItemPtr member of the ACPI_PARSER structure (where used) is updated by this parser function to point to the selected field data (e.g. useful for variable length nested fields).

ItemPtr member of ACPI_PARSER is not supported with this function.

Parameters
[in]TraceTrace the ACPI fields TRUE else only parse the table.
[in]IndentNumber of spaces to indent the output.
[in]AsciiNameOptional pointer to an ASCII string that describes the table being parsed.
[in]PtrPointer to the start of the buffer.
[in]LengthLength of the buffer pointed by Ptr.
[in]ParserPointer to an array of ACPI_PARSER structure that describes the table being parsed.
[in]ParserItemsNumber of items in the ACPI_PARSER array.
Return values
Numberof bits parsed.

This function is used to parse an ACPI table bitfield buffer.

The ACPI table buffer is parsed using the ACPI table parser information specified by a pointer to an array of ACPI_PARSER elements. This parser function iterates through each item on the ACPI_PARSER array and logs the ACPI table bitfields.

This function can optionally be used to parse ACPI tables and fetch specific field values. The ItemPtr member of the ACPI_PARSER structure (where used) is updated by this parser function to point to the selected field data (e.g. useful for variable length nested fields).

ItemPtr member of ACPI_PARSER is not supported with this function.

Parameters
[in]TraceTrace the ACPI fields TRUE else only parse the table.
[in]IndentNumber of spaces to indent the output.
[in]AsciiNameOptional pointer to an ASCII string that describes the table being parsed.
[in]PtrPointer to the start of the buffer.
[in]LengthLength in bytes of the buffer pointed by Ptr.
[in]ParserPointer to an array of ACPI_PARSER structure that describes the table being parsed.
[in]ParserItemsNumber of items in the ACPI_PARSER array.
Return values
Numberof bits parsed.

Definition at line 968 of file AcpiParser.c.

◆ ParseAcpiDbg2()

VOID EFIAPI ParseAcpiDbg2 ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI DBG2 table. When trace is enabled this function parses the DBG2 table and traces the ACPI table fields.

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 232 of file Dbg2Parser.c.

◆ ParseAcpiDsdt()

VOID EFIAPI ParseAcpiDsdt ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI DSDT table. When trace is enabled this function parses the DSDT table and traces the ACPI table fields. For the DSDT table only the ACPI header fields are parsed and traced.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 30 of file DsdtParser.c.

◆ ParseAcpiEinj()

VOID EFIAPI ParseAcpiEinj ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the EINJ table. When trace is enabled this function parses the EINJ table and traces the ACPI table fields.

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 305 of file EinjParser.c.

◆ ParseAcpiErst()

VOID EFIAPI ParseAcpiErst ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI ERST table. When trace is enabled this function parses the ERST table and traces the ACPI table fields.

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 244 of file ErstParser.c.

◆ ParseAcpiFacs()

VOID EFIAPI ParseAcpiFacs ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI FACS table. When trace is enabled this function parses the FACS table and traces the ACPI table fields.

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 52 of file FacsParser.c.

◆ ParseAcpiFadt()

VOID EFIAPI ParseAcpiFadt ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI FADT table. This function parses the FADT table and optionally traces the ACPI table fields.

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 276 of file FadtParser.c.

◆ ParseAcpiGtdt()

VOID EFIAPI ParseAcpiGtdt ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI GTDT table. When trace is enabled this function parses the GTDT table and traces the ACPI table fields.

This function also parses the following platform timer structures:

  • GT Block timer
  • Watchdog timer

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 270 of file GtdtParser.c.

◆ ParseAcpiHeader()

UINT32 EFIAPI ParseAcpiHeader ( IN UINT8 *  Ptr,
OUT CONST UINT32 **  Signature,
OUT CONST UINT32 **  Length,
OUT CONST UINT8 **  Revision 
)

This function parses the ACPI header as described by the AcpiHeaderParser.

This function optionally returns the Signature, Length and revision of the ACPI table.

Parameters
[in]PtrPointer to the start of the buffer.
[out]SignatureGets location of the ACPI table signature.
[out]LengthGets location of the length of the ACPI table.
[out]RevisionGets location of the revision of the ACPI table.
Return values
Numberof bytes parsed.

This function parses the ACPI header as described by the AcpiHeaderParser.

This function optionally returns the signature, length and revision of the ACPI table.

Parameters
[in]PtrPointer to the start of the buffer.
[out]SignatureGets location of the ACPI table signature.
[out]LengthGets location of the length of the ACPI table.
[out]RevisionGets location of the revision of the ACPI table.
Return values
Numberof bytes parsed.

Definition at line 914 of file AcpiParser.c.

◆ ParseAcpiHest()

VOID EFIAPI ParseAcpiHest ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI HEST table. When trace is enabled this function parses the HEST table and traces the ACPI table fields.

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 748 of file HestParser.c.

◆ ParseAcpiHmat()

VOID EFIAPI ParseAcpiHmat ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI HMAT table. When trace is enabled this function parses the HMAT table and traces the ACPI table fields.

This function parses the following HMAT structures:

  • Memory Proximity Domain Attributes Structure (Type 0)
  • System Locality Latency and Bandwidth Info Structure (Type 1)
  • Memory Side Cache Info structure (Type 2)

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 573 of file HmatParser.c.

◆ ParseAcpiHpet()

VOID EFIAPI ParseAcpiHpet ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI HPET table.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 214 of file HpetParser.c.

◆ ParseAcpiIort()

VOID EFIAPI ParseAcpiIort ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI IORT table. When trace is enabled this function parses the IORT table and traces the ACPI fields.

This function also parses the following nodes:

  • ITS Group
  • Named Component
  • Root Complex
  • SMMUv1/2
  • SMMUv3
  • PMCG

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

This function parses the ACPI IORT table. When trace is enabled this function parses the IORT table and traces the ACPI fields.

This function also parses the following nodes:

  • ITS Group
  • Named Component
  • Root Complex
  • SMMUv1/2
  • SMMUv3
  • PMCG
  • RMR

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 812 of file IortParser.c.

◆ ParseAcpiMadt()

VOID EFIAPI ParseAcpiMadt ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI MADT table. When trace is enabled this function parses the MADT table and traces the ACPI table fields.

This function currently parses the following Interrupt Controller Structures:

  • GICC
  • GICD
  • GIC MSI Frame
  • GICR
  • GIC ITS

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 530 of file MadtParser.c.

◆ ParseAcpiMcfg()

VOID EFIAPI ParseAcpiMcfg ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI MCFG table. When trace is enabled this function parses the MCFG table and traces the ACPI table fields.

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 52 of file McfgParser.c.

◆ ParseAcpiMpam()

VOID EFIAPI ParseAcpiMpam ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI MPAM table. When trace is enabled this function parses the MPAM table and traces the ACPI table fields.

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

This function parses the MPAM ACPI table's generic header. It also invokes a sub routine that would help with parsing rest of the table.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 1197 of file MpamParser.c.

◆ ParseAcpiPcct()

VOID EFIAPI ParseAcpiPcct ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI PCCT table including its sub-structures of type 0 through 4. When trace is enabled this function parses the PCCT table and traces the ACPI table fields.

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 566 of file PcctParser.c.

◆ ParseAcpiPptt()

VOID EFIAPI ParseAcpiPptt ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI PPTT table. When trace is enabled this function parses the PPTT table and traces the ACPI table fields.

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

This function parses the ACPI PPTT table. When trace is enabled this function parses the PPTT table and traces the ACPI table fields.

This function parses the following processor topology structures:

  • Processor hierarchy node structure (Type 0)
  • Cache Type Structure (Type 1)

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 486 of file PpttParser.c.

◆ ParseAcpiRas2()

VOID EFIAPI ParseAcpiRas2 ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI RAS2 table. When trace is enabled this function parses the RAS2 table and traces the ACPI table fields.

This function parses the RAS2 ACPI table along with PCC Entries

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

This function parses the ACPI RAS2 table. When trace is enabled this function parses the RAS2 table and traces the ACPI table fields.

This function parses the following RAS2 structures:

  • Pcc Instries
  • Entry Pcc ID
  • Entry Feature Type
  • Entry Pcc Instance

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 79 of file Ras2Parser.c.

◆ ParseAcpiRasf()

VOID EFIAPI ParseAcpiRasf ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI RASF table. When trace is enabled this function parses the RASF table and traces the ACPI table fields.

This function parses the RASF ACPI table

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

This function parses the ACPI RASF table. When trace is enabled this function parses the RASF table and traces the ACPI table fields.

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 41 of file RasfParser.c.

◆ ParseAcpiRsdp()

VOID EFIAPI ParseAcpiRsdp ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI RSDP table.

This function invokes the parser for the XSDT table. Note - This function does not support parsing of RSDT table.

This function also performs a RAW dump of the ACPI table and validates the checksum.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 126 of file RsdpParser.c.

◆ ParseAcpiSlit()

VOID EFIAPI ParseAcpiSlit ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI SLIT table. When trace is enabled this function parses the SLIT table and traces the ACPI table fields.

This function also validates System Localities for the following:

  • Diagonal elements have a normalized value of 10
  • Relative distance from System Locality at i*N+j is same as j*N+i
Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 52 of file SlitParser.c.

◆ ParseAcpiSpcr()

VOID EFIAPI ParseAcpiSpcr ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI SPCR table. When trace is enabled this function parses the SPCR table and traces the ACPI table fields.

This function also performs validations of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 131 of file SpcrParser.c.

◆ ParseAcpiSrat()

VOID EFIAPI ParseAcpiSrat ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI SRAT table. When trace is enabled this function parses the SRAT table and traces the ACPI table fields.

This function parses the following Resource Allocation Structures:

  • Processor Local APIC/SAPIC Affinity Structure
  • Memory Affinity Structure
  • Processor Local x2APIC Affinity Structure
  • GICC Affinity Structure

This function also performs validation of the ACPI table fields.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 364 of file SratParser.c.

◆ ParseAcpiSsdt()

VOID EFIAPI ParseAcpiSsdt ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI SSDT table. When trace is enabled this function parses the SSDT table and traces the ACPI table fields. For the SSDT table only the ACPI header fields are parsed and traced.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 30 of file SsdtParser.c.

◆ ParseAcpiWsmt()

VOID EFIAPI ParseAcpiWsmt ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI WSMT table.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 138 of file WsmtParser.c.

◆ ParseAcpiXsdt()

VOID EFIAPI ParseAcpiXsdt ( IN BOOLEAN  Trace,
IN UINT8 *  Ptr,
IN UINT32  AcpiTableLength,
IN UINT8  AcpiTableRevision 
)

This function parses the ACPI XSDT table and optionally traces the ACPI table fields.

This function also performs validation of the XSDT table.

Parameters
[in]TraceIf TRUE, trace the ACPI fields.
[in]PtrPointer to the start of the buffer.
[in]AcpiTableLengthLength of the ACPI table.
[in]AcpiTableRevisionRevision of the ACPI table.

Definition at line 50 of file XsdtParser.c.

◆ PrintFieldName()

VOID EFIAPI PrintFieldName ( IN UINT32  Indent,
IN CONST CHAR16 *  FieldName 
)

This function indents and prints the ACPI table Field Name.

Parameters
[in]IndentNumber of spaces to add to the global table indent. The global table indent is 0 by default; however this value is updated on entry to the ParseAcpi() by adding the indent value provided to ParseAcpi() and restored back on exit. Therefore the total indent in the output is dependent on from where this function is called.
[in]FieldNamePointer to the Field Name.

Definition at line 641 of file AcpiParser.c.

◆ VerifyChecksum()

BOOLEAN EFIAPI VerifyChecksum ( IN BOOLEAN  Log,
IN UINT8 *  Ptr,
IN UINT32  Length 
)

This function verifies the ACPI table checksum.

This function verifies the checksum for the ACPI table and optionally prints the status.

Parameters
[in]LogIf TRUE log the status of the checksum.
[in]PtrPointer to the start of the table buffer.
[in]LengthThe length of the buffer.
Return values
TRUEThe checksum is OK.
FALSEThe checksum failed.

Definition at line 117 of file AcpiParser.c.