linux/arch/x86/boot
H. Peter Anvin c4d9ba6da9 x86 setup: make PM transition more paranoid; cleanup 32-bit entry
Make the transition to protected mode more paranoid by having
back-to-back near jump (to synchronize the 386/486 prefetch queue) and
far jump (to set up the code segment.)

While we're at it, zero as many registers as practical (for future
expandability of the 32-bit entry interface) and enter 32-bit mode
with a valid stack.  Note that the 32-bit code cannot rely on this
stack, or we'll break all other existing users of the 32-bit
entrypoint, but it may make debugging hacks easier to write.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-01-30 13:33:01 +01:00
..
compressed x86: hlt on early crash 2008-01-30 13:32:31 +01:00
tools i386: move boot 2007-10-11 11:16:41 +02:00
.gitignore i386: move boot 2007-10-11 11:16:45 +02:00
a20.c i386: move boot 2007-10-11 11:16:45 +02:00
apm.c x86: compile apm and voyager module only when selected in Kconfig 2008-01-30 13:32:49 +01:00
bitops.h i386: move boot 2007-10-11 11:16:45 +02:00
boot.h x86 setup: sizeof() is unsigned, unbreak comparisons 2007-10-25 20:20:06 -07:00
cmdline.c i386: move boot 2007-10-11 11:16:45 +02:00
code16gcc.h i386: move boot 2007-10-11 11:16:45 +02:00
copy.S i386: move boot 2007-10-11 11:16:45 +02:00
cpu.c i386: move boot 2007-10-11 11:16:45 +02:00
cpucheck.c x86: arch/x86/Kconfig.cpu unification 2007-11-12 21:02:19 +01:00
edd.c i386: move boot 2007-10-11 11:16:45 +02:00
header.S i386: handle an initrd in highmem (version 2) 2008-01-30 13:32:51 +01:00
install.sh i386: move boot 2007-10-11 11:16:45 +02:00
main.c x86: clean up setup.h and the boot code 2007-10-23 22:37:25 +02:00
Makefile x86: compile apm and voyager module only when selected in Kconfig 2008-01-30 13:32:49 +01:00
mca.c i386: move boot 2007-10-11 11:16:45 +02:00
memory.c i386: move boot 2007-10-11 11:16:45 +02:00
mtools.conf.in i386: move boot 2007-10-11 11:16:45 +02:00
pm.c i386: move boot 2007-10-11 11:16:45 +02:00
pmjump.S x86 setup: make PM transition more paranoid; cleanup 32-bit entry 2008-01-30 13:33:01 +01:00
printf.c i386: move boot 2007-10-11 11:16:45 +02:00
setup.ld i386: move boot 2007-10-11 11:16:45 +02:00
string.c i386: move boot 2007-10-11 11:16:45 +02:00
tty.c i386: move boot 2007-10-11 11:16:45 +02:00
version.c i386: move boot 2007-10-11 11:16:45 +02:00
vesa.h i386: move boot 2007-10-11 11:16:45 +02:00
video-bios.c x86 setup: sizeof() is unsigned, unbreak comparisons 2007-10-25 20:20:06 -07:00
video-vesa.c x86 setup: sizeof() is unsigned, unbreak comparisons 2007-10-25 20:20:06 -07:00
video-vga.c i386: move boot 2007-10-11 11:16:45 +02:00
video.c x86 setup: sizeof() is unsigned, unbreak comparisons 2007-10-25 20:20:06 -07:00
video.h i386: move boot 2007-10-11 11:16:45 +02:00
voyager.c x86: compile apm and voyager module only when selected in Kconfig 2008-01-30 13:32:49 +01:00