summaryrefslogtreecommitdiff
path: root/kernel/io
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/io')
-rw-r--r--kernel/io/io.c9
-rw-r--r--kernel/io/panic.c16
2 files changed, 25 insertions, 0 deletions
diff --git a/kernel/io/io.c b/kernel/io/io.c
new file mode 100644
index 0000000..a68114d
--- /dev/null
+++ b/kernel/io/io.c
@@ -0,0 +1,9 @@
+#include <lib.h>
+#include <stdio.h>
+
+void fputc(FILE *stream, char c) {
+ (void) stream;
+ (void) c;
+
+ // FIXME: !!!
+}
diff --git a/kernel/io/panic.c b/kernel/io/panic.c
new file mode 100644
index 0000000..948542e
--- /dev/null
+++ b/kernel/io/panic.c
@@ -0,0 +1,16 @@
+#include <lib.h>
+#include <stdarg.h>
+#include <comus/asm.h>
+
+__attribute__((noreturn))
+void panic(const char *format, ...) {
+ cli();
+ va_list list;
+ va_start(list, format);
+ printf("\n\n!!! PANIC !!!\n");
+ vprintf(format, list);
+ printf("\n\n");
+
+ while (1)
+ halt();
+}