Attention is currently required from: Kyösti Mälkki, Patrick Rudolph. Wonkyu Kim has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/55182 )
Change subject: soc/intel/common: Fix X2APIC NMI entry in ACPI MADT ......................................................................
Patch Set 1:
(1 comment)
File src/soc/intel/common/block/acpi/acpi.c:
https://review.coreboot.org/c/coreboot/+/55182/comment/de02a493_fc9524ef PS1, Line 86: 0xffffffff, 0xd, 1);
I'd like to know reasoning for the different flags here. 5 vs 0xd.
Thanks for finding out the this. Do you have detail failure from original code? It's better add this info as test method for x2apic mode. According to our testing to boot and check x2apic mode from OS, we did not find out any issue. So, we may also add the use case one of verification method
0xD is active high and level trigger is the value is from reference BIOS code. Checked reference bios code again, it looks we may need to use either acpi_create_madt_lapic_nmi or acpi_create_madt_lx2apic_nmi.
I mean like below.
current += acpi_create_madt_lapic_nmi((acpi_madt_lapic_nmi_t *)current, 0xff, 5, 1);
if (is_x2apic_mode()) current += acpi_create_madt_lx2apic_nmi((acpi_madt_lx2apic_nmi_t *)current, 0xffffffff, 0xd, 1); else current += acpi_create_madt_lapic_nmi((acpi_madt_lapic_nmi_t *)current, 0xff, 5, 1);
Let me also check this from my side.