Mercurial > lcfOS
annotate cos/kernel/kernel.c @ 320:84d67cce67b7
Working burg
author | Windel Bouwman |
---|---|
date | Sun, 19 Jan 2014 16:09:44 +0100 |
parents | 35cc54e078dd |
children |
rev | line source |
---|---|
9 | 1 #include "kernel.h" |
2 | |
29 | 3 /* This routine initializes the kernel. |
4 * We are left here in 64-bit long mode with the first 6 MB identity mapped. | |
5 * */ | |
9 | 6 void kmain() |
7 { | |
34
8012221dd740
Fixes for uninitialized data. This causes problems on real machines
windel
parents:
33
diff
changeset
|
8 // No kmalloc required here yet: |
29 | 9 init_screen(); |
10 setupIDT(); | |
37 | 11 read_multiboot_info(); // Parse the GRUB multiboot header. |
12 init_memory(available_memory); // Setup a new paging scheme and memory manager | |
13 // From here kmalloc can be used. | |
36 | 14 keyboard_init(); |
15 timer_init(); | |
41 | 16 load_ramdisk(); |
29 | 17 |
37 | 18 // TODO: make shell a user space program! |
19 shell(); // Start user shell | |
9 | 20 } |
21 |