[prev in list] [next in list] [prev in thread] [next in thread]
List: git-commits-24
Subject: [ACPI] include CONFIG_ACPI_RELAXED_AML code always
From: Linux Kernel Mailing List <linux-kernel () vger ! kernel ! org>
Date: 2004-02-27 5:54:32
Message-ID: 200403061902.i26J2mb3015200 () hera ! kernel ! org
[Download RAW message or body]
ChangeSet 1.1063.46.77, 2004/02/27 00:54:32-05:00, len.brown@intel.com
[ACPI] include CONFIG_ACPI_RELAXED_AML code always
add acpi=strict option to disable platform workarounds
# This patch includes the following deltas:
# ChangeSet 1.1063.46.76 -> 1.1063.46.77
# include/asm-i386/acpi.h 1.11 -> 1.12
# include/asm-x86_64/acpi.h 1.1.1.4 -> 1.1.1.5
# drivers/acpi/executer/exfldio.c 1.24 -> 1.25
# arch/x86_64/kernel/e820.c 1.4.1.2 -> 1.4.1.3
# arch/i386/kernel/setup.c 1.70.1.5 -> 1.70.1.6
# Documentation/kernel-parameters.txt 1.10.1.2 -> 1.10.1.3
# arch/i386/kernel/acpi.c 1.20 -> 1.20.1.1
# Documentation/Configure.help 1.176.5.2 -> 1.176.5.3
# include/asm-ia64/acpi.h 1.2 -> 1.2.1.1
# arch/x86_64/kernel/acpi.c 1.1.1.8 -> 1.1.1.9
#
Documentation/Configure.help | 8 --------
Documentation/kernel-parameters.txt | 2 ++
arch/i386/kernel/acpi.c | 7 +++----
arch/i386/kernel/setup.c | 5 +++++
arch/x86_64/kernel/acpi.c | 8 +++-----
arch/x86_64/kernel/e820.c | 5 +++++
drivers/acpi/executer/exfldio.c | 7 +++----
include/asm-i386/acpi.h | 1 +
include/asm-ia64/acpi.h | 2 ++
include/asm-x86_64/acpi.h | 1 +
10 files changed, 25 insertions(+), 21 deletions(-)
diff -Nru a/Documentation/Configure.help b/Documentation/Configure.help
--- a/Documentation/Configure.help Sat Mar 6 11:02:50 2004
+++ b/Documentation/Configure.help Sat Mar 6 11:02:50 2004
@@ -18983,14 +18983,6 @@
of verbosity. Saying Y enables these statements. This will increase
your kernel size by around 50K.
-ACPI Relaxed AML Checking
-CONFIG_ACPI_RELAXED_AML
- If you say `Y' here, the ACPI interpreter will relax its checking
- for valid AML and will ignore some AML mistakes, such as off-by-one
- errors in region sizes. Some laptops may require this option. In
- particular, many Toshiba laptops require this for correct operation
- of the AC module.
-
ACPI Button
CONFIG_ACPI_BUTTON
This driver registers for events based on buttons, such as the
diff -Nru a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
--- a/Documentation/kernel-parameters.txt Sat Mar 6 11:02:50 2004
+++ b/Documentation/kernel-parameters.txt Sat Mar 6 11:02:50 2004
@@ -73,6 +73,8 @@
off Disable ACPI
ht Limit ACPI to boot-time LAPIC enumeration for HT,
disabling the run-time AML interpreter.
+ strict Be less tolerant of platforms that are not
+ strictly ACPI specification compliant.
acpi_pic_sci= [HW,ACPI] ACPI System Conrol Interrupt trigger mode
level Force PIC-mode SCI to Level Trigger (default)
diff -Nru a/arch/i386/kernel/acpi.c b/arch/i386/kernel/acpi.c
--- a/arch/i386/kernel/acpi.c Sat Mar 6 11:02:50 2004
+++ b/arch/i386/kernel/acpi.c Sat Mar 6 11:02:50 2004
@@ -49,14 +49,14 @@
#define PREFIX "ACPI: "
-int acpi_lapic = 0;
-int acpi_ioapic = 0;
+int acpi_lapic;
+int acpi_ioapic;
+int acpi_strict;
/* --------------------------------------------------------------------------
Boot-time Configuration
-------------------------------------------------------------------------- */
-#ifdef CONFIG_ACPI_BOOT
int acpi_noirq __initdata = 0; /* skip ACPI IRQ initialization */
int acpi_ht __initdata = 1; /* enable HT */
@@ -472,7 +472,6 @@
return 0;
}
-#endif /*CONFIG_ACPI_BOOT*/
#ifdef CONFIG_ACPI_BUS
/*
diff -Nru a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
--- a/arch/i386/kernel/setup.c Sat Mar 6 11:02:50 2004
+++ b/arch/i386/kernel/setup.c Sat Mar 6 11:02:50 2004
@@ -829,6 +829,11 @@
if (!acpi_force) acpi_disabled = 1;
}
+ /* acpi=strict disables out-of-spec workarounds */
+ else if (!memcmp(from, "acpi=strict", 11)) {
+ acpi_strict = 1;
+ }
+
else if (!memcmp(from, "pci=noacpi", 10)) {
acpi_noirq_set();
}
diff -Nru a/arch/x86_64/kernel/acpi.c b/arch/x86_64/kernel/acpi.c
--- a/arch/x86_64/kernel/acpi.c Sat Mar 6 11:02:50 2004
+++ b/arch/x86_64/kernel/acpi.c Sat Mar 6 11:02:50 2004
@@ -47,14 +47,14 @@
#define PREFIX "ACPI: "
-int acpi_lapic = 0;
-int acpi_ioapic = 0;
+int acpi_lapic;
+int acpi_ioapic;
+int acpi_strict;
/* --------------------------------------------------------------------------
Boot-time Configuration
-------------------------------------------------------------------------- */
-#ifdef CONFIG_ACPI_BOOT
enum acpi_irq_model_id acpi_irq_model;
@@ -548,8 +548,6 @@
return 0;
}
-
-#endif /*CONFIG_ACPI_BOOT*/
/* --------------------------------------------------------------------------
diff -Nru a/arch/x86_64/kernel/e820.c b/arch/x86_64/kernel/e820.c
--- a/arch/x86_64/kernel/e820.c Sat Mar 6 11:02:50 2004
+++ b/arch/x86_64/kernel/e820.c Sat Mar 6 11:02:50 2004
@@ -544,6 +544,11 @@
else if (!memcmp(from, "acpi=off", 8))
acpi_disabled = 1;
+ /* acpi=strict disables out-of-spec workarounds */
+ else if (!memcmp(from, "acpi=strict", 11)) {
+ acpi_strict = 1;
+ }
+
else if (!memcmp(from, "pci=noacpi", 10)) {
acpi_noirq_set();
}
diff -Nru a/drivers/acpi/executer/exfldio.c b/drivers/acpi/executer/exfldio.c
--- a/drivers/acpi/executer/exfldio.c Sat Mar 6 11:02:50 2004
+++ b/drivers/acpi/executer/exfldio.c Sat Mar 6 11:02:50 2004
@@ -154,8 +154,7 @@
field_datum_byte_offset, obj_desc->common_field.access_byte_width,
acpi_ut_get_node_name (rgn_desc->region.node), rgn_desc->region.length));
- #ifdef CONFIG_ACPI_RELAXED_AML
- {
+ if (!acpi_strict) {
/*
* Allow access to the field if it is within the region size
* rounded up to a multiple of the access byte width. This
@@ -186,9 +185,9 @@
return_ACPI_STATUS (AE_OK);
}
}
- #else
+ else {
return_ACPI_STATUS (AE_AML_REGION_LIMIT);
- #endif
+ }
}
return_ACPI_STATUS (AE_OK);
diff -Nru a/include/asm-i386/acpi.h b/include/asm-i386/acpi.h
--- a/include/asm-i386/acpi.h Sat Mar 6 11:02:50 2004
+++ b/include/asm-i386/acpi.h Sat Mar 6 11:02:50 2004
@@ -110,6 +110,7 @@
extern int acpi_lapic;
extern int acpi_ioapic;
extern int acpi_noirq;
+extern int acpi_strict;
/* Fixmap pages to reserve for ACPI boot-time tables (see fixmap.h) */
#define FIX_ACPI_PAGES 4
diff -Nru a/include/asm-ia64/acpi.h b/include/asm-ia64/acpi.h
--- a/include/asm-ia64/acpi.h Sat Mar 6 11:02:50 2004
+++ b/include/asm-ia64/acpi.h Sat Mar 6 11:02:50 2004
@@ -96,6 +96,8 @@
:"=r"(Acq):"r"(GLptr):"r2","r29","r30","memory"); \
} while (0)
+#define acpi_strict 1 /* no ACPI workarounds */
+
const char *acpi_get_sysname (void);
int acpi_boot_init (char *cdline);
int acpi_request_vector (u32 int_type);
diff -Nru a/include/asm-x86_64/acpi.h b/include/asm-x86_64/acpi.h
--- a/include/asm-x86_64/acpi.h Sat Mar 6 11:02:50 2004
+++ b/include/asm-x86_64/acpi.h Sat Mar 6 11:02:50 2004
@@ -108,6 +108,7 @@
extern int acpi_lapic;
extern int acpi_ioapic;
extern int acpi_noirq;
+extern int acpi_strict;
/* Fixmap pages to reserve for ACPI boot-time tables (see fixmap.h) */
#define FIX_ACPI_PAGES 4
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-24" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic