diff options
author | H. Peter Anvin <hpa@zytor.com> | 2010-01-22 12:14:59 -0800 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2010-01-22 12:18:21 -0800 |
commit | 2219c1192672effd3d8ad878aba93b543608c9f4 (patch) | |
tree | 270ffdd2d4cc0ecfa0ff71ea19c83addae4ca208 | |
parent | 1da816e5101d61edc8a01e3c76a1b89933a8b863 (diff) | |
download | syslinux-2219c1192672effd3d8ad878aba93b543608c9f4.tar.gz syslinux-2219c1192672effd3d8ad878aba93b543608c9f4.tar.xz syslinux-2219c1192672effd3d8ad878aba93b543608c9f4.zip |
core: don't reset the video mode when invoking the kernel
Don't reset the video mode when invoking the kernel if we're booting
quiet -- it breaks "vga=current" which some distros use for a smooth
graphical transition all the way into the kernel.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r-- | core/bootsect.inc | 6 | ||||
-rw-r--r-- | core/runkernel.inc | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/core/bootsect.inc b/core/bootsect.inc index 200f00ad..0cf0c460 100644 --- a/core/bootsect.inc +++ b/core/bootsect.inc @@ -120,6 +120,12 @@ replace_bootstrap: ; Prepare for shutting down ; call vgaclearmode + +; +; We jump here when loading a kernel image, so that we don't reset +; the screen mode in "quiet" mode +; +replace_bootstrap_noclearmode: call cleanup_hardware ; diff --git a/core/runkernel.inc b/core/runkernel.inc index 8bfc8b8d..c437d72d 100644 --- a/core/runkernel.inc +++ b/core/runkernel.inc @@ -454,7 +454,10 @@ setup_move: ; BX points to the final real mode segment, and will be loaded ; into DS. - jmp replace_bootstrap + + test byte [QuietBoot],01h ; Don't clear the mode if quiet + jz replace_bootstrap + jmp replace_bootstrap_noclearmode run_linux_kernel: ; |