kxld: implement internal kext dependency resolution and initialisation

This commit is contained in:
2023-04-09 16:43:03 +01:00
parent 076a15e47b
commit eb998860a5
4 changed files with 358 additions and 30 deletions

View File

@@ -1,5 +1,6 @@
#include <stdint.h>
#include <socks/init.h>
#include <socks/panic.h>
#include <socks/test.h>
#include <socks/printk.h>
#include <socks/kext.h>
@@ -21,7 +22,16 @@ void kernel_init(uintptr_t arg)
{
ml_init(arg);
scan_internal_kexts();
kern_status_t status;
status = scan_internal_kexts();
if (status != KERN_OK) {
panic("scan_internal_kexts() failed with code %s", kern_status_string(status));
}
status = bring_internal_kexts_online();
if (status != KERN_OK) {
panic("bring_internal_kexts_online() failed with code %s", kern_status_string(status));
}
printk("kernel_init() running on processor %u", this_cpu());