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:
Patrick Rudolph 2023-02-28 07:28:56 +01:00 committed by Lean Sheng Tan
parent 4f13239318
commit 0f0b619953
1 changed files with 1 additions and 1 deletions

View File

@ -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();