Attention is currently required from: Arthur Heymans, Chen, Gang C, Fred Reitberger, Jason Glenesk, Jérémy Compostella, Martin L Roth, Matt DeVillier.
Jincheng Li 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 10:
(1 comment)
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()