soc/intel/common/block/acpi: Support more than 255 cores
Replace the legacy ACPI Processor() object as it only supports 8bit IDs and thus no more than 255 cores. Use the new ACPI Device() object that supports more than 255 cores. Test: - Observed no ACPI errors on IBM/SBP1 and Linux 5.15 running 384 CPU cores in total. - Verified on Intel ADL RVP with 20 cores that Linux 5.15 is still working without errors. Change-Id: I309c06b6824704c84fd16534655334a6f269904a Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/73578 Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Sean Rhodes <sean@starlabs.systems>
This commit is contained in:
parent
4f13239318
commit
0f0b619953
|
@ -400,7 +400,7 @@ void generate_cpu_entries(const struct device *device)
|
||||||
for (cpu_id = 0; cpu_id < numcpus; cpu_id++) {
|
for (cpu_id = 0; cpu_id < numcpus; cpu_id++) {
|
||||||
for (core_id = 0; core_id < num_virt; core_id++) {
|
for (core_id = 0; core_id < num_virt; core_id++) {
|
||||||
/* Generate processor \_SB.CPUx */
|
/* Generate processor \_SB.CPUx */
|
||||||
acpigen_write_processor((cpu_id) * num_virt + core_id, 0, 0);
|
acpigen_write_processor_device(cpu_id * num_virt + core_id);
|
||||||
|
|
||||||
/* Generate C-state tables */
|
/* Generate C-state tables */
|
||||||
generate_c_state_entries();
|
generate_c_state_entries();
|
||||||
|
|
Loading…
Reference in New Issue