aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Starikovskiy <astarikovskiy@suse.de>2008-04-04 15:42:40 -0400
committerIngo Molnar <mingo@elte.hu>2008-04-17 11:41:36 -0400
commit4421b1c8b9f5da24f8c737ede2c05d399dea2015 (patch)
tree20c1cda53ea743fcb413a9c472d0cc3178983a16
parent62441bf1e0d5153dfb0cf8497df16deacff90789 (diff)
x86: unify get_smp_config
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/kernel/mpparse_32.c20
-rw-r--r--arch/x86/kernel/mpparse_64.c10
2 files changed, 20 insertions, 10 deletions
diff --git a/arch/x86/kernel/mpparse_32.c b/arch/x86/kernel/mpparse_32.c
index e92c29e5fd4f..bc2000ee0391 100644
--- a/arch/x86/kernel/mpparse_32.c
+++ b/arch/x86/kernel/mpparse_32.c
@@ -588,15 +588,16 @@ static void __init __get_smp_config(unsigned early)
588 * processors, where MPS only supports physical. 588 * processors, where MPS only supports physical.
589 */ 589 */
590 if (acpi_lapic && acpi_ioapic) { 590 if (acpi_lapic && acpi_ioapic) {
591 printk(KERN_INFO 591 printk(KERN_INFO "Using ACPI (MADT) for SMP configuration "
592 "Using ACPI (MADT) for SMP configuration information\n"); 592 "information\n");
593 return; 593 return;
594 } else if (acpi_lapic) 594 } else if (acpi_lapic)
595 printk(KERN_INFO 595 printk(KERN_INFO "Using ACPI for processor (LAPIC) "
596 "Using ACPI for processor (LAPIC) configuration information\n"); 596 "configuration information\n");
597 597
598 printk(KERN_INFO "Intel MultiProcessor Specification v1.%d\n", 598 printk(KERN_INFO "Intel MultiProcessor Specification v1.%d\n",
599 mpf->mpf_specification); 599 mpf->mpf_specification);
600#ifdef CONFIG_X86_32
600 if (mpf->mpf_feature2 & (1 << 7)) { 601 if (mpf->mpf_feature2 & (1 << 7)) {
601 printk(KERN_INFO " IMCR and PIC compatibility mode.\n"); 602 printk(KERN_INFO " IMCR and PIC compatibility mode.\n");
602 pic_mode = 1; 603 pic_mode = 1;
@@ -604,7 +605,7 @@ static void __init __get_smp_config(unsigned early)
604 printk(KERN_INFO " Virtual Wire compatibility mode.\n"); 605 printk(KERN_INFO " Virtual Wire compatibility mode.\n");
605 pic_mode = 0; 606 pic_mode = 0;
606 } 607 }
607 608#endif
608 /* 609 /*
609 * Now see if we need to read further. 610 * Now see if we need to read further.
610 */ 611 */
@@ -631,8 +632,8 @@ static void __init __get_smp_config(unsigned early)
631 smp_found_config = 0; 632 smp_found_config = 0;
632 printk(KERN_ERR 633 printk(KERN_ERR
633 "BIOS bug, MP table errors detected!...\n"); 634 "BIOS bug, MP table errors detected!...\n");
634 printk(KERN_ERR 635 printk(KERN_ERR "... disabling SMP support. "
635 "... disabling SMP support. (tell your hw vendor)\n"); 636 "(tell your hw vendor)\n");
636 return; 637 return;
637 } 638 }
638 639
@@ -647,8 +648,9 @@ static void __init __get_smp_config(unsigned early)
647 if (!mp_irq_entries) { 648 if (!mp_irq_entries) {
648 struct mpc_config_bus bus; 649 struct mpc_config_bus bus;
649 650
650 printk(KERN_ERR 651 printk(KERN_ERR "BIOS bug, no explicit IRQ entries, "
651 "BIOS bug, no explicit IRQ entries, using default mptable. (tell your hw vendor)\n"); 652 "using default mptable. "
653 "(tell your hw vendor)\n");
652 654
653 bus.mpc_type = MP_BUS; 655 bus.mpc_type = MP_BUS;
654 bus.mpc_busid = 0; 656 bus.mpc_busid = 0;
diff --git a/arch/x86/kernel/mpparse_64.c b/arch/x86/kernel/mpparse_64.c
index 11b74c9b8e01..8c7af5b7ddd4 100644
--- a/arch/x86/kernel/mpparse_64.c
+++ b/arch/x86/kernel/mpparse_64.c
@@ -490,7 +490,15 @@ static void __init __get_smp_config(unsigned early)
490 490
491 printk(KERN_INFO "Intel MultiProcessor Specification v1.%d\n", 491 printk(KERN_INFO "Intel MultiProcessor Specification v1.%d\n",
492 mpf->mpf_specification); 492 mpf->mpf_specification);
493 493#ifdef CONFIG_X86_32
494 if (mpf->mpf_feature2 & (1 << 7)) {
495 printk(KERN_INFO " IMCR and PIC compatibility mode.\n");
496 pic_mode = 1;
497 } else {
498 printk(KERN_INFO " Virtual Wire compatibility mode.\n");
499 pic_mode = 0;
500 }
501#endif
494 /* 502 /*
495 * Now see if we need to read further. 503 * Now see if we need to read further.
496 */ 504 */