[syslinux:master] core: don't reset the video mode when invoking the kernel
syslinux-bot for H. Peter Anvin
hpa at zytor.com
Fri Jan 22 17:36:04 PST 2010
Commit-ID: 2219c1192672effd3d8ad878aba93b543608c9f4
Gitweb: http://syslinux.zytor.com/commit/2219c1192672effd3d8ad878aba93b543608c9f4
Author: H. Peter Anvin <hpa at zytor.com>
AuthorDate: Fri, 22 Jan 2010 12:14:59 -0800
Committer: H. Peter Anvin <hpa at zytor.com>
CommitDate: Fri, 22 Jan 2010 12:18:21 -0800
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 at zytor.com>
---
core/bootsect.inc | 6 ++++++
core/runkernel.inc | 5 ++++-
2 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/core/bootsect.inc b/core/bootsect.inc
index 200f00a..0cf0c46 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 8bfc8b8..c437d72 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:
;
More information about the Syslinux-commits
mailing list