diff options
Diffstat (limited to 'kernel/kernel.c')
| -rw-r--r-- | kernel/kernel.c | 20 |
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 */ + ; +} |
