aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86
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 /include/asm-x86
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 'include/asm-x86')
-rw-r--r--include/asm-x86/processor.h14
-rw-r--r--include/asm-x86/smp_64.h8
2 files changed, 11 insertions, 11 deletions
diff --git a/include/asm-x86/processor.h b/include/asm-x86/processor.h
index e701ac5487e5..81ecfed83e47 100644
--- a/include/asm-x86/processor.h
+++ b/include/asm-x86/processor.h
@@ -90,14 +90,14 @@ struct cpuinfo_x86 {
90#ifdef CONFIG_SMP 90#ifdef CONFIG_SMP
91 cpumask_t llc_shared_map; /* cpus sharing the last level cache */ 91 cpumask_t llc_shared_map; /* cpus sharing the last level cache */
92#endif 92#endif
93 unsigned char x86_max_cores; /* cpuid returned max cores value */ 93 u16 x86_max_cores; /* cpuid returned max cores value */
94 unsigned char apicid; 94 u16 apicid;
95 unsigned short x86_clflush_size; 95 u16 x86_clflush_size;
96#ifdef CONFIG_SMP 96#ifdef CONFIG_SMP
97 unsigned char booted_cores; /* number of cores as seen by OS */ 97 u16 booted_cores; /* number of cores as seen by OS */
98 __u8 phys_proc_id; /* Physical processor id. */ 98 u16 phys_proc_id; /* Physical processor id. */
99 __u8 cpu_core_id; /* Core id */ 99 u16 cpu_core_id; /* Core id */
100 __u8 cpu_index; /* index into per_cpu list */ 100 u16 cpu_index; /* index into per_cpu list */
101#endif 101#endif
102} __attribute__((__aligned__(SMP_CACHE_BYTES))); 102} __attribute__((__aligned__(SMP_CACHE_BYTES)));
103 103
diff --git a/include/asm-x86/smp_64.h b/include/asm-x86/smp_64.h
index 2feddda91e12..b1d5381aa760 100644
--- a/include/asm-x86/smp_64.h
+++ b/include/asm-x86/smp_64.h
@@ -26,14 +26,14 @@ extern void unlock_ipi_call_lock(void);
26extern int smp_call_function_mask(cpumask_t mask, void (*func)(void *), 26extern int smp_call_function_mask(cpumask_t mask, void (*func)(void *),
27 void *info, int wait); 27 void *info, int wait);
28 28
29extern u8 __initdata x86_cpu_to_apicid_init[]; 29extern u16 __initdata x86_cpu_to_apicid_init[];
30extern void *x86_cpu_to_apicid_ptr; 30extern void *x86_cpu_to_apicid_ptr;
31extern u8 bios_cpu_apicid[]; 31extern u16 bios_cpu_apicid[];
32 32
33DECLARE_PER_CPU(cpumask_t, cpu_sibling_map); 33DECLARE_PER_CPU(cpumask_t, cpu_sibling_map);
34DECLARE_PER_CPU(cpumask_t, cpu_core_map); 34DECLARE_PER_CPU(cpumask_t, cpu_core_map);
35DECLARE_PER_CPU(u8, cpu_llc_id); 35DECLARE_PER_CPU(u16, cpu_llc_id);
36DECLARE_PER_CPU(u8, x86_cpu_to_apicid); 36DECLARE_PER_CPU(u16, x86_cpu_to_apicid);
37 37
38static inline int cpu_present_to_apicid(int mps_cpu) 38static inline int cpu_present_to_apicid(int mps_cpu)
39{ 39{