x86: unify get_smp_config
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
62441bf1e0
commit
4421b1c8b9
@ -588,15 +588,16 @@ static void __init __get_smp_config(unsigned early)
|
|||||||
* processors, where MPS only supports physical.
|
* processors, where MPS only supports physical.
|
||||||
*/
|
*/
|
||||||
if (acpi_lapic && acpi_ioapic) {
|
if (acpi_lapic && acpi_ioapic) {
|
||||||
printk(KERN_INFO
|
printk(KERN_INFO "Using ACPI (MADT) for SMP configuration "
|
||||||
"Using ACPI (MADT) for SMP configuration information\n");
|
"information\n");
|
||||||
return;
|
return;
|
||||||
} else if (acpi_lapic)
|
} else if (acpi_lapic)
|
||||||
printk(KERN_INFO
|
printk(KERN_INFO "Using ACPI for processor (LAPIC) "
|
||||||
"Using ACPI for processor (LAPIC) configuration information\n");
|
"configuration information\n");
|
||||||
|
|
||||||
printk(KERN_INFO "Intel MultiProcessor Specification v1.%d\n",
|
printk(KERN_INFO "Intel MultiProcessor Specification v1.%d\n",
|
||||||
mpf->mpf_specification);
|
mpf->mpf_specification);
|
||||||
|
#ifdef CONFIG_X86_32
|
||||||
if (mpf->mpf_feature2 & (1 << 7)) {
|
if (mpf->mpf_feature2 & (1 << 7)) {
|
||||||
printk(KERN_INFO " IMCR and PIC compatibility mode.\n");
|
printk(KERN_INFO " IMCR and PIC compatibility mode.\n");
|
||||||
pic_mode = 1;
|
pic_mode = 1;
|
||||||
@ -604,7 +605,7 @@ static void __init __get_smp_config(unsigned early)
|
|||||||
printk(KERN_INFO " Virtual Wire compatibility mode.\n");
|
printk(KERN_INFO " Virtual Wire compatibility mode.\n");
|
||||||
pic_mode = 0;
|
pic_mode = 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
/*
|
/*
|
||||||
* Now see if we need to read further.
|
* Now see if we need to read further.
|
||||||
*/
|
*/
|
||||||
@ -631,8 +632,8 @@ static void __init __get_smp_config(unsigned early)
|
|||||||
smp_found_config = 0;
|
smp_found_config = 0;
|
||||||
printk(KERN_ERR
|
printk(KERN_ERR
|
||||||
"BIOS bug, MP table errors detected!...\n");
|
"BIOS bug, MP table errors detected!...\n");
|
||||||
printk(KERN_ERR
|
printk(KERN_ERR "... disabling SMP support. "
|
||||||
"... disabling SMP support. (tell your hw vendor)\n");
|
"(tell your hw vendor)\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -647,8 +648,9 @@ static void __init __get_smp_config(unsigned early)
|
|||||||
if (!mp_irq_entries) {
|
if (!mp_irq_entries) {
|
||||||
struct mpc_config_bus bus;
|
struct mpc_config_bus bus;
|
||||||
|
|
||||||
printk(KERN_ERR
|
printk(KERN_ERR "BIOS bug, no explicit IRQ entries, "
|
||||||
"BIOS bug, no explicit IRQ entries, using default mptable. (tell your hw vendor)\n");
|
"using default mptable. "
|
||||||
|
"(tell your hw vendor)\n");
|
||||||
|
|
||||||
bus.mpc_type = MP_BUS;
|
bus.mpc_type = MP_BUS;
|
||||||
bus.mpc_busid = 0;
|
bus.mpc_busid = 0;
|
||||||
|
@ -490,7 +490,15 @@ static void __init __get_smp_config(unsigned early)
|
|||||||
|
|
||||||
printk(KERN_INFO "Intel MultiProcessor Specification v1.%d\n",
|
printk(KERN_INFO "Intel MultiProcessor Specification v1.%d\n",
|
||||||
mpf->mpf_specification);
|
mpf->mpf_specification);
|
||||||
|
#ifdef CONFIG_X86_32
|
||||||
|
if (mpf->mpf_feature2 & (1 << 7)) {
|
||||||
|
printk(KERN_INFO " IMCR and PIC compatibility mode.\n");
|
||||||
|
pic_mode = 1;
|
||||||
|
} else {
|
||||||
|
printk(KERN_INFO " Virtual Wire compatibility mode.\n");
|
||||||
|
pic_mode = 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
/*
|
/*
|
||||||
* Now see if we need to read further.
|
* Now see if we need to read further.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user