TianoCore EDK2 master
Loading...
Searching...
No Matches
SbbrValidator.c File Reference
#include <Library/DebugLib.h>
#include <Library/UefiLib.h>
#include "AcpiParser.h"
#include "Arm/SbbrValidator.h"

Go to the source code of this file.

Functions

VOID EFIAPI ArmSbbrResetTableCounts (VOID)
 
BOOLEAN EFIAPI ArmSbbrIncrementTableCount (UINT32 Signature)
 
EFI_STATUS EFIAPI ArmSbbrReqsValidate (ARM_SBBR_VERSION Version)
 

Variables

STATIC CONST CHAR8 * ArmSbbrVersions [ArmSbbrVersionMax]
 
STATIC CONST UINT32 ArmSbbr10Mandatory []
 
STATIC CONST UINT32 ArmSbbr11Mandatory []
 
STATIC CONST UINT32 ArmSbbr12Mandatory []
 
STATIC CONST ACPI_SBBR_REQ ArmSbbrReqs [ArmSbbrVersionMax]
 
STATIC ACPI_TABLE_COUNTER ArmSbbrTableCounts []
 

Detailed Description

Arm Server Base Boot Requirements ACPI table requirement validator.

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

Glossary:
  • Sbbr or SBBR - Server Base Boot Requirements
  • Sbsa or SBSA - Server Base System Architecture
Reference(s):
  • Arm Server Base Boot Requirements 1.2, September 2019
  • Arm Server Base Boot Requirements 1.1, May 2018
  • Arm Server Base Boot Requirements 1.0, March 2016
  • Arm Server Base System Architecture 6.0

Definition in file SbbrValidator.c.

Function Documentation

◆ ArmSbbrIncrementTableCount()

BOOLEAN EFIAPI ArmSbbrIncrementTableCount ( UINT32  Signature)

Increment instance count for SBBR-mandatory ACPI table with the given signature.

Parameters
[in]SignatureACPI table signature.
Return values
TRUECount incremented successfully.
FALSETable with the input signature not found.

Definition at line 126 of file SbbrValidator.c.

◆ ArmSbbrReqsValidate()

EFI_STATUS EFIAPI ArmSbbrReqsValidate ( ARM_SBBR_VERSION  Version)

Validate that all ACPI tables required by the given SBBR specification version are installed on the platform.

Parameters
[in]VersionSBBR spec version to validate against.
Return values
EFI_SUCCESSAll required tables are present.
EFI_INVALID_PARAMETERInvalid SBBR version.
EFI_NOT_FOUNDOne or more mandatory tables are missing.
EFI_UNSUPPORTEDMandatory ACPI table does not have its instance count tracked.

Definition at line 156 of file SbbrValidator.c.

◆ ArmSbbrResetTableCounts()

VOID EFIAPI ArmSbbrResetTableCounts ( VOID  )

Reset the platform ACPI table instance count for all SBBR-mandatory tables.

Definition at line 104 of file SbbrValidator.c.

Variable Documentation

◆ ArmSbbr10Mandatory

STATIC CONST UINT32 ArmSbbr10Mandatory[]
Initial value:

SBBR 1.0 mandatory ACPI tables

Definition at line 35 of file SbbrValidator.c.

◆ ArmSbbr11Mandatory

◆ ArmSbbr12Mandatory

◆ ArmSbbrReqs

STATIC CONST ACPI_SBBR_REQ ArmSbbrReqs[ArmSbbrVersionMax]
Initial value:
= {
}
#define ARRAY_SIZE(Array)
Definition: Base.h:1393
STATIC CONST UINT32 ArmSbbr11Mandatory[]
Definition: SbbrValidator.c:48
STATIC CONST UINT32 ArmSbbr10Mandatory[]
Definition: SbbrValidator.c:35
STATIC CONST UINT32 ArmSbbr12Mandatory[]
Definition: SbbrValidator.c:62

Mandatory ACPI tables for every SBBR specification version.

Definition at line 77 of file SbbrValidator.c.

◆ ArmSbbrTableCounts

◆ ArmSbbrVersions

STATIC CONST CHAR8* ArmSbbrVersions[ArmSbbrVersionMax]
Initial value:
= {
"1.0",
"1.1",
"1.2"
}

SBBR specification version strings

Definition at line 26 of file SbbrValidator.c.