soc/intel/xeon_sp/skx: Fix MADT CPU indexes

The CPU index wasn't getting updated. Confirm MADT sets IOAPIC and CPU
ID numbers.

Change-Id: I72430cc48f4609ac408e723172ba1ed263cca8e3
Signed-off-by: Marc Jones <marcjones@sysproconsulting.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/47277
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
This commit is contained in:
Marc Jones 2020-11-05 17:30:26 -07:00 committed by Marc Jones
parent 18960ce0c9
commit 83729bd430
1 changed files with 2 additions and 1 deletions

View File

@ -182,7 +182,7 @@ void soc_power_states_generation(int core, int cores_per_package)
unsigned long xeonsp_acpi_create_madt_lapics(unsigned long current) unsigned long xeonsp_acpi_create_madt_lapics(unsigned long current)
{ {
struct device *cpu; struct device *cpu;
int num_cpus = 0; uint8_t num_cpus = 0;
for (cpu = all_devices; cpu; cpu = cpu->next) { for (cpu = all_devices; cpu; cpu = cpu->next) {
if ((cpu->path.type != DEVICE_PATH_APIC) || if ((cpu->path.type != DEVICE_PATH_APIC) ||
@ -193,6 +193,7 @@ unsigned long xeonsp_acpi_create_madt_lapics(unsigned long current)
continue; continue;
current += acpi_create_madt_lapic((acpi_madt_lapic_t *)current, current += acpi_create_madt_lapic((acpi_madt_lapic_t *)current,
num_cpus, cpu->path.apic.apic_id); num_cpus, cpu->path.apic.apic_id);
num_cpus++;
} }
return current; return current;