162 UINT32 MandatoryTable;
163 CONST UINT8 *SignaturePtr;
164 BOOLEAN IsArmSbbrViolated;
166 if (Version >= ArmSbbrVersionMax) {
167 return EFI_INVALID_PARAMETER;
170 IsArmSbbrViolated =
FALSE;
174 MandatoryTable =
ArmSbbrReqs[Version].Tables[Table];
175 SignaturePtr = (
CONST UINT8 *)(
UINTN)&MandatoryTable;
188 L
"\nERROR: SBBR v%a: Mandatory %c%c%c%c table's instance count not " \
196 return EFI_UNSUPPORTED;
200 IsArmSbbrViolated =
TRUE;
203 L
"\nERROR: SBBR v%a: Mandatory %c%c%c%c table is missing",
213 if (!IsArmSbbrViolated) {
215 L
"\nINFO: SBBR v%a: All mandatory ACPI tables are installed",
222 return IsArmSbbrViolated ? EFI_NOT_FOUND :
EFI_SUCCESS;
#define EFI_ACPI_6_3_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE
#define EFI_ACPI_6_3_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE
#define EFI_ACPI_6_3_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE
#define EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE
#define EFI_ACPI_6_3_DEBUG_PORT_2_TABLE_SIGNATURE
#define EFI_ACPI_6_3_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE
#define EFI_ACPI_6_3_PROCESSOR_PROPERTIES_TOPOLOGY_TABLE_STRUCTURE_SIGNATURE
#define EFI_ACPI_6_3_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE
#define EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE
VOID EFIAPI IncrementErrorCount(VOID)
#define ARRAY_SIZE(Array)
STATIC CONST UINT32 ArmSbbr11Mandatory[]
STATIC CONST ACPI_SBBR_REQ ArmSbbrReqs[ArmSbbrVersionMax]
BOOLEAN EFIAPI ArmSbbrIncrementTableCount(UINT32 Signature)
EFI_STATUS EFIAPI ArmSbbrReqsValidate(ARM_SBBR_VERSION Version)
STATIC CONST CHAR8 * ArmSbbrVersions[ArmSbbrVersionMax]
STATIC ACPI_TABLE_COUNTER ArmSbbrTableCounts[]
STATIC CONST UINT32 ArmSbbr10Mandatory[]
STATIC CONST UINT32 ArmSbbr12Mandatory[]
VOID EFIAPI ArmSbbrResetTableCounts(VOID)
UINTN EFIAPI Print(IN CONST CHAR16 *Format,...)
CONST UINT32 TableCount
List of required tables.
UINT32 Count
ACPI table signature.