[PATCH 03/30] acpi: re-orgainise HPET tests #2
Colin King
colin.king at canonical.com
Thu Jun 18 08:49:15 UTC 2015
From: Colin Ian King <colin.king at canonical.com>
Update makefile, add in HPET code from acpitables HPET test
and rename the test.
Signed-off-by: Colin Ian King <colin.king at canonical.com>
---
src/Makefile.am | 2 +-
src/acpi/hpet/hpet.c | 18 ++++++++++++++++--
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index d81c3e8..2a3e373 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -47,6 +47,7 @@ fwts_SOURCES = main.c \
acpi/fan/fan.c \
acpi/gpedump/gpedump.c \
acpi/hest/hest.c \
+ acpi/hpet/hpet.c \
acpi/lid/lid.c \
acpi/mcfg/mcfg.c \
acpi/method/method.c \
@@ -89,7 +90,6 @@ fwts_SOURCES = main.c \
cpu/microcode/microcode.c \
dmi/dmicheck/dmicheck.c \
hotkey/hotkey/hotkey.c \
- hpet/hpet_check/hpet_check.c \
kernel/klog/klog.c \
kernel/oops/oops.c \
kernel/version/version.c \
diff --git a/src/acpi/hpet/hpet.c b/src/acpi/hpet/hpet.c
index 6ccd3b0..aa1fa9a 100644
--- a/src/acpi/hpet/hpet.c
+++ b/src/acpi/hpet/hpet.c
@@ -28,6 +28,7 @@
static fwts_list *klog;
+
#define HPET_REG_SIZE (0x400)
#define MAX_CLK_PERIOD (100000000)
@@ -293,6 +294,19 @@ static int hpet_check_test2(fwts_framework *fw)
passed = false;
}
+ if (((hpet->event_timer_block_id >> 16) & 0xffff) == 0) {
+ fwts_failed(fw, LOG_LEVEL_MEDIUM, "HPETVendorIdZero",
+ "HPET PCI Vendor ID is 0x0000, which is invalid.");
+ fwts_advice(fw,
+ "The HPET specification (http://www.intel.com/hardwaredesign/hpetspec_1.pdf) "
+ "describes the HPET table in section 3.2.4 'The ACPI "
+ "2.0 HPET Description Table (HPET)'. The top 16 bits "
+ "of the Event Timer Block ID specify the Vendor ID "
+ "and this should not be zero. This won't affect the "
+ "kernel behaviour, but should be fixed as it is an "
+ "undefined ID value.");
+ }
+
/*
* We don't need to check for GAS address space widths etc
* since the kernel does not care and the spec doesn't
@@ -431,13 +445,13 @@ static fwts_framework_minor_test hpet_check_tests[] = {
};
static fwts_framework_ops hpet_check_ops = {
- .description = "HPET configuration tests.",
+ .description = "HPET IA-PC High Precision Event Timer Tanble tests.",
.init = hpet_check_init,
.deinit = hpet_check_deinit,
.minor_tests = hpet_check_tests
};
-FWTS_REGISTER("hpet_check", &hpet_check_ops, FWTS_TEST_ANYTIME,
+FWTS_REGISTER("hpet", &hpet_check_ops, FWTS_TEST_ANYTIME,
FWTS_FLAG_BATCH | FWTS_FLAG_ROOT_PRIV | FWTS_FLAG_TEST_ACPI)
#endif
--
2.1.4
More information about the fwts-devel
mailing list