aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-09-07 05:37:32 -0400
committerIngo Molnar <mingo@elte.hu>2008-09-07 11:40:02 -0400
commitc885df50f571faf9fd9f395361cfff1b3a16e06e (patch)
tree4a6d416a60553cd9e569a6ef669a579c5f0748b7
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>
-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 cbee4199689c..7820d447bb8d 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1061,7 +1061,6 @@ config HIGHPTE
1061 1061
1062config X86_CHECK_BIOS_CORRUPTION 1062config 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
1084config 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
1085config MATH_EMULATION 1092config 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
590static int __read_mostly memory_corruption_check = 0; 590static int __read_mostly memory_corruption_check = -1;
591
591static unsigned __read_mostly corruption_check_size = 64*1024; 592static unsigned __read_mostly corruption_check_size = 64*1024;
592static unsigned __read_mostly corruption_check_period = 60; /* seconds */ 593static 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