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

Go to the source code of this file.

Functions

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

Variables

STATIC ACPI_TABLE_PARSER mTableParserList [MAX_ACPI_TABLE_PARSERS]
 

Detailed Description

ACPI table parser

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

Glossary:
  • Sbbr or SBBR - Server Base Boot Requirements
Reference(s):
  • Arm Server Base Boot Requirements 1.2, September 2019

Definition in file AcpiTableParser.c.

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.

Variable Documentation

◆ mTableParserList

A list of registered ACPI table parsers.

Definition at line 29 of file AcpiTableParser.c.