diff options
Diffstat (limited to 'src/kernel')
-rw-r--r-- | src/kernel/main.c | 4 | ||||
-rw-r--r-- | src/kernel/main.h | 10 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/kernel/main.c b/src/kernel/main.c index d2d7dda..d2f2e7f 100644 --- a/src/kernel/main.c +++ b/src/kernel/main.c @@ -1,11 +1,13 @@ #include <arch/generic.h> +#include <kernel/main.h> #include <kernel/mem.h> #include <kernel/panic.h> #include <kernel/proc.h> void r3_test(); -void kmain() { +void kmain(struct kmain_info info) { + log_write(info.init.at, info.init.size); log_const("mem..."); mem_init(); diff --git a/src/kernel/main.h b/src/kernel/main.h index 6f27386..f7f5f04 100644 --- a/src/kernel/main.h +++ b/src/kernel/main.h @@ -1,3 +1,11 @@ #pragma once +#include <stddef.h> -void kmain(); +struct kmain_info { + struct { + void *at; // page aligned + size_t size; + } init; // a boot module loaded by GRUB, containing the initrd driver +}; + +void kmain(struct kmain_info); |