aboutsummaryrefslogtreecommitdiff
path: root/src/kern/panic.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kern/panic.c')
-rw-r--r--src/kern/panic.c38
1 files changed, 17 insertions, 21 deletions
diff --git a/src/kern/panic.c b/src/kern/panic.c
index de1d143..e005bcc 100644
--- a/src/kern/panic.c
+++ b/src/kern/panic.c
@@ -15,30 +15,26 @@ _Noreturn void panic(const char* fmt, ...)
uint32_t base[0];
disable_all_interrupts();
- if (get_system_init_level() > INIT_LEVEL_2) {
- va_list l;
- va_start(l, fmt);
+ va_list l;
+ va_start(l, fmt);
- kerr_logf("** Kernel Panic! **\n");
- kerr_vlogf(fmt, l);
- kerr_logf("** Stack:\n");
+ kerr_logf("** Kernel Panic! **\n");
+ kerr_vlogf(fmt, l);
+ kerr_logf("** Stack:\n");
- int i = 0;
- for (; i < 20 && &base[i] != (void*)STACK_TOP; ++ i) {
- kerr_logf(" (%p) %p\n", &base[i], base[i]);
- }
+ int i = 0;
+ for (; i < 20 && &base[i] != (void*)STACK_TOP; ++ i) {
+ kerr_logf(" (%p) %p\n", &base[i], base[i]);
+ }
+
+ set_system_clock_MHz(4); /* reduce power usage while we do nothing. */
+ gpio_reserved_pin_t pin3 = get_sysled();
- set_system_clock_MHz(4); /* reduce power usage while we do nothing. */
- for(;;);
- } else {
- set_system_clock_MHz(4); /* reduce power usage while we do nothing. */
- gpio_reserved_pin_t pin3 = get_sysled();
- for (;;) {
- set_gpio_pin_high(pin3);
- delay(100000);
- set_gpio_pin_low(pin3);
- delay(100000);
- }
+ for (;;) {
+ set_gpio_pin_high(pin3);
+ delay(100000);
+ set_gpio_pin_low(pin3);
+ delay(100000);
}
}
#endif