diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-01-27 06:03:24 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-01-27 06:03:24 -0500 |
commit | 4369f1fb7cd4cf777312f43e1cb9aa5504fc4125 (patch) | |
tree | a5525d63fe682e6744c109fb72f7e1b33855cb00 /arch/x86/include/asm | |
parent | 3ddeb51d9c83931c1ca6abf76a38934c5a1ed918 (diff) | |
parent | cf3997f507624757f149fcc42b76fb03c151fb65 (diff) |
Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu
Conflicts:
arch/x86/kernel/setup_percpu.c
Semantic conflict:
arch/x86/kernel/cpu/common.c
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/include/asm')
-rw-r--r-- | arch/x86/include/asm/cpumask.h | 4 | ||||
-rw-r--r-- | arch/x86/include/asm/processor.h | 9 | ||||
-rw-r--r-- | arch/x86/include/asm/topology.h | 6 |
3 files changed, 10 insertions, 9 deletions
diff --git a/arch/x86/include/asm/cpumask.h b/arch/x86/include/asm/cpumask.h index 26c6dad90479..a7f3c75f8ad7 100644 --- a/arch/x86/include/asm/cpumask.h +++ b/arch/x86/include/asm/cpumask.h | |||
@@ -10,6 +10,8 @@ extern cpumask_var_t cpu_callout_mask; | |||
10 | extern cpumask_var_t cpu_initialized_mask; | 10 | extern cpumask_var_t cpu_initialized_mask; |
11 | extern cpumask_var_t cpu_sibling_setup_mask; | 11 | extern cpumask_var_t cpu_sibling_setup_mask; |
12 | 12 | ||
13 | extern void setup_cpu_local_masks(void); | ||
14 | |||
13 | #else /* CONFIG_X86_32 */ | 15 | #else /* CONFIG_X86_32 */ |
14 | 16 | ||
15 | extern cpumask_t cpu_callin_map; | 17 | extern cpumask_t cpu_callin_map; |
@@ -22,6 +24,8 @@ extern cpumask_t cpu_sibling_setup_map; | |||
22 | #define cpu_initialized_mask ((struct cpumask *)&cpu_initialized) | 24 | #define cpu_initialized_mask ((struct cpumask *)&cpu_initialized) |
23 | #define cpu_sibling_setup_mask ((struct cpumask *)&cpu_sibling_setup_map) | 25 | #define cpu_sibling_setup_mask ((struct cpumask *)&cpu_sibling_setup_map) |
24 | 26 | ||
27 | static inline void setup_cpu_local_masks(void) { } | ||
28 | |||
25 | #endif /* CONFIG_X86_32 */ | 29 | #endif /* CONFIG_X86_32 */ |
26 | 30 | ||
27 | #endif /* __ASSEMBLY__ */ | 31 | #endif /* __ASSEMBLY__ */ |
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h index 48676b943b92..befa20b4a68c 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h | |||
@@ -394,14 +394,6 @@ union irq_stack_union { | |||
394 | 394 | ||
395 | DECLARE_PER_CPU(union irq_stack_union, irq_stack_union); | 395 | DECLARE_PER_CPU(union irq_stack_union, irq_stack_union); |
396 | DECLARE_PER_CPU(char *, irq_stack_ptr); | 396 | DECLARE_PER_CPU(char *, irq_stack_ptr); |
397 | |||
398 | static inline void load_gs_base(int cpu) | ||
399 | { | ||
400 | /* Memory clobbers used to order pda/percpu accesses */ | ||
401 | mb(); | ||
402 | wrmsrl(MSR_GS_BASE, (unsigned long)per_cpu(irq_stack_union.gs_base, cpu)); | ||
403 | mb(); | ||
404 | } | ||
405 | #endif | 397 | #endif |
406 | 398 | ||
407 | extern void print_cpu_info(struct cpuinfo_x86 *); | 399 | extern void print_cpu_info(struct cpuinfo_x86 *); |
@@ -778,7 +770,6 @@ extern struct desc_ptr early_gdt_descr; | |||
778 | extern void cpu_set_gdt(int); | 770 | extern void cpu_set_gdt(int); |
779 | extern void switch_to_new_gdt(void); | 771 | extern void switch_to_new_gdt(void); |
780 | extern void cpu_init(void); | 772 | extern void cpu_init(void); |
781 | extern void init_gdt(int cpu); | ||
782 | 773 | ||
783 | static inline unsigned long get_debugctlmsr(void) | 774 | static inline unsigned long get_debugctlmsr(void) |
784 | { | 775 | { |
diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h index 10022ed3a4b6..77cfb2cfb386 100644 --- a/arch/x86/include/asm/topology.h +++ b/arch/x86/include/asm/topology.h | |||
@@ -74,6 +74,8 @@ static inline const struct cpumask *cpumask_of_node(int node) | |||
74 | return &node_to_cpumask_map[node]; | 74 | return &node_to_cpumask_map[node]; |
75 | } | 75 | } |
76 | 76 | ||
77 | static inline void setup_node_to_cpumask_map(void) { } | ||
78 | |||
77 | #else /* CONFIG_X86_64 */ | 79 | #else /* CONFIG_X86_64 */ |
78 | 80 | ||
79 | /* Mappings between node number and cpus on that node. */ | 81 | /* Mappings between node number and cpus on that node. */ |
@@ -120,6 +122,8 @@ static inline cpumask_t node_to_cpumask(int node) | |||
120 | 122 | ||
121 | #endif /* !CONFIG_DEBUG_PER_CPU_MAPS */ | 123 | #endif /* !CONFIG_DEBUG_PER_CPU_MAPS */ |
122 | 124 | ||
125 | extern void setup_node_to_cpumask_map(void); | ||
126 | |||
123 | /* | 127 | /* |
124 | * Replace default node_to_cpumask_ptr with optimized version | 128 | * Replace default node_to_cpumask_ptr with optimized version |
125 | * Deprecated: use "const struct cpumask *mask = cpumask_of_node(node)" | 129 | * Deprecated: use "const struct cpumask *mask = cpumask_of_node(node)" |
@@ -218,6 +222,8 @@ static inline int node_to_first_cpu(int node) | |||
218 | return first_cpu(cpu_online_map); | 222 | return first_cpu(cpu_online_map); |
219 | } | 223 | } |
220 | 224 | ||
225 | static inline void setup_node_to_cpumask_map(void) { } | ||
226 | |||
221 | /* | 227 | /* |
222 | * Replace default node_to_cpumask_ptr with optimized version | 228 | * Replace default node_to_cpumask_ptr with optimized version |
223 | * Deprecated: use "const struct cpumask *mask = cpumask_of_node(node)" | 229 | * Deprecated: use "const struct cpumask *mask = cpumask_of_node(node)" |