diff options
Diffstat (limited to 'arch/x86/kernel/apic_32.c')
-rw-r--r-- | arch/x86/kernel/apic_32.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/kernel/apic_32.c b/arch/x86/kernel/apic_32.c index c304759f0834..954d67931a50 100644 --- a/arch/x86/kernel/apic_32.c +++ b/arch/x86/kernel/apic_32.c | |||
@@ -1518,6 +1518,9 @@ void __cpuinit generic_processor_info(int apicid, int version) | |||
1518 | */ | 1518 | */ |
1519 | cpu = 0; | 1519 | cpu = 0; |
1520 | 1520 | ||
1521 | if (apicid > max_physical_apicid) | ||
1522 | max_physical_apicid = apicid; | ||
1523 | |||
1521 | /* | 1524 | /* |
1522 | * Would be preferable to switch to bigsmp when CONFIG_HOTPLUG_CPU=y | 1525 | * Would be preferable to switch to bigsmp when CONFIG_HOTPLUG_CPU=y |
1523 | * but we need to work other dependencies like SMP_SUSPEND etc | 1526 | * but we need to work other dependencies like SMP_SUSPEND etc |
@@ -1525,7 +1528,7 @@ void __cpuinit generic_processor_info(int apicid, int version) | |||
1525 | * if (CPU_HOTPLUG_ENABLED || num_processors > 8) | 1528 | * if (CPU_HOTPLUG_ENABLED || num_processors > 8) |
1526 | * - Ashok Raj <ashok.raj@intel.com> | 1529 | * - Ashok Raj <ashok.raj@intel.com> |
1527 | */ | 1530 | */ |
1528 | if (num_processors > 8) { | 1531 | if (max_physical_apicid >= 8) { |
1529 | switch (boot_cpu_data.x86_vendor) { | 1532 | switch (boot_cpu_data.x86_vendor) { |
1530 | case X86_VENDOR_INTEL: | 1533 | case X86_VENDOR_INTEL: |
1531 | if (!APIC_XAPIC(version)) { | 1534 | if (!APIC_XAPIC(version)) { |