diff options
author | H. Peter Anvin <hpa@linux.intel.com> | 2010-08-24 20:32:04 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2010-08-24 20:32:04 -0400 |
commit | d0cd7425fab774a480cce17c2f649984312d0b55 (patch) | |
tree | c52d913ae9987b9648f89b696819cfc93dfb3229 /arch/x86/Kconfig | |
parent | 76be97c1fc945db08aae1f1b746012662d643e97 (diff) |
x86, bios: By default, reserve the low 64K for all BIOSes
The laundry list of BIOSes that need the low 64K reserved is getting
very long, so make it the default across all BIOSes. This also allows
the code to be simplified and unified with the reservation code for
the first 4K.
This resolves kernel bugzilla 16661 and who knows what else...
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
LKML-Reference: <tip-*@git.kernel.org>
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r-- | arch/x86/Kconfig | 47 |
1 files changed, 28 insertions, 19 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index cea0cd9a316f..683ae8f9bd0b 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -1326,25 +1326,34 @@ config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK | |||
1326 | Set whether the default state of memory_corruption_check is | 1326 | Set whether the default state of memory_corruption_check is |
1327 | on or off. | 1327 | on or off. |
1328 | 1328 | ||
1329 | config X86_RESERVE_LOW_64K | 1329 | config X86_LOW_RESERVE |
1330 | bool "Reserve low 64K of RAM on AMI/Phoenix BIOSen" | 1330 | int "Amount of low memory, in kilobytes, to reserve for the BIOS" |
1331 | default y | 1331 | default 64 |
1332 | ---help--- | 1332 | range 4 640 |
1333 | Reserve the first 64K of physical RAM on BIOSes that are known | 1333 | ---help--- |
1334 | to potentially corrupt that memory range. A numbers of BIOSes are | 1334 | Specify the amount of low memory to reserve for the BIOS. |
1335 | known to utilize this area during suspend/resume, so it must not | 1335 | |
1336 | be used by the kernel. | 1336 | The first page contains BIOS data structures that the kernel |
1337 | 1337 | must not use, so that page must always be reserved. | |
1338 | Set this to N if you are absolutely sure that you trust the BIOS | 1338 | |
1339 | to get all its memory reservations and usages right. | 1339 | By default we reserve the first 64K of physical RAM, as a |
1340 | 1340 | number of BIOSes are known to corrupt that memory range | |
1341 | If you have doubts about the BIOS (e.g. suspend/resume does not | 1341 | during events such as suspend/resume or monitor cable |
1342 | work or there's kernel crashes after certain hardware hotplug | 1342 | insertion, so it must not be used by the kernel. |
1343 | events) and it's not AMI or Phoenix, then you might want to enable | 1343 | |
1344 | X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check typical | 1344 | You can set this to 4 if you are absolutely sure that you |
1345 | corruption patterns. | 1345 | trust the BIOS to get all its memory reservations and usages |
1346 | 1346 | right. If you know your BIOS have problems beyond the | |
1347 | Say Y if unsure. | 1347 | default 64K area, you can set this to 640 to avoid using the |
1348 | entire low memory range. | ||
1349 | |||
1350 | If you have doubts about the BIOS (e.g. suspend/resume does | ||
1351 | not work or there's kernel crashes after certain hardware | ||
1352 | hotplug events) then you might want to enable | ||
1353 | X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check | ||
1354 | typical corruption patterns. | ||
1355 | |||
1356 | Leave this to the default value of 64 if you are unsure. | ||
1348 | 1357 | ||
1349 | config MATH_EMULATION | 1358 | config MATH_EMULATION |
1350 | bool | 1359 | bool |