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

Go to the source code of this file.

Data Structures

struct  AcpiTableParser
 

Macros

#define MAX_ACPI_TABLE_PARSERS   32
 
#define ACPI_PARSER_SIGNATURE_NULL   0
 

Typedefs

typedef VOID(EFIAPI * PARSE_ACPI_TABLE_PROC) (IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
 
typedef struct AcpiTableParser ACPI_TABLE_PARSER
 

Functions

EFI_STATUS EFIAPI RegisterParser (IN UINT32 Signature, IN PARSE_ACPI_TABLE_PROC ParserProc)
 
EFI_STATUS EFIAPI DeregisterParser (IN UINT32 Signature)
 
VOID EFIAPI ProcessAcpiTable (IN UINT8 *Ptr)
 
EFI_STATUS EFIAPI GetParser (IN UINT32 Signature, OUT PARSE_ACPI_TABLE_PROC *ParserProc)
 

Detailed Description

Header file for ACPI table parser

Copyright (c) 2016 - 2020, Arm Limited. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file AcpiTableParser.h.

Macro Definition Documentation

◆ ACPI_PARSER_SIGNATURE_NULL

#define ACPI_PARSER_SIGNATURE_NULL   0

An invalid/NULL signature value.

Definition at line 18 of file AcpiTableParser.h.

◆ MAX_ACPI_TABLE_PARSERS

#define MAX_ACPI_TABLE_PARSERS   32

The maximum number of ACPI table parsers.

Definition at line 14 of file AcpiTableParser.h.

Typedef Documentation

◆ ACPI_TABLE_PARSER

The ACPI table parser information

◆ PARSE_ACPI_TABLE_PROC

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

A function that parses the ACPI 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 29 of file AcpiTableParser.h.

Function Documentation

◆ DeregisterParser()

EFI_STATUS EFIAPI DeregisterParser ( IN UINT32  Signature)

Deregister the ACPI table Parser

This function deregisters the ACPI table parser.

Parameters
[in]SignatureThe ACPI table signature.
Return values
EFI_SUCCESSThe parser was deregistered.
EFI_INVALID_PARAMETERA parameter is invalid.
EFI_NOT_FOUNDA registered parser was not found.

Definition at line 100 of file AcpiTableParser.c.

◆ GetParser()

EFI_STATUS EFIAPI GetParser ( IN UINT32  Signature,
OUT PARSE_ACPI_TABLE_PROC ParserProc 
)

Get the ACPI table Parser

This function returns the ACPI table parser proc from the list of registered parsers.

Parameters
[in]SignatureThe ACPI table signature.
[out]ParserProcPointer to a ACPI table parser proc.
Return values
EFI_SUCCESSThe parser was returned successfully.
EFI_INVALID_PARAMETERA parameter is invalid.
EFI_NOT_FOUNDA registered parser was not found.

Definition at line 140 of file AcpiTableParser.c.

◆ ProcessAcpiTable()

VOID EFIAPI ProcessAcpiTable ( IN UINT8 *  Ptr)

This function processes the ACPI tables. This function calls ProcessTableReportOptions() to list the ACPI tables, perform binary dump of the tables and determine if the ACPI fields should be traced.

This function also invokes the parser for the ACPI tables.

This function also performs a RAW dump of the ACPI table including the unknown/unparsed ACPI tables and validates the checksum.

Parameters
[in]PtrPointer to the start of the ACPI table data buffer.

Definition at line 181 of file AcpiTableParser.c.

◆ RegisterParser()

EFI_STATUS EFIAPI RegisterParser ( IN UINT32  Signature,
IN PARSE_ACPI_TABLE_PROC  ParserProc 
)

Register the ACPI table Parser

This function registers the ACPI table parser.

Parameters
[in]SignatureThe ACPI table signature.
[in]ParserProcThe ACPI table parser.
Return values
EFI_SUCCESSThe parser is registered.
EFI_INVALID_PARAMETERA parameter is invalid.
EFI_ALREADY_STARTEDThe parser for the Table was already registered.
EFI_OUT_OF_RESOURCESNo space to register the parser.

Definition at line 48 of file AcpiTableParser.c.