Attention is currently required from: Chen, Gang C, Felix Held, Fred Reitberger, Jason Glenesk, Jincheng Li, Jérémy Compostella, Martin L Roth, Matt DeVillier, Nico Huber.
Arthur Heymans has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/78328?usp=email )
Change subject: device/device.h: Drop multiple links ......................................................................
Patch Set 13:
(2 comments)
Patchset:
PS10:
Per tests on SPR, APIC devices will link under a null attribute bus path_type after adding drop multiple links.
is_cpu() will check the bus path_type to be one CPU_CLUSTER and that will lead to the failure return:
bool is_cpu(const struct device *cpu) { return cpu->path.type == DEVICE_PATH_APIC && cpu->bus->dev->path.type == DEVICE_PATH_CPU_CLUSTER; }
Append device tree print:
[0m[SPEW ] Show all devs... After init.[0m [0m[SPEW ] Root Device: enabled 1[0m [0m[SPEW ] CPU_CLUSTER: 0: enabled 1[0m [0m[SPEW ] DOMAIN: 0000: enabled 1[0m [0m[SPEW ] PCI: 00:00.0: enabled 1[0m [0m[SPEW ] PCI: 00:18.0: enabled 0[0m ... [0m[SPEW ] DOMAIN: 0001: enabled 1[0m ... [0m[SPEW ] PCI: 00:00.3: enabled 1[0m [0m[SPEW ] PCI: 00:14.4: enabled 1[0m [0m[SPEW ] PCI: 01:00.0: enabled 1[0m [0m[SPEW ] PCI: 02:00.0: enabled 1[0m [0m[SPEW ] PCI: 03:00.0: enabled 1[0m [0m[SPEW ] PNP: 002e.4: enabled 1[0m [0m[SPEW ] PNP: 002e.5: enabled 1[0m [0m[SPEW ] PNP: 002e.7: enabled 1[0m [0m[SPEW ] PNP: 002e.d: enabled 1[0m [0m[SPEW ] PNP: 002e.e: enabled 1[0m [0m[SPEW ] PCI: 15:00.0: enabled 1[0m [0m[SPEW ] PCI: 15:00.1: enabled 1[0m ... [0m[SPEW ] GENERIC: 0.0: enabled 1[0m [0m[SPEW ] GENERIC: 0.0: enabled 1[0m [0m[SPEW ] GENERIC: 0.0: enabled 1[0m [0m[SPEW ] GENERIC: 0.0: enabled 1[0m [0m[SPEW ] APIC: 00: enabled 1[0m [0m[SPEW ] APIC: 05: enabled 1[0m [0m[SPEW ] APIC: 07: enabled 1[0m ... [0m[DEBUG] BS: BS_DEV_INIT run times (exec / console): 4100 / 3120 ms[0m
Suggest to delete "cpu->bus->dev->path.type == DEVICE_PATH_CPU_CLUSTER;" check in is_cpu()
I'm not entirely sure what's going on but v10 had some flaws that ought to be fixed in the latest revision. Could you check again?
Latest patchset (14) fixes this, I believe. Thanks for reporting.
Patchset:
PS13:
the first test was with edk2 payload; using linux + seabios resulted in a more helpful error; there the linux kernel says: ACPI: No LAPIC entries present AMD-Vi: [Frmware Bug]: : No southbridge IOAPIC found
Latest patchset should fix this I believe.