Commit 73bf102b authored by Glauber de Oliveira Costa's avatar Glauber de Oliveira Costa Committed by Ingo Molnar

x86: fill bios cpu to apicid maps

We fill the per-cpu (or array) that maps
bios cpu id to apicid in mpparse_32.c, the way x86_64 does
Signed-off-by: default avatarGlauber Costa <gcosta@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 4fe29a85
...@@ -75,8 +75,6 @@ unsigned disabled_cpus __cpuinitdata; ...@@ -75,8 +75,6 @@ unsigned disabled_cpus __cpuinitdata;
/* Bitmask of physically existing CPUs */ /* Bitmask of physically existing CPUs */
physid_mask_t phys_cpu_present_map; physid_mask_t phys_cpu_present_map;
u8 bios_cpu_apicid[NR_CPUS] = { [0 ... NR_CPUS-1] = BAD_APICID };
/* /*
* Intel MP BIOS table parsing routines: * Intel MP BIOS table parsing routines:
*/ */
...@@ -220,7 +218,14 @@ static void __cpuinit MP_processor_info (struct mpc_config_processor *m) ...@@ -220,7 +218,14 @@ static void __cpuinit MP_processor_info (struct mpc_config_processor *m)
def_to_bigsmp = 1; def_to_bigsmp = 1;
} }
} }
/* are we being called early in kernel startup? */
if (x86_cpu_to_apicid_early_ptr) {
u16 *bios_cpu_apicid = x86_bios_cpu_apicid_early_ptr;
bios_cpu_apicid[num_processors - 1] = m->mpc_apicid; bios_cpu_apicid[num_processors - 1] = m->mpc_apicid;
} else {
int cpu = num_processors - 1;
per_cpu(x86_bios_cpu_apicid, cpu) = m->mpc_apicid;
}
} }
static void __init MP_bus_info (struct mpc_config_bus *m) static void __init MP_bus_info (struct mpc_config_bus *m)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment