TianoCore EDK2 master
|
#include <IndustryStandard/Acpi.h>
#include <Library/UefiLib.h>
#include "AcpiParser.h"
#include "AcpiTableParser.h"
#include "AcpiViewConfig.h"
#include "MadtParser.h"
Go to the source code of this file.
Functions | |
STATIC VOID EFIAPI | ValidateGICDSystemVectorBase (IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context) |
STATIC VOID EFIAPI | ValidateSpeOverflowInterrupt (IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context) |
STATIC VOID EFIAPI | ValidateTrbeInterrupt (IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context) |
STATIC VOID EFIAPI | DumpValue (IN CONST CHAR16 *Format, IN UINT8 *Ptr, IN UINT32 Length OPTIONAL) |
STATIC VOID EFIAPI | DumpGicCFlags (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length OPTIONAL) |
VOID EFIAPI | DumpLocalApicBitFlags (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length) |
VOID EFIAPI | ParseAcpiMadt (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision) |
MADT table parser
Copyright (c) 2016 - 2024, Arm Limited. All rights reserved. Copyright (c) 2022, AMD Incorporated. All rights reserved. Copyright (c) 2024, Loongson Technology Corporation Limited. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file MadtParser.c.
STATIC VOID EFIAPI DumpGicCFlags | ( | IN CONST CHAR16 *Format | OPTIONAL, |
IN UINT8 * | Ptr, | ||
IN UINT32 Length | OPTIONAL | ||
) |
This function dumps the GICC Flags fields. Format string is unused.
[in] | Format | Unused |
[in] | Ptr | Pointer to the start of the buffer. |
[in] | Length | Length of the field. |
Definition at line 198 of file MadtParser.c.
VOID EFIAPI DumpLocalApicBitFlags | ( | IN CONST CHAR16 *Format | OPTIONAL, |
IN UINT8 * | Ptr, | ||
IN UINT32 | Length | ||
) |
This function traces Bit Flags fields. If no format string is specified the Format must be NULL.
[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 342 of file MadtParser.c.
STATIC VOID EFIAPI DumpValue | ( | IN CONST CHAR16 * | Format, |
IN UINT8 * | Ptr, | ||
IN UINT32 Length | OPTIONAL | ||
) |
This function dumps the GICC Flags fields. Format string is 2 fields separated by a \0 mapping to 0 or > 0 of the buffer field bit.
[in] | Format | Format string that is the list of strings to map values to. |
[in] | Ptr | Pointer to the start of the buffer. |
[in] | Length | Length of the field. |
Definition at line 162 of file MadtParser.c.
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:
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 530 of file MadtParser.c.
STATIC VOID EFIAPI ValidateGICDSystemVectorBase | ( | IN UINT8 * | Ptr, |
IN UINT32 | Length, | ||
IN VOID * | Context | ||
) |
This function validates the System Vector Base in the GICD.
[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 39 of file MadtParser.c.
STATIC VOID EFIAPI ValidateSpeOverflowInterrupt | ( | IN UINT8 * | Ptr, |
IN UINT32 | Length, | ||
IN VOID * | Context | ||
) |
This function validates the SPE Overflow Interrupt in the GICC.
[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 64 of file MadtParser.c.
This function validates the TRBE Interrupt in the GICC.
[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 116 of file MadtParser.c.
STATIC ACPI_DESCRIPTION_HEADER_INFO AcpiHdrInfo |
Definition at line 26 of file MadtParser.c.
STATIC CONST ACPI_PARSER BridgeIoPic[] |
An ACPI_PARSER array describing the Bridge I/O Programmable Interrupt Controller (BIO PIC) Structure.
Definition at line 466 of file MadtParser.c.
STATIC CONST ACPI_PARSER CorePic[] |
An ACPI_PARSER array describing the Core Pragrammable Interrupt Controller (CORE PIC) Structure.
Definition at line 405 of file MadtParser.c.
STATIC CONST ACPI_PARSER ExtendIoPic[] |
An ACPI_PARSER array describing the Extend I/0 Programmable Interrupt Controller (EIO PIC) Structure.
Definition at line 442 of file MadtParser.c.
STATIC CONST ACPI_PARSER GICCFlagParser[] |
Definition at line 179 of file MadtParser.c.
STATIC CONST ACPI_PARSER GicCParser[] |
An ACPI_PARSER array describing the GICC Interrupt Controller Structure.
Definition at line 218 of file MadtParser.c.
STATIC CONST ACPI_PARSER GicDParser[] |
An ACPI_PARSER array describing the GICD Interrupt Controller Structure.
Definition at line 247 of file MadtParser.c.
STATIC CONST ACPI_PARSER GicITSParser[] |
An ACPI_PARSER array describing the GIC ITS Interrupt Controller Structure.
Definition at line 292 of file MadtParser.c.
STATIC CONST ACPI_PARSER GicMSIFrameParser[] |
An ACPI_PARSER array describing the MSI Frame Interrupt Controller Structure.
Definition at line 263 of file MadtParser.c.
STATIC CONST ACPI_PARSER GicRParser[] |
An ACPI_PARSER array describing the GICR Interrupt Controller Structure.
Definition at line 279 of file MadtParser.c.
STATIC CONST ACPI_PARSER HyperTransportPic[] |
An ACPI_PARSER array describing the HyperTransport Programmable Interrupt Controller (HT PIC) Structure.
Definition at line 430 of file MadtParser.c.
STATIC CONST ACPI_PARSER InterruptSourceOverride[] |
An ACPI_PARSER array describing the Interrupt Source Override Structure.
Definition at line 317 of file MadtParser.c.
STATIC CONST ACPI_PARSER IoApic[] |
An ACPI_PARSER array describing the IO APIC Structure.
Definition at line 305 of file MadtParser.c.
STATIC CONST ACPI_PARSER LegacyIoPic[] |
An ACPI_PARSER array describing the Leagcy I/O Programmable Interrupt Controller (LIO PIC) Structure.
Definition at line 417 of file MadtParser.c.
STATIC CONST ACPI_PARSER LocalApicFlags[] |
STATIC CONST ACPI_PARSER LocalX2ApicNmi[] |
An ACPI_PARSER array describing the Local x2APIC NMI Structure.
Definition at line 392 of file MadtParser.c.
STATIC CONST ACPI_PARSER LpcPic[] |
An ACPI_PARSER array describing the LPC Programmable Interrupt Controller (LPC PIC) Structure.
Definition at line 479 of file MadtParser.c.
STATIC CONST ACPI_PARSER MadtInterruptControllerHeaderParser[] |
An ACPI_PARSER array describing the MADT Interrupt Controller Structure Header Structure.
Definition at line 501 of file MadtParser.c.
Definition at line 25 of file MadtParser.c.
Definition at line 24 of file MadtParser.c.
STATIC CONST ACPI_PARSER MadtParser[] |
An ACPI_PARSER array describing the ACPI MADT Table.
Definition at line 491 of file MadtParser.c.
STATIC CONST ACPI_PARSER MsiPic[] |
An ACPI_PARSER array describing the MSI Programmable Interrupt Controller (MSI PIC) Structure.
Definition at line 454 of file MadtParser.c.
STATIC CONST ACPI_PARSER ProcessorLocalApic[] |
An ACPI_PARSER array describing the Processor Local APIC Structure.
Definition at line 367 of file MadtParser.c.
STATIC CONST ACPI_PARSER ProcessorLocalX2Apic[] |
An ACPI_PARSER array describing the Processor Local x2APIC Structure.
Definition at line 379 of file MadtParser.c.