TianoCore EDK2 master
Loading...
Searching...
No Matches
HestParser.c File Reference
#include <IndustryStandard/Acpi.h>
#include <Library/UefiLib.h>
#include "AcpiParser.h"
#include "AcpiTableParser.h"
#include "AcpiView.h"

Go to the source code of this file.

Macros

#define PARSE_HEST_ERROR_SOURCE_COMMON_HEADER(FlagsValidateFunc, CheckRecordCount)
 
#define PARSE_HEST_PCI_ERROR_SOURCE_COMMON_HEADER()
 
#define PARSE_HEST_GHES_ERROR_SOURCE()
 

Functions

STATIC VOID EFIAPI ValidateErrorNotificationType (IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
 
STATIC VOID EFIAPI DumpSourceFlags (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
 
STATIC VOID EFIAPI DumpErrorNotificationType (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
 
STATIC VOID EFIAPI DumpErrorNotificationCwe (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
 
STATIC VOID EFIAPI ValidatePciBusReservedBits (IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
 
STATIC VOID EFIAPI ValidateIA32ErrorSourceFlags (IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
 
STATIC VOID EFIAPI ValidatePciErrorSourceFlags (IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
 
STATIC VOID EFIAPI ValidateGhesSourceFlags (IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
 
STATIC VOID EFIAPI ValidateEnabledField (IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
 
STATIC VOID EFIAPI ValidateRecordCount (IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
 
STATIC VOID EFIAPI DumpNotificationStructure (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
 
STATIC VOID EFIAPI DumpPciBus (IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
 
STATIC EFI_STATUS EFIAPI DumpIA32ArchMachineCheckErrorBankStructure (IN UINT8 *HestTable, UINT32 AcpiTableLength, UINT32 *Offset)
 
VOID EFIAPI ParseAcpiHest (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 

Variables

STATIC ACPI_DESCRIPTION_HEADER_INFO mAcpiHdrInfo
 
STATIC UINT32 * mHestErrorSourceCount
 
STATIC UINT16 * mHestErrorSourceType
 
STATIC UINT8 * mHestIA32HardwareBankCount
 
STATIC CONST CHAR16 * HestErrorNotificationStructureTypeStr []
 
STATIC CONST ACPI_PARSER HestParser []
 
STATIC CONST ACPI_PARSER HestErrorSourceTypeParser []
 
STATIC CONST ACPI_PARSER HestErrorSourceFlags []
 
STATIC CONST ACPI_PARSER HestErrorIA32ArchMachineCheckBankStructureParser []
 
STATIC CONST ACPI_PARSER HestErrorNotificationCweParser []
 
STATIC CONST ACPI_PARSER HestErrorNotificationParser []
 
STATIC CONST ACPI_PARSER HestErrorSourcePciCommonBusParser []
 
STATIC CONST ACPI_PARSER HestErrorSourceIA32ArchMachineCheckExceptionParser []
 
STATIC CONST ACPI_PARSER HestErrorSourceIA32ArchCorrectedMachineCheckParser []
 
STATIC CONST ACPI_PARSER HestErrorSourceIA32ArchNonMaskableInterruptParser []
 
STATIC CONST ACPI_PARSER HestErrorSourcePciExpressRootPortAerParser []
 
STATIC CONST ACPI_PARSER HestErrorSourcePciExpressDeviceAerParser []
 
STATIC CONST ACPI_PARSER HestErrorSourcePciExpressBridgeAerParser []
 
STATIC CONST ACPI_PARSER HestErrorSourceGhesParser []
 
STATIC CONST ACPI_PARSER HestErrorSourceGhesv2Parser []
 
STATIC CONST ACPI_PARSER HestErrorSourceIA32ArchDeferredMachineCheckParser []
 

Detailed Description

HEST table parser

Copyright (c) 2024, Arm Limited. SPDX-License-Identifier: BSD-2-Clause-Patent

Specification Reference:
  • ACPI 6.5, Table 18.3.2 ACPI Error Source

Definition in file HestParser.c.

Macro Definition Documentation

◆ PARSE_HEST_ERROR_SOURCE_COMMON_HEADER

#define PARSE_HEST_ERROR_SOURCE_COMMON_HEADER (   FlagsValidateFunc,
  CheckRecordCount 
)
Value:
{ L"Type", 2, 0, L"%d", NULL, NULL, NULL, NULL }, \
{ L"Source Id", 2, 2, L"%d", NULL, NULL, NULL, NULL }, \
{ L"Reserved", 2, 4, NULL, NULL, NULL, NULL, NULL }, \
{ L"Flags", 1, 6, NULL, DumpSourceFlags, NULL, \
FlagsValidateFunc, NULL }, \
{ L"Enabled", 1, 7, L"%d", NULL, NULL, ValidateEnabledField, NULL }, \
{ L"Number of Records to Pre-allocate", 4, 8, L"%d", NULL, NULL, \
ValidateRecordCount, (VOID *) ((UINTN) CheckRecordCount) }, \
{ L"Max Sections Per Record", 4, 12, L"%d", NULL, NULL, \
ValidateRecordCount, (VOID *) ((UINTN) CheckRecordCount) }
UINT64 UINTN
STATIC VOID EFIAPI DumpSourceFlags(IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
Definition: HestParser.c:154
STATIC VOID EFIAPI ValidateEnabledField(IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
Definition: HestParser.c:394
STATIC VOID EFIAPI ValidateRecordCount(IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
Definition: HestParser.c:419
#define NULL
Definition: Base.h:319

Helper macro to populate the header fields of error source descriptor in the ACPI_PARSER array.

Definition at line 563 of file HestParser.c.

◆ PARSE_HEST_GHES_ERROR_SOURCE

#define PARSE_HEST_GHES_ERROR_SOURCE ( )
Value:
{ L"Type", 2, 0, L"%d", NULL, NULL, NULL, NULL }, \
{ L"Source Id", 2, 2, L"%d", NULL, NULL, NULL, NULL }, \
{ L"Related Source Id", 2, 4, L"0x%x", NULL, NULL, NULL, NULL }, \
{ L"Flags", 1, 6, L"0x%x", NULL, NULL, ValidateGhesSourceFlags, NULL }, \
{ L"Enabled", 1, 7, L"%d", NULL, NULL, ValidateEnabledField, NULL }, \
{ L"Number of Records to Pre-allocate", 4, 8, L"%d", NULL, NULL, \
ValidateRecordCount, (VOID *) ((UINTN) TRUE) }, \
{ L"Max Sections Per Record", 4, 12, L"%d", NULL, NULL, \
ValidateRecordCount, (VOID *) ((UINTN) TRUE) }, \
{ L"Max Raw Data Length", 4, 16, L"%d", NULL, NULL, NULL, NULL }, \
{ L"Error Status Address", 12, 20, NULL, DumpGas, NULL, NULL, NULL }, \
{ L"Notification Structure", 28, 32, NULL, DumpNotificationStructure, \
NULL, NULL, NULL }, \
{ L"Error Status Block Length", 4, 60, L"%d", NULL, NULL, NULL, NULL }
VOID EFIAPI DumpGas(IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
Definition: AcpiParser.c:867
STATIC VOID EFIAPI ValidateGhesSourceFlags(IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
Definition: HestParser.c:366
STATIC VOID EFIAPI DumpNotificationStructure(IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
Definition: HestParser.c:447
#define TRUE
Definition: Base.h:301

Helper macro to populate the header fields of GHES related error source descriptor in the ACPI_PARSER array.

Definition at line 596 of file HestParser.c.

◆ PARSE_HEST_PCI_ERROR_SOURCE_COMMON_HEADER

#define PARSE_HEST_PCI_ERROR_SOURCE_COMMON_HEADER ( )
Value:
{ L"Bus", 4, 16, NULL, DumpPciBus, NULL, NULL, NULL }, \
{ L"Device", 2, 20, L"%d", NULL, NULL, NULL, NULL }, \
{ L"Function", 2, 22, L"%d", NULL, NULL, NULL, NULL }, \
{ L"Device Control", 2, 24, L"%d", NULL, NULL, NULL, NULL }, \
{ L"Reserved", 2, 26, NULL, NULL, NULL, NULL, NULL }, \
{ L"Uncorrectable Error Mask", 4, 28, L"0x%lx", NULL, NULL, NULL, NULL }, \
{ L"Uncorrectable Error Severity", 4, 32, L"%d", NULL, NULL, NULL, NULL }, \
{ L"Correctable Error Mask", 4, 36, L"0x%lx", NULL, NULL, NULL, NULL }, \
{ L"Advanced Error Capabilities and Control", 4, 40, L"%d", NULL, NULL, \
#define PARSE_HEST_ERROR_SOURCE_COMMON_HEADER(FlagsValidateFunc, CheckRecordCount)
Definition: HestParser.c:563
STATIC VOID EFIAPI ValidatePciErrorSourceFlags(IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
Definition: HestParser.c:335
STATIC VOID EFIAPI DumpPciBus(IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
Definition: HestParser.c:482

Helper macro to populate the header fields of PCI related error source descriptor in the ACPI_PARSER array.

Definition at line 579 of file HestParser.c.

Function Documentation

◆ DumpErrorNotificationCwe()

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

Dumps Configuration Write Enable fields of Hardware Error Notification Structure.

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 214 of file HestParser.c.

◆ DumpErrorNotificationType()

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

Dumps type fields of Error Notification Structure

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 186 of file HestParser.c.

◆ DumpIA32ArchMachineCheckErrorBankStructure()

STATIC EFI_STATUS EFIAPI DumpIA32ArchMachineCheckErrorBankStructure ( IN UINT8 *  HestTable,
UINT32  AcpiTableLength,
UINT32 *  Offset 
)

Dumps the IA32 Arch Machine Check Error Bank structure fields.

Parameters
[in]HestTableStart pointer to Hest table.
[in]AcpiTableLengthLength of HestTable.
[in,out]OffsetOffset to machine check bank structure from HestTable.
Return values
EFI_SUCCESSSuccess
EFI_INVALID_PARAMETERInvalid Hest Table

Definition at line 518 of file HestParser.c.

◆ DumpNotificationStructure()

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

Dumps the notification structure fields.

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 447 of file HestParser.c.

◆ DumpPciBus()

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

Dumps bus field in the PCI related Error Source Structure. from HestTable.

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 482 of file HestParser.c.

◆ DumpSourceFlags()

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

Dumps flags fields of error source descriptor.

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 154 of file HestParser.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.

◆ ValidateEnabledField()

STATIC VOID EFIAPI ValidateEnabledField ( IN UINT8 *  Ptr,
IN UINT32  Length,
IN VOID *  Context 
)

This function validates the enabled field of error source descriptor structure.

Parameters
[in]PtrPointer to the start of the field data.
[in]LengthLength of the field.
[in]ContextPointer to context specific information e.g. this could be a pointer to the ACPI table header.

Definition at line 394 of file HestParser.c.

◆ ValidateErrorNotificationType()

STATIC VOID EFIAPI ValidateErrorNotificationType ( IN UINT8 *  Ptr,
IN UINT32  Length,
IN VOID *  Context 
)

This function validates the Type field of Hardware Error Notification Structure

Parameters
[in]PtrPointer to the start of the field data.
[in]LengthLength of the field.
[in]ContextPointer to context specific information e.g. this could be a pointer to the ACPI table header.

Definition at line 123 of file HestParser.c.

◆ ValidateGhesSourceFlags()

STATIC VOID EFIAPI ValidateGhesSourceFlags ( IN UINT8 *  Ptr,
IN UINT32  Length,
IN VOID *  Context 
)

This function validates the flags field of Ghes related error source descriptor structure.

Parameters
[in]PtrPointer to the start of the field data.
[in]LengthLength of the field.
[in]ContextPointer to context specific information e.g. this could be a pointer to the ACPI table header.

Definition at line 366 of file HestParser.c.

◆ ValidateIA32ErrorSourceFlags()

STATIC VOID EFIAPI ValidateIA32ErrorSourceFlags ( IN UINT8 *  Ptr,
IN UINT32  Length,
IN VOID *  Context 
)

This function validates the flags field of IA32 related error source descriptor structure.

Parameters
[in]PtrPointer to the start of the field data.
[in]LengthLength of the field.
[in]ContextPointer to context specific information e.g. this could be a pointer to the ACPI table header.

Definition at line 297 of file HestParser.c.

◆ ValidatePciBusReservedBits()

STATIC VOID EFIAPI ValidatePciBusReservedBits ( IN UINT8 *  Ptr,
IN UINT32  Length,
IN VOID *  Context 
)

This function validates reserved bits of pci related Error source structure's bus field.

Parameters
[in]PtrPointer to the start of the field data.
[in]LengthLength of the field.
[in]ContextPointer to context specific information e.g. this could be a pointer to the ACPI table header.

Definition at line 264 of file HestParser.c.

◆ ValidatePciErrorSourceFlags()

STATIC VOID EFIAPI ValidatePciErrorSourceFlags ( IN UINT8 *  Ptr,
IN UINT32  Length,
IN VOID *  Context 
)

This function validates the flags field of PCI related error source descriptor structure.

Parameters
[in]PtrPointer to the start of the field data.
[in]LengthLength of the field.
[in]ContextPointer to context specific information e.g. this could be a pointer to the ACPI table header.

Definition at line 335 of file HestParser.c.

◆ ValidateRecordCount()

STATIC VOID EFIAPI ValidateRecordCount ( IN UINT8 *  Ptr,
IN UINT32  Length,
IN VOID *  Context 
)

This function validates the number of records to preallocated and max sections per record fields of error source descriptor structure.

Parameters
[in]PtrPointer to the start of the field data.
[in]LengthLength of the field.
[in]ContextPointer to context specific information e.g. this could be a pointer to the ACPI table header.

Definition at line 419 of file HestParser.c.

Variable Documentation

◆ HestErrorIA32ArchMachineCheckBankStructureParser

STATIC CONST ACPI_PARSER HestErrorIA32ArchMachineCheckBankStructureParser[]
Initial value:
= {
{ L"Bank Number", 1, 0, L"%d", NULL, NULL, NULL, NULL },
{ L"Clear Status On Initialization", 1, 1, L"%d", NULL, NULL, NULL, NULL },
{ L"Status Data Format", 1, 2, L"%d", NULL, NULL, NULL, NULL },
{ L"Reserved", 1, 3, NULL, NULL, NULL, NULL, NULL },
{ L"Control Register MSR Address", 4, 4, L"0x%lx", NULL, NULL, NULL, NULL },
{ L"Control Init Data", 8, 8, L"0x%llx", NULL, NULL, NULL, NULL },
{ L"Status Register MSR Address", 4, 16, L"0x%lx", NULL, NULL, NULL, NULL },
{ L"Address Register MSR Address", 4, 20, L"0x%lx", NULL, NULL, NULL, NULL },
{ L"Misc Register MSR Address", 4, 24, L"0x%lx", NULL, NULL, NULL, NULL },
}

An ACPI_PARSER array describing IA-32 Architecture Machine Check Bank Structure Cf ACPI 6.5 Table 18.4: IA-32 Architecture Machine Check Error Bank Structure

Definition at line 85 of file HestParser.c.

◆ HestErrorNotificationCweParser

STATIC CONST ACPI_PARSER HestErrorNotificationCweParser[]
Initial value:
= {
{ L"Type", 1, 0, L"%d", NULL, NULL, NULL, NULL },
{ L"Poll Interval", 1, 1, L"%d", NULL, NULL, NULL, NULL },
{ L"Switch To Polling Threshold Value", 1, 2, L"%d", NULL, NULL, NULL, NULL },
{ L"Switch To Polling Threshold Window", 1, 3, L"%d", NULL, NULL, NULL, NULL },
{ L"Error Threshold Value", 1, 4, L"%d", NULL, NULL, NULL, NULL },
{ L"Error Threshold Window", 1, 5, L"%d", NULL, NULL, NULL, NULL },
{ L"Reserved", 10, 6, L"0x%x", NULL, NULL, NULL, NULL },
}

An ACPI_PARSER array describing the Hardware Error Notification Structure's Configuration Write Enable Field (CWE) Cf ACPI 6.5 Table 18.14: Hardware Error Notification Structure

Definition at line 102 of file HestParser.c.

◆ HestErrorNotificationParser

STATIC CONST ACPI_PARSER HestErrorNotificationParser[]
Initial value:
= {
{ L"Length", 1, 1, L"%d", NULL, NULL, NULL, NULL },
{ L"Configuration Write Enable", 2, 2, NULL, DumpErrorNotificationCwe, NULL, NULL, NULL },
{ L"Pull Interval", 4, 4, L"%d ms", NULL, NULL, NULL, NULL },
{ L"Vector", 4, 8, L"%d", NULL, NULL, NULL, NULL },
{ L"Switch To Polling Threshold Value", 4, 12, L"%d", NULL, NULL, NULL, NULL },
{ L"Switch To Polling Threshold Window", 4, 16, L"%d ms", NULL, NULL, NULL, NULL },
{ L"Error Threshold Value", 4, 20, L"%d", NULL, NULL, NULL, NULL },
{ L"Error Threshold Window", 4, 24, L"%d ms", NULL, NULL, NULL, NULL },
}
STATIC VOID EFIAPI DumpErrorNotificationCwe(IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
Definition: HestParser.c:214
STATIC VOID EFIAPI ValidateErrorNotificationType(IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
Definition: HestParser.c:123
STATIC VOID EFIAPI DumpErrorNotificationType(IN CONST CHAR16 *Format OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length)
Definition: HestParser.c:186

An ACPI_PARSER array describing the Hardware Error Notification Structure Cf ACPI 6.5 Table 18.14: Hardware Error Notification Structure

Definition at line 240 of file HestParser.c.

◆ HestErrorNotificationStructureTypeStr

STATIC CONST CHAR16* HestErrorNotificationStructureTypeStr[]
Initial value:
= {
L"Polled",
L"External Interrupt",
L"Local Interrupt",
L"SCI",
L"NMI",
L"CMCI",
L"MCE",
L"GPIO-Signal",
L"ARMv8 SEA",
L"ARMv8 SEI",
L"External Interrupt - GSIV",
L"Software Delegated Exception",
}

An String array for Error Notification Structure's type. Cf ACPI 6.5 Table 18.14: Hardware Error Notification Structure

Definition at line 27 of file HestParser.c.

◆ HestErrorSourceFlags

STATIC CONST ACPI_PARSER HestErrorSourceFlags[]
Initial value:
= {
{ L"Type", 1, 0, L"%d", NULL, NULL, NULL, NULL },
{ L"Global", 1, 1, L"%d", NULL, NULL, NULL, NULL },
{ L"GHES Assist", 1, 2, L"%d", NULL, NULL, NULL, NULL },
{ L"Reserved", 5, 3, NULL, NULL, NULL, NULL, NULL }
}

An ACPI_PARSER array describing the HEST error source flags information.

Definition at line 74 of file HestParser.c.

◆ HestErrorSourceGhesParser

STATIC CONST ACPI_PARSER HestErrorSourceGhesParser[]
Initial value:
= {
}
#define PARSE_HEST_GHES_ERROR_SOURCE()
Definition: HestParser.c:596

An ACPI_PARSER array describing the HEST GHES error source descriptor. Cf ACPI 6.5 Table 18.10: Generic Hardware Error Source Structure

Definition at line 703 of file HestParser.c.

◆ HestErrorSourceGhesv2Parser

STATIC CONST ACPI_PARSER HestErrorSourceGhesv2Parser[]
Initial value:
= {
{ L"Read Ack Register", 12, 64, NULL, DumpGas, NULL, NULL, NULL },
{ L"Read Ack Preserve", 8, 76, L"%llx", NULL, NULL, NULL, NULL },
{ L"Read Ack Write", 8, 84, L"%llx", NULL, NULL, NULL, NULL },
}

An ACPI_PARSER array describing the HEST GHESv2 error source descriptor. Cf ACPI 6.5 Table 18.11: Generic Hardware Error Source version 2 Structure

Definition at line 711 of file HestParser.c.

◆ HestErrorSourceIA32ArchCorrectedMachineCheckParser

STATIC CONST ACPI_PARSER HestErrorSourceIA32ArchCorrectedMachineCheckParser[]
Initial value:
= {
{ L"Notification Structure",
{ L"Number of Hardware Banks",
1, 44, L"%d", NULL, (VOID **)&mHestIA32HardwareBankCount, NULL, NULL },
{ L"Reserved",
3, 45, NULL, NULL, NULL, NULL, NULL },
}
STATIC VOID EFIAPI ValidateIA32ErrorSourceFlags(IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
Definition: HestParser.c:297

An ACPI_PARSER array describing the IA-32 Architecture Machine Check Exception error source descriptor. Cf ACPI 6.5 Table 18.5: IA-32 Architecture Machine Check Exception Structure

Definition at line 636 of file HestParser.c.

◆ HestErrorSourceIA32ArchDeferredMachineCheckParser

STATIC CONST ACPI_PARSER HestErrorSourceIA32ArchDeferredMachineCheckParser[]
Initial value:
= {
{ L"Notification Structure", 28, 16, NULL, DumpNotificationStructure,
NULL, NULL, NULL },
{ L"Number of Hardware Banks", 1, 44, L"%d", NULL,
(VOID **)&mHestIA32HardwareBankCount, NULL, NULL },
{ L"Reserved", 3, 45, NULL, NULL, NULL,NULL, NULL },
}

An ACPI_PARSER array describing the IA-32 Architecture Deferred Machine Check error source descriptor. Cf ACPI 6.5 Table 18.15: IA-32 Architecture Deferred Machine Check Structure

Definition at line 723 of file HestParser.c.

◆ HestErrorSourceIA32ArchMachineCheckExceptionParser

STATIC CONST ACPI_PARSER HestErrorSourceIA32ArchMachineCheckExceptionParser[]
Initial value:
= {
{ L"Global Capability Init Data",
8, 16, L"0x%llx", NULL, NULL, NULL, NULL },
{ L"Global Control Init Data",
8, 24, L"0x%llx", NULL, NULL, NULL, NULL },
{ L"Number of Hardware Banks",
1, 32, L"%d", NULL, (VOID **)&mHestIA32HardwareBankCount, NULL, NULL },
{ L"Reserved",
7, 33, NULL, NULL, NULL, NULL, NULL },
}
#define FALSE
Definition: Base.h:307

An ACPI_PARSER array describing the IA-32 Architecture Machine Check Exception error source descriptor. Cf ACPI 6.5 Table 18.3: IA-32 Architecture Machine Check Exception Structure

Definition at line 617 of file HestParser.c.

◆ HestErrorSourceIA32ArchNonMaskableInterruptParser

STATIC CONST ACPI_PARSER HestErrorSourceIA32ArchNonMaskableInterruptParser[]
Initial value:
= {
{ L"Type", 2, 0, L"%d", NULL, NULL, NULL, NULL },
{ L"Source Id", 2, 2, L"%d", NULL, NULL, NULL, NULL },
{ L"Reserved", 4, 4, NULL, NULL, NULL, NULL, NULL },
{ L"Number of Records to Pre-allocate", 4, 8, L"%d", NULL, NULL,
{ L"Max Sections Per Record", 4, 12, L"%d", NULL, NULL,
{ L"Max Raw Data Length", 4, 16, L"%d", NULL, NULL, NULL, NULL },
}

An ACPI_PARSER array describing the IA-32 Non-Maskable Interrupt error source descriptor. Cf ACPI 6.5 Table 18.6: IA-32 Architecture NMI Error Structure

Definition at line 653 of file HestParser.c.

◆ HestErrorSourcePciCommonBusParser

STATIC CONST ACPI_PARSER HestErrorSourcePciCommonBusParser[]
Initial value:
= {
{ L"Bus", 8, 0, L"%d", NULL, NULL, NULL, NULL },
{ L"Segment Number", 16, 8, L"%d", NULL, NULL, NULL, NULL },
{ L"Reserved", 8, 24, L"0x%x", NULL, NULL, ValidatePciBusReservedBits, NULL },
}
STATIC VOID EFIAPI ValidatePciBusReservedBits(IN UINT8 *Ptr, IN UINT32 Length, IN VOID *Context)
Definition: HestParser.c:264

An ACPI_PARSER array describing the PCI related Error Source Bus field.

Definition at line 279 of file HestParser.c.

◆ HestErrorSourcePciExpressBridgeAerParser

STATIC CONST ACPI_PARSER HestErrorSourcePciExpressBridgeAerParser[]
Initial value:
= {
{ L"Secondary Uncorrectable Error Mask",
4, 44, L"0x%lx", NULL, NULL, NULL, NULL },
{ L"Secondary Uncorrectable Error Severity",
4, 48, L"%d", NULL, NULL, NULL, NULL },
{ L"Secondary Advanced Error Capabilities and Control",
4, 52, L"%d", NULL, NULL, NULL, NULL },
}
#define PARSE_HEST_PCI_ERROR_SOURCE_COMMON_HEADER()
Definition: HestParser.c:579

An ACPI_PARSER array describing the HEST PCIe/PCI-X Bridge AER error source descriptor. Cf ACPI 6.5 Table 18.9: PCI Express/PCI-X Bridge AER Structure

Definition at line 689 of file HestParser.c.

◆ HestErrorSourcePciExpressDeviceAerParser

STATIC CONST ACPI_PARSER HestErrorSourcePciExpressDeviceAerParser[]
Initial value:

An ACPI_PARSER array describing the HEST PCIe Device AER error source descriptor. Cf ACPI 6.5 Table 18.8: PCI Express Device AER Structure

Definition at line 680 of file HestParser.c.

◆ HestErrorSourcePciExpressRootPortAerParser

STATIC CONST ACPI_PARSER HestErrorSourcePciExpressRootPortAerParser[]
Initial value:
= {
{ L"Root Error Command",
4, 44,L"%d", NULL, NULL, NULL, NULL },
}

An ACPI_PARSER array describing the HEST PCIe Root Port AER error source descriptor. Cf ACPI 6.5 Table 18.7: PCI Express Root Port AER Structure

Definition at line 669 of file HestParser.c.

◆ HestErrorSourceTypeParser

STATIC CONST ACPI_PARSER HestErrorSourceTypeParser[]
Initial value:
= {
{ L"Type", 2, 0, L"%d", NULL, (VOID **)&mHestErrorSourceType, NULL, NULL },
}

An ACPI_PARSER array describing the HEST error source descriptor type.

Definition at line 67 of file HestParser.c.

◆ HestParser

STATIC CONST ACPI_PARSER HestParser[]
Initial value:
= {
PARSE_ACPI_HEADER (&mAcpiHdrInfo),
{ L"Error Source Count", 4, 36, L"%d", NULL,
(VOID **)&mHestErrorSourceCount,NULL, NULL },
}
#define PARSE_ACPI_HEADER(Info)
Definition: AcpiParser.h:501

An ACPI_PARSER array describing the ACPI HEST Table.

Definition at line 45 of file HestParser.c.

◆ mAcpiHdrInfo

Definition at line 18 of file HestParser.c.

◆ mHestErrorSourceCount

STATIC UINT32* mHestErrorSourceCount

Definition at line 19 of file HestParser.c.

◆ mHestErrorSourceType

STATIC UINT16* mHestErrorSourceType

Definition at line 20 of file HestParser.c.

◆ mHestIA32HardwareBankCount

STATIC UINT8* mHestIA32HardwareBankCount

Definition at line 21 of file HestParser.c.