From 6962b6f083e098a21f112fe5ef54990b88dff2ca Mon Sep 17 00:00:00 2001 From: Antti Kantee Date: Wed, 22 Apr 2015 07:28:52 +0000 Subject: [PATCH] Push userlevel init into the same module. Keeps the namespace in kernel.c clean --- platform/baremetal/include/bmk/app.h | 2 +- platform/baremetal/init.c | 7 +++++-- platform/baremetal/kernel.c | 13 +------------ 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/platform/baremetal/include/bmk/app.h b/platform/baremetal/include/bmk/app.h index f715d12..120f34d 100644 --- a/platform/baremetal/include/bmk/app.h +++ b/platform/baremetal/include/bmk/app.h @@ -1,2 +1,2 @@ -void bmk_beforemain(void); +void bmk_mainthread(void *); int main(int, char **); diff --git a/platform/baremetal/init.c b/platform/baremetal/init.c index cad73fa..fd3ba6c 100644 --- a/platform/baremetal/init.c +++ b/platform/baremetal/init.c @@ -32,6 +32,8 @@ #include +#include + int bmk_havenet; /* @@ -53,16 +55,17 @@ rumpkern_config(void) } void -bmk_beforemain(void) +bmk_mainthread(void *notused) { char *argv[] = {"bmk_main", 0}; int rv; + _netbsd_init(); rumpkern_config(); printf("=== calling main() ===\n\n"); rv = main(1, argv); printf("=== main() returned %d ===\n\n", rv); - /* XXX: just fall somewhere */ + _netbsd_fini(); } diff --git a/platform/baremetal/kernel.c b/platform/baremetal/kernel.c index ef8802d..9e84a08 100644 --- a/platform/baremetal/kernel.c +++ b/platform/baremetal/kernel.c @@ -36,8 +36,6 @@ #include #include -#include - unsigned long bmk_membase; unsigned long bmk_memsize; @@ -186,15 +184,6 @@ parsemem(uint32_t addr, uint32_t len) return 0; } -static void -bmk_mainthread(void *notused) -{ - - _netbsd_init(); - bmk_beforemain(); - _netbsd_fini(); -} - void bmk_main(struct multiboot_info *mbi) { @@ -212,7 +201,7 @@ bmk_main(struct multiboot_info *mbi) bmk_cpu_init(); bmk_isr_init(); - /* enough already, jump to main thread */ + /* enough bootstrap already, jump to main thread */ bmk_sched_init(bmk_mainthread, NULL); } -- 2.39.5