ACPICA: Tables: Update FADT handling

ACPICA commit bca0c4cb063ee488c543e6f160fe89679a2338d6

Update a warning message
simplify versioning for "table too big" case.

Link: https://github.com/acpica/acpica/commit/bca0c4cb
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Bob Moore 2016-03-24 09:39:28 +08:00 committed by Rafael J. Wysocki
parent 3a9ca4d5f1
commit b94cd8118c
2 changed files with 14 additions and 8 deletions

View File

@ -385,14 +385,15 @@ void acpi_tb_create_local_fadt(struct acpi_table_header *table, u32 length)
{
/*
* Check if the FADT is larger than the largest table that we expect
* (the ACPI 5.0 version). If so, truncate the table, and issue
* a warning.
* (typically the current ACPI specification version). If so, truncate
* the table, and issue a warning.
*/
if (length > sizeof(struct acpi_table_fadt)) {
ACPI_BIOS_WARNING((AE_INFO,
"FADT (revision %u) is longer than ACPI 5.0 version, "
"FADT (revision %u) is longer than %s length, "
"truncating length %u to %u",
table->revision, length,
table->revision, ACPI_FADT_CONFORMANCE,
length,
(u32)sizeof(struct acpi_table_fadt)));
}
@ -646,9 +647,12 @@ static void acpi_tb_convert_fadt(void)
if ((address64->address && !length) ||
(!address64->address && length)) {
ACPI_BIOS_WARNING((AE_INFO,
"Optional FADT field %s has zero address or length: "
"0x%8.8X%8.8X/0x%X",
name,
"Optional FADT field %s has valid %s but zero %s: "
"0x%8.8X%8.8X/0x%X", name,
(length ? "Length" :
"Address"),
(length ? "Address" :
"Length"),
ACPI_FORMAT_UINT64
(address64->address),
length));

View File

@ -223,7 +223,7 @@ struct acpi_table_facs {
/*******************************************************************************
*
* FADT - Fixed ACPI Description Table (Signature "FACP")
* Version 4
* Version 6
*
******************************************************************************/
@ -413,4 +413,6 @@ struct acpi_table_desc {
#define ACPI_FADT_V5_SIZE (u32) (ACPI_FADT_OFFSET (hypervisor_id))
#define ACPI_FADT_V6_SIZE (u32) (sizeof (struct acpi_table_fadt))
#define ACPI_FADT_CONFORMANCE "ACPI 6.1 (FADT version 6)"
#endif /* __ACTBL_H__ */