aboutsummaryrefslogtreecommitdiff
path: root/arch/x86
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-09-07 02:37:32 -0700
committerIngo Molnar <mingo@elte.hu>2008-09-07 17:40:02 +0200
commitc885df50f571faf9fd9f395361cfff1b3a16e06e (patch)
tree4a6d416a60553cd9e569a6ef669a579c5f0748b7 /arch/x86
parent9f077871ce7237e2387fc76542b3b4033cb05e49 (diff)
x86: default corruption check to off, but put parameter default in Kconfig
Default the low memory corruption check to off, but make the default setting of the memory_corruption_check kernel parameter a config parameter. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/Kconfig9
-rw-r--r--arch/x86/kernel/setup.c13
2 files changed, 20 insertions, 2 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index cbee4199689..7820d447bb8 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1061,7 +1061,6 @@ config HIGHPTE
config X86_CHECK_BIOS_CORRUPTION
bool "Check for low memory corruption"
- default y
help
Periodically check for memory corruption in low memory, which
is suspected to be caused by BIOS. Even when enabled in the
@@ -1082,6 +1081,14 @@ config X86_CHECK_BIOS_CORRUPTION
you can use memmap= to prevent the kernel from using that
memory.
+config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK
+ bool "Set the default setting of memory_corruption_check"
+ depends on X86_CHECK_BIOS_CORRUPTION
+ default y
+ help
+ Set whether the default state of memory_corruption_check is
+ on or off.
+
config MATH_EMULATION
bool
prompt "Math emulation" if X86_32
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 27ae9128885..ec7e56c1b98 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -587,7 +587,8 @@ struct x86_quirks *x86_quirks __initdata = &default_x86_quirks;
#ifdef CONFIG_X86_CHECK_BIOS_CORRUPTION
#define MAX_SCAN_AREAS 8
-static int __read_mostly memory_corruption_check = 0;
+static int __read_mostly memory_corruption_check = -1;
+
static unsigned __read_mostly corruption_check_size = 64*1024;
static unsigned __read_mostly corruption_check_period = 60; /* seconds */
@@ -634,6 +635,16 @@ static void __init setup_bios_corruption_check(void)
{
u64 addr = PAGE_SIZE; /* assume first page is reserved anyway */
+ if (memory_corruption_check == -1) {
+ memory_corruption_check =
+#ifdef CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK
+ 1
+#else
+ 0
+#endif
+ ;
+ }
+
if (corruption_check_size == 0)
memory_corruption_check = 0;