diff options
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
-rw-r--r-- | arch/x86/kernel/smpboot.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 3b19441d78b8..e1200b202ed7 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
@@ -1278,12 +1278,20 @@ __init void prefill_possible_map(void) | |||
1278 | int i; | 1278 | int i; |
1279 | int possible; | 1279 | int possible; |
1280 | 1280 | ||
1281 | /* no processor from mptable or madt */ | ||
1282 | if (!num_processors) | ||
1283 | num_processors = 1; | ||
1284 | |||
1285 | #ifdef CONFIG_HOTPLUG_CPU | ||
1281 | if (additional_cpus == -1) { | 1286 | if (additional_cpus == -1) { |
1282 | if (disabled_cpus > 0) | 1287 | if (disabled_cpus > 0) |
1283 | additional_cpus = disabled_cpus; | 1288 | additional_cpus = disabled_cpus; |
1284 | else | 1289 | else |
1285 | additional_cpus = 0; | 1290 | additional_cpus = 0; |
1286 | } | 1291 | } |
1292 | #else | ||
1293 | additional_cpus = 0; | ||
1294 | #endif | ||
1287 | possible = num_processors + additional_cpus; | 1295 | possible = num_processors + additional_cpus; |
1288 | if (possible > NR_CPUS) | 1296 | if (possible > NR_CPUS) |
1289 | possible = NR_CPUS; | 1297 | possible = NR_CPUS; |