Public bug reported: 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. URL:https://uefi.org/htmlspecs/ACPI_Spec_6_4_html/05_ACPI_Software_Programming_Model/ACPI_Software_Programming_Model.html?highlight=madt#gicc- cpu-interface-flags We've made a little modification to fix this: diff --git a/src/acpi/madt/madt.c b/src/acpi/madt/madt.c index 0b6d00ad..21e614a6 100644 --- a/src/acpi/madt/madt.c +++ b/src/acpi/madt/madt.c @@ -1083,7 +1083,8 @@ static int madt_gicc(fwts_framework *fw, "MADT %s reserved field properly set to zero.", madt_sub_names[hdr->type]); - madt_find_processor_uid(fw, gic->processor_uid, "GICC"); + if((gic->flags & 1) != 0) + madt_find_processor_uid(fw, gic->processor_uid, "GICC"); mask = 0xfffffffc; start = 2; ** Affects: fwts (Ubuntu) Importance: Undecided Status: New ** Description changed: 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. URL:https://uefi.org/htmlspecs/ACPI_Spec_6_4_html/05_ACPI_Software_Programming_Model/ACPI_Software_Programming_Model.html?highlight=madt#gicc- cpu-interface-flags We've made a little modification to fix this: diff --git a/src/acpi/madt/madt.c b/src/acpi/madt/madt.c index 0b6d00ad..21e614a6 100644 --- a/src/acpi/madt/madt.c +++ b/src/acpi/madt/madt.c @@ -1083,7 +1083,8 @@ static int madt_gicc(fwts_framework *fw, - "MADT %s reserved field properly set to zero.", - madt_sub_names[hdr->type]); - + "MADT %s reserved field properly set to zero.", + madt_sub_names[hdr->type]); + - madt_find_processor_uid(fw, gic->processor_uid, "GICC"); + if((gic->flags & 1) != 0) + madt_find_processor_uid(fw, gic->processor_uid, "GICC"); - - mask = 0xfffffffc; - start = 2; + + mask = 0xfffffffc; + start = 2; -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2110175 Title: FWTS still checks the _UID of GIC entries for cores with _STA set to 0, causing the test to fail. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/fwts/+bug/2110175/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
