diff options
Diffstat (limited to 'arch/x86/kernel/setup_percpu.c')
-rw-r--r-- | arch/x86/kernel/setup_percpu.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c index e4433bf44209..55c46074eba0 100644 --- a/arch/x86/kernel/setup_percpu.c +++ b/arch/x86/kernel/setup_percpu.c | |||
@@ -130,7 +130,27 @@ static void __init setup_cpu_pda_map(void) | |||
130 | /* point to new pointer table */ | 130 | /* point to new pointer table */ |
131 | _cpu_pda = new_cpu_pda; | 131 | _cpu_pda = new_cpu_pda; |
132 | } | 132 | } |
133 | #endif | 133 | |
134 | #endif /* CONFIG_SMP && CONFIG_X86_64 */ | ||
135 | |||
136 | #ifdef CONFIG_X86_64 | ||
137 | |||
138 | /* correctly size the local cpu masks */ | ||
139 | static void setup_cpu_local_masks(void) | ||
140 | { | ||
141 | alloc_bootmem_cpumask_var(&cpu_initialized_mask); | ||
142 | alloc_bootmem_cpumask_var(&cpu_callin_mask); | ||
143 | alloc_bootmem_cpumask_var(&cpu_callout_mask); | ||
144 | alloc_bootmem_cpumask_var(&cpu_sibling_setup_mask); | ||
145 | } | ||
146 | |||
147 | #else /* CONFIG_X86_32 */ | ||
148 | |||
149 | static inline void setup_cpu_local_masks(void) | ||
150 | { | ||
151 | } | ||
152 | |||
153 | #endif /* CONFIG_X86_32 */ | ||
134 | 154 | ||
135 | /* | 155 | /* |
136 | * Great future plan: | 156 | * Great future plan: |
@@ -186,6 +206,9 @@ void __init setup_per_cpu_areas(void) | |||
186 | 206 | ||
187 | /* Setup node to cpumask map */ | 207 | /* Setup node to cpumask map */ |
188 | setup_node_to_cpumask_map(); | 208 | setup_node_to_cpumask_map(); |
209 | |||
210 | /* Setup cpu initialized, callin, callout masks */ | ||
211 | setup_cpu_local_masks(); | ||
189 | } | 212 | } |
190 | 213 | ||
191 | #endif | 214 | #endif |