x86: check for and defend against BIOS memory corruption
authorJeremy Fitzhardinge <jeremy@goop.org>
Sun, 7 Sep 2008 08:51:32 +0000 (01:51 -0700)
committerIngo Molnar <mingo@elte.hu>
Sun, 7 Sep 2008 15:39:59 +0000 (17:39 +0200)
commit5394f80f92642c61fc2a95385be85f2fdcfb5adb
tree313dd51430cf7ff7f7161019bb3d3bf89320357c
parent7686ad5606f08d9dfb33a2087a36c8366366015b
x86: check for and defend against BIOS memory corruption

Some BIOSes have been observed to corrupt memory in the low 64k.  This
change:
 - Reserves all memory which does not have to be in that area, to
   prevent it from being used as general memory by the kernel.  Things
   like the SMP trampoline are still in the memory, however.
 - Clears the reserved memory so we can observe changes to it.
 - Adds a function check_for_bios_corruption() which checks and reports on
   memory becoming unexpectedly non-zero.  Currently it's called in the
   x86 fault handler, and the powermanagement debug output.

Signed-off-by: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Documentation/kernel-parameters.txt
arch/x86/Kconfig
arch/x86/kernel/setup.c
arch/x86/mm/fault.c
drivers/base/power/main.c
include/linux/kernel.h