aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/realmode
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@linux.intel.com>2012-09-24 16:05:48 -0700
committerH. Peter Anvin <hpa@linux.intel.com>2012-09-26 15:06:22 -0700
commit5a5a51db78ef24aa61a4cb2ae36f07f6fa37356d (patch)
tree22b37361c0d876beeea542f769fdb76444878b36 /arch/x86/realmode
parentx86, smap: Do not abuse the [f][x]rstor_checking() functions for user space (diff)
downloadlinux-dev-5a5a51db78ef24aa61a4cb2ae36f07f6fa37356d.tar.xz
linux-dev-5a5a51db78ef24aa61a4cb2ae36f07f6fa37356d.zip
x86-32: Start out eflags and cr4 clean
%cr4 is supposed to reflect a set of features into which the operating system is opting in. If the BIOS or bootloader leaks bits here, this is not desirable. Consider a bootloader passing in %cr4.pae set to a legacy paging kernel, for example -- it will not have any immediate effect, but the kernel would crash when turning paging on. A similar argument applies to %eflags, and since we have to look for %eflags.id being settable we can use a sequence which clears %eflags as a side effect. Note that we already do this for x86-64. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Link: http://lkml.kernel.org/r/1348529239-17943-1-git-send-email-hpa@linux.intel.com
Diffstat (limited to 'arch/x86/realmode')
0 files changed, 0 insertions, 0 deletions