aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/mpparse_64.c
diff options
context:
space:
mode:
authortravis@sgi.com <travis@sgi.com>2008-01-30 07:33:10 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:33:10 -0500
commitef97001f3d869d7cc1956e0cc0d89e514e3f7db0 (patch)
treea66c041d96367f049143d63ebcc85e0b7d6dce34 /arch/x86/kernel/mpparse_64.c
parenta1bf250a6f31afb8caac166ae50dc7b89c38084c (diff)
x86: change size of APICIDs from u8 to u16
Change the size of APICIDs from u8 to u16. This partially supports the new x2apic mode that will be present on future processor chips. (Chips actually support 32-bit APICIDs, but that change is more intrusive. Supporting 16-bit is sufficient for now). Signed-off-by: Jack Steiner <steiner@sgi.com> I've included just the partial change from u8 to u16 apicids. The remaining x2apic changes will be in a separate patch. In addition, the fake_node_to_pxm_map[] and fake_apicid_to_node[] tables have been moved from local data to the __initdata section reducing stack pressure when MAX_NUMNODES and MAX_LOCAL_APIC are increased in size. Signed-off-by: Mike Travis <travis@sgi.com> Reviewed-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/mpparse_64.c')
-rw-r--r--arch/x86/kernel/mpparse_64.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kernel/mpparse_64.c b/arch/x86/kernel/mpparse_64.c
index ef4aab123581..17d21e5b22d6 100644
--- a/arch/x86/kernel/mpparse_64.c
+++ b/arch/x86/kernel/mpparse_64.c
@@ -67,7 +67,7 @@ unsigned disabled_cpus __cpuinitdata;
67/* Bitmask of physically existing CPUs */ 67/* Bitmask of physically existing CPUs */
68physid_mask_t phys_cpu_present_map = PHYSID_MASK_NONE; 68physid_mask_t phys_cpu_present_map = PHYSID_MASK_NONE;
69 69
70u8 bios_cpu_apicid[NR_CPUS] = { [0 ... NR_CPUS-1] = BAD_APICID }; 70u16 bios_cpu_apicid[NR_CPUS] = { [0 ... NR_CPUS-1] = BAD_APICID };
71 71
72 72
73/* 73/*
@@ -132,7 +132,7 @@ static void __cpuinit MP_processor_info(struct mpc_config_processor *m)
132 * area is created. 132 * area is created.
133 */ 133 */
134 if (x86_cpu_to_apicid_ptr) { 134 if (x86_cpu_to_apicid_ptr) {
135 u8 *x86_cpu_to_apicid = (u8 *)x86_cpu_to_apicid_ptr; 135 u16 *x86_cpu_to_apicid = (u16 *)x86_cpu_to_apicid_ptr;
136 x86_cpu_to_apicid[cpu] = m->mpc_apicid; 136 x86_cpu_to_apicid[cpu] = m->mpc_apicid;
137 } else { 137 } else {
138 per_cpu(x86_cpu_to_apicid, cpu) = m->mpc_apicid; 138 per_cpu(x86_cpu_to_apicid, cpu) = m->mpc_apicid;