panic: don't trace non-kernel addresses and disable interrupts on panic

This commit is contained in:
Matheus
2022-09-19 18:36:23 -03:00
parent 3f18b6e392
commit 0d63bfcc0e
+2 -2
View File
@@ -9,7 +9,7 @@
static void tracestack(uint64_t** addr){
for(size_t depth = 0; depth < TRACE_MAXDEPTH; ++depth){
if(addr < (uint64_t)0xFFFFFFFF80000000) return;
uint64_t *calleeaddr = *(addr + 1);
addr = (uint64_t**)*addr;
@@ -20,7 +20,7 @@ static void tracestack(uint64_t** addr){
}
__attribute((noreturn)) void _panic(char* reason, arch_regs *reg){
asm volatile("cli");
printf("PANIC: %s\n", reason);
// XXX maybe this should be an NMI?