diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2008-09-07 05:37:32 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-09-07 11:40:02 -0400 |
commit | c885df50f571faf9fd9f395361cfff1b3a16e06e (patch) | |
tree | 4a6d416a60553cd9e569a6ef669a579c5f0748b7 | |
parent | 9f077871ce7237e2387fc76542b3b4033cb05e49 (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>
-rw-r--r-- | arch/x86/Kconfig | 9 | ||||
-rw-r--r-- | arch/x86/kernel/setup.c | 13 |
2 files changed, 20 insertions, 2 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index cbee4199689c..7820d447bb8d 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -1061,7 +1061,6 @@ config HIGHPTE | |||
1061 | 1061 | ||
1062 | config X86_CHECK_BIOS_CORRUPTION | 1062 | config X86_CHECK_BIOS_CORRUPTION |
1063 | bool "Check for low memory corruption" | 1063 | bool "Check for low memory corruption" |
1064 | default y | ||
1065 | help | 1064 | help |
1066 | Periodically check for memory corruption in low memory, which | 1065 | Periodically check for memory corruption in low memory, which |
1067 | is suspected to be caused by BIOS. Even when enabled in the | 1066 | is suspected to be caused by BIOS. Even when enabled in the |
@@ -1082,6 +1081,14 @@ config X86_CHECK_BIOS_CORRUPTION | |||
1082 | you can use memmap= to prevent the kernel from using that | 1081 | you can use memmap= to prevent the kernel from using that |
1083 | memory. | 1082 | memory. |
1084 | 1083 | ||
1084 | config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK | ||
1085 | bool "Set the default setting of memory_corruption_check" | ||
1086 | depends on X86_CHECK_BIOS_CORRUPTION | ||
1087 | default y | ||
1088 | help | ||
1089 | Set whether the default state of memory_corruption_check is | ||
1090 | on or off. | ||
1091 | |||
1085 | config MATH_EMULATION | 1092 | config MATH_EMULATION |
1086 | bool | 1093 | bool |
1087 | prompt "Math emulation" if X86_32 | 1094 | prompt "Math emulation" if X86_32 |
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 27ae91288855..ec7e56c1b984 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; | |||
587 | #ifdef CONFIG_X86_CHECK_BIOS_CORRUPTION | 587 | #ifdef CONFIG_X86_CHECK_BIOS_CORRUPTION |
588 | #define MAX_SCAN_AREAS 8 | 588 | #define MAX_SCAN_AREAS 8 |
589 | 589 | ||
590 | static int __read_mostly memory_corruption_check = 0; | 590 | static int __read_mostly memory_corruption_check = -1; |
591 | |||
591 | static unsigned __read_mostly corruption_check_size = 64*1024; | 592 | static unsigned __read_mostly corruption_check_size = 64*1024; |
592 | static unsigned __read_mostly corruption_check_period = 60; /* seconds */ | 593 | static unsigned __read_mostly corruption_check_period = 60; /* seconds */ |
593 | 594 | ||
@@ -634,6 +635,16 @@ static void __init setup_bios_corruption_check(void) | |||
634 | { | 635 | { |
635 | u64 addr = PAGE_SIZE; /* assume first page is reserved anyway */ | 636 | u64 addr = PAGE_SIZE; /* assume first page is reserved anyway */ |
636 | 637 | ||
638 | if (memory_corruption_check == -1) { | ||
639 | memory_corruption_check = | ||
640 | #ifdef CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK | ||
641 | 1 | ||
642 | #else | ||
643 | 0 | ||
644 | #endif | ||
645 | ; | ||
646 | } | ||
647 | |||
637 | if (corruption_check_size == 0) | 648 | if (corruption_check_size == 0) |
638 | memory_corruption_check = 0; | 649 | memory_corruption_check = 0; |
639 | 650 | ||