diff --git a/lib/panic.c b/lib/panic.c new file mode 100644 index 0000000..f0df22e --- /dev/null +++ b/lib/panic.c @@ -0,0 +1,8 @@ +#include +volatile int panicked; + +void panic(char *s) { + panicked = 1; + uart_puts(s); + while (1); +} diff --git a/lib/panic.h b/lib/panic.h new file mode 100644 index 0000000..77cd640 --- /dev/null +++ b/lib/panic.h @@ -0,0 +1,6 @@ +#ifndef KERNEL_PANIC_H +#define KERNEL_PANIC_H + +void panic(char *s); + +#endif diff --git a/lib/spinlock.c b/lib/spinlock.c index 7e7418d..3f3e0d7 100644 --- a/lib/spinlock.c +++ b/lib/spinlock.c @@ -4,13 +4,11 @@ */ // #include +#include #include #include #include -// void panic(char *s) { for (;;); } -void panic(char *s) {} - /** * The aquire() and release() functions control ownership of the lock. * To perform these operations, modern CPU's provide atomic instructions