[PATCH] madt: fix the Local APIC NMI processor UID checking

Ivan Hu ivan.hu at canonical.com
Wed Oct 31 09:45:10 UTC 2018


ACPI specification define 0xFF value for ACPI processor UID on Local APIC NMI
Structure as "A value of 0xFF signifies that this applies to all processors in
the machine", we shouldn't match it as invalid UID.

Medium failures: 1
 madt: LAPICNMI has no matching processor UID 255

Signed-off-by: Ivan Hu <ivan.hu at canonical.com>
---
 src/acpi/madt/madt.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/acpi/madt/madt.c b/src/acpi/madt/madt.c
index 19a6e14..8814166 100644
--- a/src/acpi/madt/madt.c
+++ b/src/acpi/madt/madt.c
@@ -312,6 +312,14 @@ static ACPI_OBJECT_TYPE madt_find_processor_uid(fwts_framework *fw,
 				    "UID %" PRIu64 ".", table_name, uid);
 			return listint->type;
 		}
+
+		if ((uid == 0xFF) && (strcmp(table_name, "LAPICNMI") == 0)) {
+			fwts_passed(fw, "MADT %s has processor "
+					"UID 0x%" PRIx64 " which signifies "
+					"that this applies to all processors "
+					"in the machine.", table_name, uid);
+				return listint->type;
+		}
 	}
 
 	sprintf(table_label, "MADT%sUidMismatch", table_name);
-- 
2.7.4




More information about the fwts-devel mailing list