[PATCH v2 02/23] FADT: non-x86 machines need an FADT but x86 can survive without one
Al Stone
al.stone at linaro.org
Fri Feb 19 23:39:38 UTC 2016
If there is no FADT, x86 machines can get by. Others cannot (or at
least should not). On non-x86 machines, cause the initialization to
fail instead of ignoring a zero-length FADT.
Signed-off-by: Al Stone <al.stone at linaro.org>
Acked-by: Colin Ian King <colin.king at canonical.com>
Acked-by: Ivan Hu <ivan.hu at canonical.com>
---
src/acpi/fadt/fadt.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/acpi/fadt/fadt.c b/src/acpi/fadt/fadt.c
index 1a5560c..aacf317 100644
--- a/src/acpi/fadt/fadt.c
+++ b/src/acpi/fadt/fadt.c
@@ -56,10 +56,17 @@ static int fadt_init(fwts_framework *fw)
fadt = (const fwts_acpi_table_fadt*)table->data;
fadt_size = table->length;
- /* Not having a FADT is not a failure */
+ /* Not having a FADT is not a failure on x86 */
if (fadt_size == 0) {
- fwts_log_info(fw, "FADT does not exist, this is not necessarily a failure, skipping tests.");
- return FWTS_SKIP;
+ if (fw->target_arch == FWTS_ARCH_X86) {
+ fwts_log_info(fw,
+ "FADT does not exist, this is not "
+ "necessarily a failure, skipping tests.");
+ return FWTS_SKIP;
+ } else {
+ fwts_log_error(fw, "ACPI table FACP has zero length!");
+ return FWTS_ERROR;
+ }
}
return FWTS_OK;
--
2.5.0
More information about the fwts-devel
mailing list