diff options
author | H. Peter Anvin <hpa@linux.intel.com> | 2012-09-24 16:05:48 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2012-09-26 15:06:22 -0700 |
commit | 5a5a51db78ef24aa61a4cb2ae36f07f6fa37356d (patch) | |
tree | 22b37361c0d876beeea542f769fdb76444878b36 /arch/x86/realmode | |
parent | e139e95590dfebab81841bf7a3ac46500f51a47c (diff) | |
download | blackbird-op-linux-5a5a51db78ef24aa61a4cb2ae36f07f6fa37356d.tar.gz blackbird-op-linux-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