summaryrefslogtreecommitdiff
path: root/kernel/kernel.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kernel.c')
-rw-r--r--kernel/kernel.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c
new file mode 100644
index 0000000..0440677
--- /dev/null
+++ b/kernel/kernel.c
@@ -0,0 +1,20 @@
+/* Plan9 C, 386 — kernel-болванка: пишет строку в VGA-текстбуфер 0xB8000. */
+typedef unsigned short ushort;
+typedef unsigned char uchar;
+
+void
+kmain(void)
+{
+ ushort *vga;
+ char *s;
+ int i;
+
+ vga = (ushort*)0xB8000; /* VGA text mode framebuffer */
+ for(i = 0; i < 80*25; i++)
+ vga[i] = (0x1F<<8) | ' '; /* очистить: белым по синему */
+ s = "PLAN9 KERNEL STUB -> writes to 0xB8000";
+ for(i = 0; s[i]; i++)
+ vga[i] = (0x1F<<8) | (uchar)s[i];
+ for(;;) /* halt */
+ ;
+}