blob: 83c9479c89460d334341d0980e6820208a9f3d6b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
/* Plan9 C, amd64 — kernel-болванка: пишет строку в VGA-текстбуфер 0xB8000.
* Грузится EFI-загрузчиком (bootx64.efi), исполняется в long mode. */
typedef unsigned short ushort;
typedef unsigned char uchar;
void
kmain(void)
{
ushort *vga;
char *s;
int i;
vga = (ushort*)0xB8000; /* VGA text framebuffer (long mode, identity-mapped) */
for(i = 0; i < 80*25; i++)
vga[i] = (0x1F<<8) | ' '; /* очистить: белым по синему */
s = "PLAN9 amd64 KERNEL loaded by EFI -> writes 0xB8000";
for(i = 0; s[i]; i++)
vga[i] = (0x1F<<8) | (uchar)s[i];
for(;;) /* halt */
;
}
|