kernel: implement initcalls and a testing system

This commit is contained in:
2023-02-26 10:05:39 +00:00
parent bc1bc9fec5
commit d41ea0cd52
16 changed files with 314 additions and 40 deletions

View File

@@ -3,6 +3,19 @@
#include <stdint.h>
#define __X2(x) #x
#define __X(x) __X2(x)
#ifdef __APPLE__
#define __define_initcall(fn, id) \
static initcall_t __initcall_##fn##id __used \
__section("__DATA,__initcall" __X(id) ".init") = (fn)
#else
#define __define_initcall(fn, id) \
static initcall_t __initcall_##fn##id __used \
__section("initcall" __X(id) "_init") = (fn)
#endif
extern int ml_init(uintptr_t arg);
#endif