summaryrefslogtreecommitdiff
path: root/kernel/src/check/panic.c
diff options
context:
space:
mode:
authorAleksa Vuckovic <aleksa@vuckovic.cc>2023-02-25 06:56:01 +0100
committerAleksa Vuckovic <aleksa@vuckovic.cc>2023-02-25 08:45:09 +0100
commit239900af293f192931391dc5579afab39a43e6c6 (patch)
tree72d7f87ee6adf5aa84b78436197e03e61fba8d97 /kernel/src/check/panic.c
parentaaa23fffd02fb49cdbc56a480dbb5a8fa95bff38 (diff)
clang-format
Diffstat (limited to 'kernel/src/check/panic.c')
-rw-r--r--kernel/src/check/panic.c61
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;");
}
}