1
0
mirror of https://gitlab.os-k.eu/os-k-team/os-k.git synced 2023-08-25 14:03:10 +02:00
This commit is contained in:
Adrien Bourmault 2019-03-12 17:28:34 +01:00
commit 982cd618a6
4 changed files with 8 additions and 2 deletions

View File

@ -161,7 +161,6 @@ _loader64:
call tritemporize ; Let time to see call tritemporize ; Let time to see
extern StartKern extern StartKern
push qword 12 push qword 12
push qword 12 push qword 12
call StartKern call StartKern

View File

@ -42,6 +42,8 @@ noreturn void StartKern(void *mbInfo, int mbMagic)
// Kernel terminals // Kernel terminals
InitTerms(); InitTerms();
*vga = ('A') | (0x0F << 8);
// We're out // We're out
StartPanic("We had\n *mbInfo : %x\n mbMagic : %x\n\nGoodbye World :(", mbInfo, mbMagic); StartPanic("We had\n *mbInfo : %x\n mbMagic : %x\n\nGoodbye World :(", mbInfo, mbMagic);
} }

View File

@ -32,7 +32,7 @@ extern Terminal_t VGA_Terminal;
// //
void InitTerms(void) void InitTerms(void)
{ {
KalAssert(!GetStdOut() && !GetStdDbg()); //KalAssert(!GetStdOut() && !GetStdDbg());
VGA_Init(); VGA_Init();

View File

@ -50,10 +50,13 @@ noreturn void StartPanic(const char *fmt, ...)
va_list ap; va_list ap;
DisableIRQs(); DisableIRQs();
*vga = ('B') | (0x0F << 8);
if (GetCurProc()) _SetCurProc(NULL); if (GetCurProc()) _SetCurProc(NULL);
if (GetStdOut() == NULL) CrashSystem(); if (GetStdOut() == NULL) CrashSystem();
HaltCPU();
GetStdOut()->ClearTermUnlocked(GetStdOut()); GetStdOut()->ClearTermUnlocked(GetStdOut());
if (fmt == NULL) { if (fmt == NULL) {
@ -72,6 +75,7 @@ noreturn void StartPanic(const char *fmt, ...)
GetStdOut()->PrintOnTermUnlocked(GetStdOut(), "\nPanic!\n\n"); GetStdOut()->PrintOnTermUnlocked(GetStdOut(), "\nPanic!\n\n");
GetStdOut()->PrintOnTermUnlocked(GetStdOut(), GetPanicStr()); GetStdOut()->PrintOnTermUnlocked(GetStdOut(), GetPanicStr());
tritemporize();
HaltCPU(); HaltCPU();
} }
@ -81,6 +85,7 @@ noreturn void StartPanic(const char *fmt, ...)
noreturn void CrashSystem(void) noreturn void CrashSystem(void)
{ {
DisableIRQs(); DisableIRQs();
tritemporize();
HaltCPU(); HaltCPU();
} }