Step 1 : StartPanic is the real problem

This commit is contained in:
Adrien Bourmault 2019-03-11 18:17:08 +01:00
parent 2aeaefe7ac
commit 021c94489b
3 changed files with 7 additions and 2 deletions

View File

@ -23,6 +23,10 @@
; along with OS/K. If not, see <https://www.gnu.org/licenses/>. ;
;=----------------------------------------------------------------------------=;
global temporize
global bitemporize
global tritemporize
[BITS 64]
temporize:

View File

@ -42,8 +42,6 @@ noreturn void StartKern(void *mbInfo, int mbMagic)
// Kernel terminals
InitTerms();
vga = 0xB8000;
*vga = ('A') | (0x0F << 8);
// We're out

View File

@ -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();
}