aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/kernel-parameters.txt3
-rw-r--r--arch/x86/boot/edd.c10
-rw-r--r--drivers/firmware/Kconfig9
3 files changed, 19 insertions, 3 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 5afc21b20a92..3ce193f86565 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -627,8 +627,7 @@ and is between 256 and 4096 characters. It is defined in the file
627 eata= [HW,SCSI] 627 eata= [HW,SCSI]
628 628
629 edd= [EDD] 629 edd= [EDD]
630 Format: {"of[f]" | "sk[ipmbr]"} 630 Format: {"off" | "on" | "skip[mbr]"}
631 See comment in arch/i386/boot/edd.S
632 631
633 eisa_irq_edge= [PARISC,HW] 632 eisa_irq_edge= [PARISC,HW]
634 See header of drivers/parisc/eisa.c. 633 See header of drivers/parisc/eisa.c.
diff --git a/arch/x86/boot/edd.c b/arch/x86/boot/edd.c
index d84a48ece785..03399d64013b 100644
--- a/arch/x86/boot/edd.c
+++ b/arch/x86/boot/edd.c
@@ -126,17 +126,25 @@ void query_edd(void)
126{ 126{
127 char eddarg[8]; 127 char eddarg[8];
128 int do_mbr = 1; 128 int do_mbr = 1;
129#ifdef CONFIG_EDD_OFF
130 int do_edd = 0;
131#else
129 int do_edd = 1; 132 int do_edd = 1;
133#endif
130 int be_quiet; 134 int be_quiet;
131 int devno; 135 int devno;
132 struct edd_info ei, *edp; 136 struct edd_info ei, *edp;
133 u32 *mbrptr; 137 u32 *mbrptr;
134 138
135 if (cmdline_find_option("edd", eddarg, sizeof eddarg) > 0) { 139 if (cmdline_find_option("edd", eddarg, sizeof eddarg) > 0) {
136 if (!strcmp(eddarg, "skipmbr") || !strcmp(eddarg, "skip")) 140 if (!strcmp(eddarg, "skipmbr") || !strcmp(eddarg, "skip")) {
141 do_edd = 1;
137 do_mbr = 0; 142 do_mbr = 0;
143 }
138 else if (!strcmp(eddarg, "off")) 144 else if (!strcmp(eddarg, "off"))
139 do_edd = 0; 145 do_edd = 0;
146 else if (!strcmp(eddarg, "on"))
147 do_edd = 1;
140 } 148 }
141 149
142 be_quiet = cmdline_find_option_bool("quiet"); 150 be_quiet = cmdline_find_option_bool("quiet");
diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
index 40ffd767647d..dc2cec6127d1 100644
--- a/drivers/firmware/Kconfig
+++ b/drivers/firmware/Kconfig
@@ -17,6 +17,15 @@ config EDD
17 obscure configurations. Most disk controller BIOS vendors do 17 obscure configurations. Most disk controller BIOS vendors do
18 not yet implement this feature. 18 not yet implement this feature.
19 19
20config EDD_OFF
21 bool "Sets default behavior for EDD detection to off"
22 depends on EDD
23 default n
24 help
25 Say Y if you want EDD disabled by default, even though it is compiled into the
26 kernel. Say N if you want EDD enabled by default. EDD can be dynamically set
27 using the kernel parameter 'edd={on|skipmbr|off}'.
28
20config EFI_VARS 29config EFI_VARS
21 tristate "EFI Variable Support via sysfs" 30 tristate "EFI Variable Support via sysfs"
22 depends on EFI 31 depends on EFI