aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/apic/probe_64.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/apic/probe_64.c')
-rw-r--r--arch/x86/kernel/apic/probe_64.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/arch/x86/kernel/apic/probe_64.c b/arch/x86/kernel/apic/probe_64.c
index c4cbd3080c1c..65edc180fc82 100644
--- a/arch/x86/kernel/apic/probe_64.c
+++ b/arch/x86/kernel/apic/probe_64.c
@@ -64,23 +64,16 @@ void __init default_setup_apic_routing(void)
64 apic = &apic_x2apic_phys; 64 apic = &apic_x2apic_phys;
65 else 65 else
66 apic = &apic_x2apic_cluster; 66 apic = &apic_x2apic_cluster;
67 printk(KERN_INFO "Setting APIC routing to %s\n", apic->name);
67 } 68 }
68#endif 69#endif
69 70
70 if (apic == &apic_flat) { 71 if (apic == &apic_flat) {
71 switch (boot_cpu_data.x86_vendor) { 72 if (max_physical_apicid >= 8)
72 case X86_VENDOR_INTEL: 73 apic = &apic_physflat;
73 if (num_processors > 8) 74 printk(KERN_INFO "Setting APIC routing to %s\n", apic->name);
74 apic = &apic_physflat;
75 break;
76 case X86_VENDOR_AMD:
77 if (max_physical_apicid >= 8)
78 apic = &apic_physflat;
79 }
80 } 75 }
81 76
82 printk(KERN_INFO "Setting APIC routing to %s\n", apic->name);
83
84 if (is_vsmp_box()) { 77 if (is_vsmp_box()) {
85 /* need to update phys_pkg_id */ 78 /* need to update phys_pkg_id */
86 apic->phys_pkg_id = apicid_phys_pkg_id; 79 apic->phys_pkg_id = apicid_phys_pkg_id;