From f81bf65484fa8c81a1886f456c71f1e6eebe84e9 Mon Sep 17 00:00:00 2001 From: Alexis211 Date: Tue, 10 Aug 2010 20:39:57 +0200 Subject: Added a lot of comments in kernel code. A bit of cleaning too. --- src/kernel/core/sys.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'src/kernel/core/sys.c') diff --git a/src/kernel/core/sys.c b/src/kernel/core/sys.c index 1e07f7c..96d4908 100644 --- a/src/kernel/core/sys.c +++ b/src/kernel/core/sys.c @@ -1,6 +1,9 @@ #include "sys.h" #include "monitor.h" +/* These four functions are wrappers around ASM operations. + These functions are used when comunicating with the system hardware. */ + void outb(uint16_t port, uint8_t value) { asm volatile("outb %1, %0" : : "dN"(port), "a"(value)); } @@ -21,14 +24,24 @@ uint16_t inw(uint16_t port) { return ret; } +/* These two functions stop the system, reporting an error message, because something bad happenned. */ + void panic(char* message, char* file, int line) { - monitor_write("\n>> PANIC: >>"); - monitor_write(message); monitor_write("<< at "); monitor_write(file); - monitor_write(":"); monitor_writeDec(line); - monitor_write("\nSystem halted -_-'"); + monitor_write("\n\nPANIC:\t\t"); monitor_write(message); + monitor_write("\n File:\t\t"); monitor_write(file); monitor_put(':'); monitor_writeDec(line); + monitor_write("\n\t\tSystem halted -_-'\n"); + asm volatile("cli; hlt"); +} + +void panic_assert(char* assertion, char* file, int line) { + monitor_write("\n\nASSERT FAILED:\t"); monitor_write(assertion); + monitor_write("\n File:\t\t"); monitor_write(file); monitor_put(':'); monitor_writeDec(line); + monitor_write("\n\t\tSystem halted -_-'\n"); asm volatile("cli; hlt"); } +/* Global system mutex. See comments in sys.h. */ + static uint32_t if_locks = 1; void cli() { -- cgit v1.2.3