summaryrefslogtreecommitdiffstats
path: root/rsnix/src/klog.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--rsnix/src/klog.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/rsnix/src/klog.rs b/rsnix/src/klog.rs
index 2e1fc82..300a597 100644
--- a/rsnix/src/klog.rs
+++ b/rsnix/src/klog.rs
@@ -95,6 +95,16 @@ pub fn emit(args: core::fmt::Arguments<'_>) {
95 crate::serial::write_raw(line.as_str()); 95 crate::serial::write_raw(line.as_str());
96 crate::serial::write_raw("\r\n"); 96 crate::serial::write_raw("\r\n");
97 append(line.as_str(), ms); 97 append(line.as_str(), ms);
98 // Screen echo: mirror the serial line to the VGA console, so the whole
99 // boot log is visible on real hardware without a serial console. The
100 // last line on screen when the machine freezes is exactly where boot
101 // stopped (far more precise than the stage marker). Skipped while a
102 // fault dump is rendering its own band (row 0 = boot marker, terminal
103 // lives below it).
104 if crate::vt::ready() && !crate::interrupts::in_dump() && !crate::gop::qr_locked() {
105 crate::vt::write_str(line.as_str());
106 crate::vt::write_str("\n");
107 }
98 crate::sched::unlock(); 108 crate::sched::unlock();
99} 109}
100 110