Krzysztof Koch f73843d56d ShellPkg: acpiview: Allow disabling consistency checks (-q flag)
The current documentation for the acpiview UEFI shell tool states
that the '-c' flag enables consistency checks on ACPI table data.
However, these checks are enabled anyway by default.

This patch keeps ACPI table validation as a default option, but it
makes it possible to turn ACPI table validation off by setting the
newly-introduced '-q' flag. Consequently, the '-c' flag is removed.

The remaining code changes in this patch make a number of consistency
checks optional (but enabled by default):
1. ACPI table field offset mismatch.
2. ACPI table field validation functions provided in the ACPI_PARSER
   arrays.
3. Table checksum computation.

Signed-off-by: Krzysztof Koch <krzysztof.koch@arm.com>
Reviewed-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Reviewed-by: Zhichao Gao <zhichao.gao@intel.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2019-07-02 17:22:45 +08:00

132 lines
2.6 KiB
C

/** @file
Header file for AcpiView
Copyright (c) 2016 - 2019, 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 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_