FWTS still checks the _UID of GIC entries for cores with _STA set to 0, causing the test to fail.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
fwts (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
When certain CPU cores are disabled (i.e., their _STA value is changed from 0xF to 0x0), FWTS correctly skips these cores. However, it still checks whether the _UID in the MADT GIC entries matches the UID of the cores, which causes the test to FAIL.
log like this:
madt: GICC has no matching processor UID x.
This behavior is not compliant with the ACPI specification, as the correct way to indicate whether a GIC is used by the OS is through the Flags field in the MADT GICC entries, not the _STA value.
We've made a little modification to fix this:
diff --git a/src/acpi/
index 0b6d00ad..21e614a6 100644
--- a/src/acpi/
+++ b/src/acpi/
@@ -1083,7 +1083,8 @@ static int madt_gicc(
- madt_find_
+ if((gic->flags & 1) != 0)
+ madt_find_
mask = 0xfffffffc;
start = 2;
description: | updated |