linux/arch/x86/boot
Jens Rottmann 16252da654 x86 setup: don't recalculate ss:esp unless really necessary
In order to work around old LILO versions providing an invalid ss
register, the current setup code always sets up a new stack,
immediately following .bss and the heap. But this breaks LOADLIN.

This rewrite of the workaround checks for an invalid stack (ss!=ds)
first, and leaves ss:sp alone otherwise (apart from aligning esp).

[hpa note: LOADLIN has a number of arbitrary hard-coded limits that
are being pushed up against.  Without some major revision of LOADLIN
itself it will not be sustainable keeping it alive.  This gives it
another brief lease on life, however.  This patch also helps the
cmdline truncation problem with old versions of SYSLINUX.]

Signed-off-by: Jens Rottmann <JRottmann at LiPPERT-AT. de>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2007-11-28 18:17:17 -08:00
..
compressed x86: Fix boot protocol KEEP_SEGMENTS check. 2007-10-27 20:57:43 +02:00
tools
.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 i386: move boot 2007-10-11 11:16:45 +02: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 x86 setup: don't recalculate ss:esp unless really necessary 2007-11-28 18:17:17 -08: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: do not use $(ARCH) when not needed 2007-11-12 21:02:20 +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: set %ebx == %ebp == %edi == 0 on protected mode entry 2007-11-04 19:48:04 -08: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 i386: move boot 2007-10-11 11:16:45 +02:00