TianoCore EDK2 master
|
#include <Library/PrintLib.h>
#include <Library/UefiLib.h>
#include <IndustryStandard/ArmErrorSourceTable.h>
#include "AcpiParser.h"
#include "AcpiView.h"
#include "AcpiViewConfig.h"
Go to the source code of this file.
Functions | |
STATIC VOID EFIAPI | ValidateProcessorFlags (IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context) |
STATIC VOID EFIAPI | ValidateGicInterfaceType (IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context) |
STATIC VOID EFIAPI | ValidateInterfaceType (IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context) |
STATIC VOID EFIAPI | ValidateInterruptType (IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context) |
STATIC VOID EFIAPI | ValidateInterruptFlags (IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context) |
VOID EFIAPI | DumpVendorSpecificData (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length) |
STATIC VOID | DumpProcessorNode (IN UINT8 *Ptr, IN UINT32 Length) |
STATIC VOID | DumpMemoryControllerNode (IN UINT8 *Ptr, IN UINT32 Length) |
STATIC VOID | DumpSmmuNode (IN UINT8 *Ptr, IN UINT32 Length) |
STATIC VOID | DumpVendorDefinedNode (IN UINT8 *Ptr, IN UINT32 Length) |
STATIC VOID | DumpGicNode (IN UINT8 *Ptr, IN UINT32 Length) |
STATIC VOID | DumpNodeInterface (IN UINT8 *Ptr, IN UINT32 Length) |
STATIC VOID | DumpNodeInterrupts (IN UINT8 *Ptr, IN UINT32 Length, IN UINT32 InterruptCount) |
STATIC VOID | DumpAestNodeStructure (IN UINT8 *Ptr, IN UINT32 Length, IN UINT8 NodeType, IN UINT32 DataOffset, IN UINT32 InterfaceOffset, IN UINT32 InterruptArrayOffset, IN UINT32 InterruptCount) |
VOID EFIAPI | ParseAcpiAest (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision) |
AEST table parser
Copyright (c) 2020 - 2024, Arm Limited. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file AestParser.c.
STATIC VOID DumpAestNodeStructure | ( | IN UINT8 * | Ptr, |
IN UINT32 | Length, | ||
IN UINT8 | NodeType, | ||
IN UINT32 | DataOffset, | ||
IN UINT32 | InterfaceOffset, | ||
IN UINT32 | InterruptArrayOffset, | ||
IN UINT32 | InterruptCount | ||
) |
Parses a single AEST Node Structure.
[in] | Ptr | Pointer to the start of the Node. |
[in] | Length | Maximum length of the Node. |
[in] | NodeType | AEST node type. |
[in] | DataOffset | Offset to the node data. |
[in] | InterfaceOffset | Offset to the node interface data. |
[in] | InterruptArrayOffset | Offset to the node interrupt array. |
[in] | InterruptCount | Number of interrupts. |
Definition at line 581 of file AestParser.c.
Parses the GIC node.
[in] | Ptr | Pointer to the start of the GIC node. |
[in] | Length | Maximum length of the GIC node. |
Definition at line 479 of file AestParser.c.
Parses the Memory Controller node.
[in] | Ptr | Pointer to the start of the Memory Controller node. |
[in] | Length | Maximum length of the Memory Controller node. |
Definition at line 410 of file AestParser.c.
Parses the Node Interface structure.
[in] | Ptr | Pointer to the start of the Node Interface Structure. |
[in] | Length | Maximum length of the Node Interface Structure. |
Definition at line 502 of file AestParser.c.
Parses the Node Interrupts Structure.
[in] | Ptr | Pointer to the start of the Node Interrupt array. |
[in] | Length | Maximum length of the Node Interrupt array. |
[in] | InterruptCount | Number if interrupts in the Node Interrupts array. |
Definition at line 526 of file AestParser.c.
Parses the Processor Error Node structure along with its resource specific data.
[in] | Ptr | Pointer to the start of the Processor node. |
[in] | Length | Maximum length of the Processor node. |
Definition at line 334 of file AestParser.c.
Parses the SMMU node.
[in] | Ptr | Pointer to the start of the SMMU node. |
[in] | Length | Maximum length of the SMMU node. |
Definition at line 433 of file AestParser.c.
Parses the Vendor-defined structure.
[in] | Ptr | Pointer to the start of the Vendor-defined node. |
[in] | Length | Maximum length of the Vendor-defined node. |
Definition at line 456 of file AestParser.c.
VOID EFIAPI DumpVendorSpecificData | ( | IN CONST CHAR16 *Format | OPTIONAL, |
IN UINT8 * | Ptr, | ||
IN UINT32 | Length | ||
) |
Dumps 16 bytes of data.
[in] | Format | Optional format string for tracing the data. |
[in] | Ptr | Pointer to the start of the buffer. |
[in] | Length | Length of the field. |
Definition at line 164 of file AestParser.c.
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.
[in] | Trace | If TRUE, trace the ACPI fields. |
[in] | Ptr | Pointer to the start of the buffer. |
[in] | AcpiTableLength | Length of the ACPI table. |
[in] | AcpiTableRevision | Revision of the ACPI table. |
Definition at line 692 of file AestParser.c.
Validate GIC Interface Type.
[in] | Ptr | Pointer to the start of the field data. |
[in] | Length | Length of the field. |
[in] | Context | Pointer to context specific information e.g. this could be a pointer to the ACPI table header. |
Definition at line 71 of file AestParser.c.
Validate Interface Type.
[in] | Ptr | Pointer to the start of the field data. |
[in] | Length | Length of the field. |
[in] | Context | Pointer to context specific information e.g. this could be a pointer to the ACPI table header. |
Definition at line 97 of file AestParser.c.
Validate interrupt flags.
[in] | Ptr | Pointer to the start of the field data. |
[in] | Length | Length of the field. |
[in] | Context | Pointer to context specific information e.g. this could be a pointer to the ACPI table header. |
Definition at line 143 of file AestParser.c.
Validate Interrupt Type.
[in] | Ptr | Pointer to the start of the field data. |
[in] | Length | Length of the field. |
[in] | Context | Pointer to context specific information e.g. this could be a pointer to the ACPI table header. |
Definition at line 120 of file AestParser.c.
Validate Processor Flags.
[in] | Ptr | Pointer to the start of the field data. |
[in] | Length | Length of the field. |
[in] | Context | Pointer to context specific information e.g. this could be a pointer to the ACPI table header. |
Definition at line 43 of file AestParser.c.
STATIC ACPI_DESCRIPTION_HEADER_INFO AcpiHdrInfo |
Definition at line 21 of file AestParser.c.
STATIC CONST ACPI_PARSER AestGicStructure[] |
An ACPI_PARSER array describing the GIC structure.
Definition at line 292 of file AestParser.c.
STATIC CONST ACPI_PARSER AestMemoryControllerStructure[] |
STATIC CONST ACPI_PARSER AestNodeHeaderParser[] |
An ACPI_PARSER array describing the AEST Node Header.
Definition at line 207 of file AestParser.c.
STATIC CONST ACPI_PARSER AestNodeInterface[] |
An ACPI_PARSER array describing the node interface.
Definition at line 301 of file AestParser.c.
STATIC CONST ACPI_PARSER AestNodeInterrupt[] |
An ACPI_PARSER array describing the node interrupts.
Definition at line 316 of file AestParser.c.
STATIC UINT16* AestNodeLength |
Definition at line 23 of file AestParser.c.
STATIC UINT8* AestNodeType |
Definition at line 22 of file AestParser.c.
STATIC CONST ACPI_PARSER AestParser[] |
An ACPI_PARSER array describing the ACPI AEST Table.
Definition at line 200 of file AestParser.c.
STATIC CONST ACPI_PARSER AestProcessorCacheResourceSubstructure[] |
STATIC CONST ACPI_PARSER AestProcessorGenericResourceSubstructure[] |
STATIC CONST ACPI_PARSER AestProcessorStructure[] |
An ACPI_PARSER array describing the Processor error node specific data.
Definition at line 229 of file AestParser.c.
STATIC CONST ACPI_PARSER AestProcessorTlbResourceSubstructure[] |
STATIC CONST ACPI_PARSER AestSmmuStructure[] |
STATIC CONST ACPI_PARSER AestVendorDefinedStructure[] |
An ACPI_PARSER array describing the vendor-defined structure.
Definition at line 283 of file AestParser.c.
STATIC UINT32* NodeDataOffset |
Definition at line 24 of file AestParser.c.
STATIC UINT32* NodeInterfaceOffset |
Definition at line 25 of file AestParser.c.
STATIC UINT32* NodeInterruptArrayOffset |
Definition at line 26 of file AestParser.c.
STATIC UINT32* NodeInterruptCount |
Definition at line 27 of file AestParser.c.
STATIC UINT8* ProcessorFlags |
Definition at line 29 of file AestParser.c.
STATIC UINT32* ProcessorId |
Definition at line 28 of file AestParser.c.
STATIC UINT8* ProcessorResourceType |
Definition at line 30 of file AestParser.c.