diff options
Diffstat (limited to 'kernel/kernel.c')
| -rw-r--r-- | kernel/kernel.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c index 70a0ad8..e41d239 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -3,21 +3,28 @@ #include <bump.h> #include <log.h> +#define KERNEL_SIZE 3 * 1024 * 1024 + uint32_t user_regs[31]; void kernel_main(size_t hart, void *fdt) { - printk("Doing kernel init with hard ID %d", hart); + printk("Doing kernel init with hard ID %d\n", hart); struct dt_node *head = dt_parse(fdt); struct mem_info *info = km_find_memory(head); if (!info) { - printk("failed to find memory info!"); + printk("failed to find memory info!\n"); return; } + info->start = (void *)((uint8_t *)info->start + KERNEL_SIZE); + info->size -= KERNEL_SIZE; + km_init(info); + + printk("kernel init was successful\n"); } void kernel_trap() { |
