diff options
| author | Aleksa Vuckovic <aleksa@vuckovic.cc> | 2023-02-25 06:56:01 +0100 |
|---|---|---|
| committer | Aleksa Vuckovic <aleksa@vuckovic.cc> | 2023-02-25 08:45:09 +0100 |
| commit | 239900af293f192931391dc5579afab39a43e6c6 (patch) | |
| tree | 72d7f87ee6adf5aa84b78436197e03e61fba8d97 /kernel/src/check/panic.c | |
| parent | aaa23fffd02fb49cdbc56a480dbb5a8fa95bff38 (diff) | |
clang-format
Diffstat (limited to 'kernel/src/check/panic.c')
| -rw-r--r-- | kernel/src/check/panic.c | 61 |
1 files changed, 32 insertions, 29 deletions
diff --git a/kernel/src/check/panic.c b/kernel/src/check/panic.c index 894f22f..7cfaa56 100644 --- a/kernel/src/check/panic.c +++ b/kernel/src/check/panic.c @@ -5,12 +5,11 @@ uint64_t panic_rsp; -__attribute__((noreturn)) -void panic(const char *s, ...) +__attribute__((noreturn)) void panic(const char *s, ...) { set_color(&main_fb, RED, BLACK); printf("KERNEL PANIC\n"); -// set_color(&main_fb, WHITE, BLACK); + // set_color(&main_fb, WHITE, BLACK); va_list list; va_start(list, s); vprintf(s, list); @@ -19,34 +18,38 @@ void panic(const char *s, ...) if (panic_rsp != 0) { printf("info:\n"); uint64_t i = 0; - printf("ss: 0x%x ", (uint16_t)*((uint64_t*)panic_rsp + i++)); - printf("ds: 0x%x ", (uint16_t)*((uint64_t*)panic_rsp + i++)); - printf("es: 0x%x ", (uint16_t)*((uint64_t*)panic_rsp + i++)); - printf("r15: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("r14: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("r13: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("r12: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("r11: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("r10: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("r9: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("r8: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("rdi: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("rsi: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("rdx: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("rcx: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("rbx: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("rax: 0x%x ", *((uint64_t*)panic_rsp + i++)); - if (*((uint64_t*)panic_rsp + i) <= 0xffffffff) - printf("err code: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("rip: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("cs: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("rflags: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("rsp: 0x%x ", *((uint64_t*)panic_rsp + i++)); - printf("ss: 0x%x ", *((uint64_t*)panic_rsp + i++)); + printf("ss: 0x%x ", + (uint16_t) * ((uint64_t *)panic_rsp + i++)); + printf("ds: 0x%x ", + (uint16_t) * ((uint64_t *)panic_rsp + i++)); + printf("es: 0x%x ", + (uint16_t) * ((uint64_t *)panic_rsp + i++)); + printf("r15: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("r14: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("r13: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("r12: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("r11: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("r10: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("r9: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("r8: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("rdi: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("rsi: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("rdx: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("rcx: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("rbx: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("rax: 0x%x ", *((uint64_t *)panic_rsp + i++)); + if (*((uint64_t *)panic_rsp + i) <= 0xffffffff) + printf("err code: 0x%x ", + *((uint64_t *)panic_rsp + i++)); + printf("rip: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("cs: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("rflags: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("rsp: 0x%x ", *((uint64_t *)panic_rsp + i++)); + printf("ss: 0x%x ", *((uint64_t *)panic_rsp + i++)); } disable_interrupts(); - for(;;) { - __asm__ __volatile__ ("hlt;"); + for (;;) { + __asm__ __volatile__("hlt;"); } } |
