[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