From 0f0b6199537a9976efd34fab0f4636c89089cb59 Mon Sep 17 00:00:00 2001 From: Patrick Rudolph Date: Tue, 28 Feb 2023 07:28:56 +0100 Subject: [PATCH] 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/73578 Reviewed-by: Lean Sheng Tan Reviewed-by: Arthur Heymans Tested-by: build bot (Jenkins) Reviewed-by: Sean Rhodes --- src/soc/intel/common/block/acpi/acpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/soc/intel/common/block/acpi/acpi.c b/src/soc/intel/common/block/acpi/acpi.c index 4b3cb8a50b..1c3747d76a 100644 --- a/src/soc/intel/common/block/acpi/acpi.c +++ b/src/soc/intel/common/block/acpi/acpi.c @@ -400,7 +400,7 @@ void generate_cpu_entries(const struct device *device) for (cpu_id = 0; cpu_id < numcpus; cpu_id++) { for (core_id = 0; core_id < num_virt; core_id++) { /* 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_entries();