Attention is currently required from: Arthur Heymans.
Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/74399 )
Change subject: cpu,soc/intel: Separate single SSDT CPU entry ......................................................................
Patch Set 2:
(1 comment)
File src/soc/intel/common/block/acpi/acpi.c:
https://review.coreboot.org/c/coreboot/+/74399/comment/da865048_88bb4153 PS1, Line 422: generate_cpu_entry(device, cpu_id, core_id, num_virt);
This loop order determines UUIDs for each CPU Device().
Now, as long as we create a symmetrical entry for each CPU, the order does not really matter. But the UUIDs need/should sync with MADT LAPIC entries?
Should the MADT order be kept inside path and generating SSDT be added to cpu ops of each lapic rather than as ops of the cpu cluster which loops over numbers?
I thought of sorting cpu->sibling the way we want them to appear in MADT and have the UUID determined inside device object, possibly path. I have already prepares something towards that direction, which also explains the spurious passing of *device in this patchset.
And yes, some fill_ssdt ops would move around.
Is it really okay that we use the BSP CPU to create also the AP CPU's entries on some platforms?
I guess it's fragile?