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 a4b619c33106..aa55764602b1 100644 --- a/arch/x86/kernel/setup_percpu.c +++ b/arch/x86/kernel/setup_percpu.c | |||
@@ -131,7 +131,27 @@ static void __init setup_cpu_pda_map(void) | |||
131 | /* point to new pointer table */ | 131 | /* point to new pointer table */ |
132 | _cpu_pda = new_cpu_pda; | 132 | _cpu_pda = new_cpu_pda; |
133 | } | 133 | } |
134 | #endif | 134 | |
135 | #endif /* CONFIG_SMP && CONFIG_X86_64 */ | ||
136 | |||
137 | #ifdef CONFIG_X86_64 | ||
138 | |||
139 | /* correctly size the local cpu masks */ | ||
140 | static void setup_cpu_local_masks(void) | ||
141 | { | ||
142 | alloc_bootmem_cpumask_var(&cpu_initialized_mask); | ||
143 | alloc_bootmem_cpumask_var(&cpu_callin_mask); | ||
144 | alloc_bootmem_cpumask_var(&cpu_callout_mask); | ||
145 | alloc_bootmem_cpumask_var(&cpu_sibling_setup_mask); | ||
146 | } | ||
147 | |||
148 | #else /* CONFIG_X86_32 */ | ||
149 | |||
150 | static inline void setup_cpu_local_masks(void) | ||
151 | { | ||
152 | } | ||
153 | |||
154 | #endif /* CONFIG_X86_32 */ | ||
135 | 155 | ||
136 | /* | 156 | /* |
137 | * Great future plan: | 157 | * Great future plan: |
@@ -187,6 +207,9 @@ void __init setup_per_cpu_areas(void) | |||
187 | 207 | ||
188 | /* Setup node to cpumask map */ | 208 | /* Setup node to cpumask map */ |
189 | setup_node_to_cpumask_map(); | 209 | setup_node_to_cpumask_map(); |
210 | |||
211 | /* Setup cpu initialized, callin, callout masks */ | ||
212 | setup_cpu_local_masks(); | ||
190 | } | 213 | } |
191 | 214 | ||
192 | #endif | 215 | #endif |