aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/bootsect.inc6
-rw-r--r--core/runkernel.inc5
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:
;