diff --git a/src/cpu/x86/mp_init.c b/src/cpu/x86/mp_init.c index e3b294fc79..8cd785e5ec 100644 --- a/src/cpu/x86/mp_init.c +++ b/src/cpu/x86/mp_init.c @@ -375,9 +375,11 @@ static int allocate_cpu_devices(struct bus *cpu_bus, struct mp_params *p) /* Build the CPU device path */ cpu_path.type = DEVICE_PATH_APIC; - /* 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; + /* + * 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; /* Allocate the new CPU device structure */ new = alloc_find_dev(cpu_bus, &cpu_path);