From f84c55f194df088c291fc4359ccec1305be456ce Mon Sep 17 00:00:00 2001 From: dzwdz Date: Sat, 17 Jul 2021 19:03:45 +0200 Subject: basic boot module support This loads a file from the boot disk into memory. Currently it just gets printed, but it's going to become a real executable soon. --- src/kernel/main.c | 4 +++- src/kernel/main.h | 10 +++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'src/kernel') 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 +#include #include #include #include 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 -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); -- cgit v1.2.3