diff --git a/boot/loader/cpu/cpu.inc b/boot/loader/cpu/cpu.inc index 8b92819..2bf937a 100644 --- a/boot/loader/cpu/cpu.inc +++ b/boot/loader/cpu/cpu.inc @@ -23,6 +23,10 @@ ; along with OS/K. If not, see . ; ;=----------------------------------------------------------------------------=; +global temporize +global bitemporize +global tritemporize + [BITS 64] temporize: diff --git a/kaleid/kernel/init/init.c b/kaleid/kernel/init/init.c index ce72856..39858b5 100644 --- a/kaleid/kernel/init/init.c +++ b/kaleid/kernel/init/init.c @@ -42,8 +42,6 @@ noreturn void StartKern(void *mbInfo, int mbMagic) // Kernel terminals InitTerms(); - vga = 0xB8000; - *vga = ('A') | (0x0F << 8); // We're out diff --git a/kaleid/kernel/ke/panic.c b/kaleid/kernel/ke/panic.c index 3127321..cbb9ac0 100644 --- a/kaleid/kernel/ke/panic.c +++ b/kaleid/kernel/ke/panic.c @@ -62,6 +62,7 @@ noreturn void StartPanic(const char *fmt, ...) if (GetPanicStr()) { GetStdOut()->PrintOnTermUnlocked(GetStdOut(), "\ndouble panic!"); + tritemporize(); HaltCPU(); } @@ -72,6 +73,7 @@ noreturn void StartPanic(const char *fmt, ...) GetStdOut()->PrintOnTermUnlocked(GetStdOut(), "\npanic!\n\n"); GetStdOut()->PrintOnTermUnlocked(GetStdOut(), GetPanicStr()); + tritemporize(); HaltCPU(); } @@ -81,6 +83,7 @@ noreturn void StartPanic(const char *fmt, ...) noreturn void CrashSystem(void) { DisableIRQs(); + tritemporize(); HaltCPU(); }