[PATCH v2 00/23] Full ACPI compliance testing for the FADT
Al Stone
al.stone at linaro.org
Fri Feb 19 23:39:36 UTC 2016
This constitutes a major rewrite and restructuring of the FADT tests
for ACPI. There is now a compliance test for every field that we can
test. Some we cannot test since any possible value in the field is
also an allowed value.
In some cases, the tests are an extension of existing tests -- for the
PM blocks, SMI_CMD and the GPE blocks, for example. In the rest, these
are new tests, and all of these are part of what used to be a much smaller
test1. The original test2 and test3 are almost entirely intact since they
did some solid testing of semantics across several related fields.
The largest structural change is around reduced hardware mode. There is
now a test specific to that mode verifying that all of the fields in the
FADT that are to be ignored are set to zero. Further, tests that are
irrelevant to reduced hardware mode are skipped when we have tables in
that mode.
Some of the patches are simply to enable compiling the FADT tests on
non-x86 architectures; they were completely disabled previously. I did
attempt to break up the patches into reasonable chunks but some of them
still may have ended up fairly large.
This has been tested on arm64 and x86-64, using arm64 and x86 ACPI tables.
I am sure the testing has not been exhaustive; there are a *lot* of fields
in the FADT.
Changes for v2:
-- Print out the SEALED_CASE flag (Colin Ian King)
-- Relax the revision test a little (Alex Hung)
-- Simplify/clarify testing of DSDT/X_DSDT fields (Alex Hung)
-- New patch: add in safety checks for many of the fields that may not
occur in older FADTs (spurred by comments from Alex Hung)
-- New patch: update regression tests (Colin Ian King)
-- Add in Acked-bys, but only if there were NO changes to the prior
version of the patch (patches 4/23, 8/23, 10/23, 22-23/23 are the
only ones without Acked-bys).
Al Stone (23):
FADT: enable compiling on non-x86 architectures
FADT: non-x86 machines need an FADT but x86 can survive without one
FADT: disable SCI_EN and RESET_REG tests when in reduced hardware mode
FADT: add in code to log basic info about the various FADT flag fields
Add in bit masks for FACS flags.
FADT: move log info out of test2, will provide it elsewhere
ACPI: Add hypervisor ID field to FADT.
FADT: minor cleanup and initial compliance tests
FADT: expand the compliance test for FIRMWARE_CTRL fields
FADT: expand compliance checks for DSDT and X_DSDT fields
FADT: add compliance tests for reserved fields, PM profile, reduced
hardware
FADT: restructure test sequence around reduced hardware mode
FADT: expand compliance tests for the SMI_CMD field
FADT: add compliance tests for the ACPI_ENABLE and ACPI_DISABLE fields
FADT: add compliance tests for S4BIOS_REQ and PSTATE_CNT fields
FADT: extend and add PM address block compliance tests
FADT: enhance compliance tests for GPE blocks
FADT: add compliance test for the CST_CNT field
FADT: add in compliance tests for C2/C3 latency fields
FADT: add in SLEEP_CONTROL_REG and SLEEP_STATUS_REG compliance tests
FADT: remove no longer useful variables from test1
FADT: add safety checks for older versions of FADT
FADT: update regression tests to incorporate new/changed tests
.../arg-show-tests-0001/arg-show-tests-0001.log | 1 +
.../arg-show-tests-full-0001.log | 21 +-
src/acpi/fadt/fadt.c | 1796 +++++++++++++++++---
src/lib/include/fwts_acpi.h | 35 +
4 files changed, 1595 insertions(+), 258 deletions(-)
--
2.5.0
More information about the fwts-devel
mailing list