summaryrefslogtreecommitdiff
path: root/src/cpu/x86/mp_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/x86/mp_init.c')
-rw-r--r--src/cpu/x86/mp_init.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/cpu/x86/mp_init.c b/src/cpu/x86/mp_init.c
index fa19104b53..febc30b9de 100644
--- a/src/cpu/x86/mp_init.c
+++ b/src/cpu/x86/mp_init.c
@@ -375,11 +375,9 @@ static int allocate_cpu_devices(struct bus *cpu_bus, struct mp_params *p)
/* Build the CPU device path */
cpu_path.type = DEVICE_PATH_APIC;
- /*
- * Set a bogus apic_id.
- * AP will set its own APIC id in the ap_init() path above.
- */
- cpu_path.apic.apic_id = UINT32_MAX;
+ /* Assuming linear APIC space allocation. AP will set its own
+ APIC id in the ap_init() path above. */
+ cpu_path.apic.apic_id = info->cpu->path.apic.apic_id + i;
/* Allocate the new CPU device structure */
new = alloc_find_dev(cpu_bus, &cpu_path);