summaryrefslogtreecommitdiff
path: root/src/kernel/main.c
diff options
context:
space:
mode:
authordzwdz2021-07-18 20:01:20 +0200
committerdzwdz2021-07-18 20:01:20 +0200
commita31794504d911d584265ac0427dfbba9a4d9ef72 (patch)
treeceff471e05be07eca6c2281a8c1d0bdcd19678b2 /src/kernel/main.c
parent185c7c44c0da51b5442abf4fd3fb549f99c5bab8 (diff)
basic executable loading
Diffstat (limited to 'src/kernel/main.c')
-rw-r--r--src/kernel/main.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/kernel/main.c b/src/kernel/main.c
index 677faaf..7f49fed 100644
--- a/src/kernel/main.c
+++ b/src/kernel/main.c
@@ -3,16 +3,21 @@
#include <kernel/mem.h>
#include <kernel/panic.h>
#include <kernel/proc.h>
+#include <kernel/util.h>
+#include <stdint.h>
void r3_test();
void kmain(struct kmain_info info) {
- log_write(info.init.at, info.init.size);
log_const("mem...");
mem_init(&info);
log_const("creating process...");
- struct process *proc = process_new(r3_test);
+
+ void *init_addr = (void*)0x200000;
+ memcpy(init_addr, info.init.at, info.init.size);
+
+ struct process *proc = process_new(init_addr);
log_const("switching...");
process_switch(proc);
}