Krzysztof Koch 8af507c1f1 ShellPkg: acpiview: Add -r parameter for table requirements validation
Define a new command line parameter '-r' to enable checking if all
mandatory ACPI tables listed in a specification are present.

The -r parameter takes an integer value to specify which specification
the validation should be performed against.

The parameter is used to set two Acpiview variables. An interface to
access these variables is implemented in this patch.

The new functionality is aimed at Arm-based platforms, however,
there are no restriction on extending it to other architectures.
For the 32-bit and 64-bit Arm architectures, the possible values for
the -r parameter are:
  0: Arm Server Base Boot Requirements 1.0, March 2016
  1: Arm Server Base Boot Requirements 1.1, May 2018
  2: Arm Server Base Boot Requirements 1.2, September 2019

Signed-off-by: Krzysztof Koch <krzysztof.koch@arm.com>
Reviewed-by: Sami Mujawar <Sami.Mujawar@arm.com>
Reviewed-by: Zhichao Gao <zhichao.gao@intel.com>
2020-05-06 17:00:57 +00:00

174 lines
3.4 KiB
C

/** @file
Header file for AcpiView
Copyright (c) 2016 - 2020, ARM Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef ACPIVIEW_H_
#define ACPIVIEW_H_
/**
A macro to define the max file name length
**/
#define MAX_FILE_NAME_LEN 128
/**
Offset to the RSDP revision from the start of the RSDP
**/
#define RSDP_REVISION_OFFSET 15
/**
Offset to the RSDP length from the start of the RSDP
**/
#define RSDP_LENGTH_OFFSET 20
/**
The EREPORT_OPTION enum describes ACPI table Reporting options.
**/
typedef enum ReportOption {
ReportAll, ///< Report All tables.
ReportSelected, ///< Report Selected table.
ReportTableList, ///< Report List of tables.
ReportDumpBinFile, ///< Dump selected table to a file.
ReportMax,
} EREPORT_OPTION;
/**
This function resets the ACPI table error counter to Zero.
**/
VOID
ResetErrorCount (
VOID
);
/**
This function returns the ACPI table error count.
@retval Returns the count of errors detected in the ACPI tables.
**/
UINT32
GetErrorCount (
VOID
);
/**
This function resets the ACPI table warning counter to Zero.
**/
VOID
ResetWarningCount (
VOID
);
/**
This function returns the ACPI table warning count.
@retval Returns the count of warning detected in the ACPI tables.
**/
UINT32
GetWarningCount (
VOID
);
/**
This function returns the colour highlighting status.
@retval TRUE if colour highlighting is enabled.
**/
BOOLEAN
GetColourHighlighting (
VOID
);
/**
This function sets the colour highlighting status.
@param Highlight The Highlight status.
**/
VOID
SetColourHighlighting (
BOOLEAN Highlight
);
/**
This function returns the consistency checking status.
@retval TRUE if consistency checking is enabled.
**/
BOOLEAN
GetConsistencyChecking (
VOID
);
/**
This function sets the consistency checking status.
@param ConsistencyChecking The consistency checking status.
**/
VOID
SetConsistencyChecking (
BOOLEAN ConsistencyChecking
);
/**
This function returns the ACPI table requirements validation flag.
@retval TRUE if check for mandatory table presence should be performed.
**/
BOOLEAN
GetMandatoryTableValidate (
VOID
);
/**
This function sets the ACPI table requirements validation flag.
@param Validate Enable/Disable ACPI table requirements validation.
**/
VOID
SetMandatoryTableValidate (
BOOLEAN Validate
);
/**
This function returns the identifier of specification to validate ACPI table
requirements against.
@return ID of specification listing mandatory tables.
**/
UINTN
GetMandatoryTableSpec (
VOID
);
/**
This function sets the identifier of specification to validate ACPI table
requirements against.
@param Spec ID of specification listing mandatory tables.
**/
VOID
SetMandatoryTableSpec (
UINTN Spec
);
/**
This function processes the table reporting options for the ACPI table.
@param [in] Signature The ACPI table Signature.
@param [in] TablePtr Pointer to the ACPI table data.
@param [in] Length The length fo the ACPI table.
@retval Returns TRUE if the ACPI table should be traced.
**/
BOOLEAN
ProcessTableReportOptions (
IN CONST UINT32 Signature,
IN CONST UINT8* TablePtr,
IN CONST UINT32 Length
);
#endif // ACPIVIEW_H_