Re: PATCH: (v3) Allow over-ride of smp_found_cfg with kernel cmd-lineoption.

From: Ben Greear
Date: Fri Feb 06 2009 - 15:27:48 EST


Yinghai Lu wrote:

+ "WARNING: No ACPI-table found in the MADT\n");
APIC table


APIC-table == MADT

could just use

WARNING: No APIC-table found

Ok, here's another attempt. NOTE: With another patch that Len sent me,
this work-around seems no longer required for *my* system. This patch may
still help others, however...


An updated patch is attached. It's also inline below, but I'm sure the
inline version is white-space corrupted.

Do not disable mptable parsing just because there is no ACPI table
in the MADT table. This effectively backs out changeset
7b37b5fd9ba32c0c5afc3537eed7e7466f2173e2

Signed-Off-By: Ben Greear<greearb@xxxxxxxxxxxxxxx>

diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index d37593c..6940fb2 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -1379,12 +1379,14 @@ static void __init acpi_process_madt(void)
* ACPI found no MADT, and so ACPI wants UP PIC mode.
* In the event an MPS table was found, forget it.
* Boot with "acpi=off" to use MPS on such a system.
+ *
+ * NOTE: This assumption seems wrong in at least some cases, perhaps
+ * when ACPI is off in the BIOS. Changing to a warning without
+ * setting smp_found_config to zero.
*/
- if (smp_found_config) {
+ if (smp_found_config)
printk(KERN_WARNING PREFIX
- "No APIC-table, disabling MPS\n");
- smp_found_config = 0;
- }
+ "WARNING: No APIC-table found.\n");
}

/*


--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc http://www.candelatech.com

diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index d37593c..6940fb2 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -1379,12 +1379,14 @@ static void __init acpi_process_madt(void)
* ACPI found no MADT, and so ACPI wants UP PIC mode.
* In the event an MPS table was found, forget it.
* Boot with "acpi=off" to use MPS on such a system.
+ *
+ * NOTE: This assumption seems wrong in at least some cases, perhaps
+ * when ACPI is off in the BIOS. Changing to a warning without
+ * setting smp_found_config to zero.
*/
- if (smp_found_config) {
+ if (smp_found_config)
printk(KERN_WARNING PREFIX
- "No APIC-table, disabling MPS\n");
- smp_found_config = 0;
- }
+ "WARNING: No APIC-table found.\n");
}

/*