proposed fix for multiple MADT issue
Subsystems (2)
Len Brown
reviewerIf this approach doesn't work, then we'll have to look into parsing the namespace to reliably enumerate processors.
-Len
Len Brown
reviewerPATCH 1/2 ACPI: Add support to parse 2nd MADT
From: Len Brown <[email protected]>
When a BIOS bug presents multiple APIC/MADTs,
Linux currently uses the 1st and ignores the 2nd.
But some machines work better if we use the 2nd.
http://bugzilla.kernel.org/show_bug.cgi?id=7465
Add a warning and boot parameter "acpi_apic_instance=2" to allow parsing the 2nd.
No change to default behaviour in this patch.
--- Documentation/kernel-parameters.txt | 6 ++++ drivers/acpi/tables.c | 57 +++++++++++++++++++++++++++++++--- 2 files changed, 58 insertions(+), 5 deletions(-)
Documentation/kernel-parameters.txt +6 -0
@@ -138,6 +138,12 @@ and is between 256 and 4096 characters. It is defined in the file See also Documentation/pm.txt, pci=noacpi + acpi_apic_instance= [ACPI, IOAPIC] + Format: <int> + 2: use 2nd APIC table, if available + 1,0: use 1st APIC table + default: 0 + acpi_sleep= [HW,ACPI] Sleep options Format: { s3_bios, s3_mode } See Documentation/power/video.txt
drivers/acpi/tables.c +52 -5
92 lines not on this page · raw message
Signature · 1 line
1.5.0.3.316.gbd1fc
Len Brown
reviewerPATCH 2/2 ACPI: parse 2nd MADT by default
From: Len Brown <[email protected]>
http://bugzilla.kernel.org/show_bug.cgi?id=7465
--- Documentation/kernel-parameters.txt | 2 +- drivers/acpi/tables.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
Documentation/kernel-parameters.txt +1 -1
@@ -142,7 +142,7 @@ and is between 256 and 4096 characters. It is defined in the file Format: <int> 2: use 2nd APIC table, if available 1,0: use 1st APIC table - default: 0 + default: 2 acpi_sleep= [HW,ACPI] Sleep options Format: { s3_bios, s3_mode }
drivers/acpi/tables.c +1 -1
@@ -42,7 +42,7 @@ static char *mps_inti_flags_trigger[] = { "dfl", "edge", "res", "level" };static struct acpi_table_desc initial_tables[ACPI_MAX_TABLES ]__initdata ; -static int acpi_apic_instance__initdata ; +static int acpi_apic_instance =2 ;__initdata ;void acpi_table_print_madt_entry (struct acpi_subtable_header *header) {
Signature · 1 line
1.5.0.3.316.gbd1fc
Re: [PATCH 2/2] ACPI: parse 2nd MADT by default
Quoted 28 lines · Len Brown
From: Len Brown <[email protected]>
http://bugzilla.kernel.org/show_bug.cgi?id=7465
Signed-off-by Len Brown <[email protected]>--- Documentation/kernel-parameters.txt | 2 +- drivers/acpi/tables.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)Documentation/kernel-parameters.txt +1
-1@@ -142,7 +142,7 @@ and is between 256 and 4096 characters. It is defined in the file Format: <int> 2: use 2nd APIC table, if available 1,0: use 1st APIC table - default: 0 + default: 2 acpi_sleep= [HW,ACPI] Sleep options Format: { s3_bios, s3_mode }drivers/acpi/tables.c +0
-0
drivers/acpi/tables.c static char *mps_inti_flags_trigger[] = { "dfl", "edge", "res", "level" }; · line 45
Quoted 5 lines
drivers/acpi/tables.c +1
-1@@ -42,7 +42,7 @@ static char *mps_inti_flags_trigger[] = { "dfl", "edge", "res", "level" };static struct acpi_table_desc initial_tables[ACPI_MAX_TABLES ]__initdata ; -static int acpi_apic_instance__initdata ; +static int acpi_apic_instance =2 ;__initdata ;
extra semi-colon ;
Quoted 4 lines
drivers/acpi/tables.c +0
-0void acpi_table_print_madt_entry (struct acpi_subtable_header *header) {
Signature · 1 line
~Randy