From 2219c1192672effd3d8ad878aba93b543608c9f4 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Fri, 22 Jan 2010 12:14:59 -0800 Subject: 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 --- core/bootsect.inc | 6 ++++++ core/runkernel.inc | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) 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: ; -- cgit