summaryrefslogtreecommitdiff
path: root/kernel/kernel.c
diff options
context:
space:
mode:
authorNathan Lee <me@nwlee.tech>2026-07-30 13:43:03 -0500
committerNathan Lee <me@nwlee.tech>2026-07-30 13:43:03 -0500
commit6982057b61e939fa14418356969753a3c33ebf94 (patch)
treed373cd73b70f3d6217f9c97df33aa4cd1fa6980c /kernel/kernel.c
parent1329d1db52ede274d63b56a7aa37dd25c833ec67 (diff)
create stub for syscalls
Diffstat (limited to 'kernel/kernel.c')
-rw-r--r--kernel/kernel.c11
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() {