Load modules after initgraph
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#include <zinnia/init.h>
|
||||
#include <zinnia/initgraph.h>
|
||||
#include <zinnia/irq.h>
|
||||
#include <zinnia/module.h>
|
||||
#include <zinnia/percpu.h>
|
||||
#include <zinnia/print.h>
|
||||
#include <zinnia/sched.h>
|
||||
@@ -29,6 +30,8 @@ static void kernel_main_task(uintptr_t arg0) {
|
||||
// Finish the initgraph.
|
||||
initgraph_run(nullptr, info);
|
||||
|
||||
module_init();
|
||||
|
||||
// TODO: Try to run init.
|
||||
|
||||
assert(info->num_files >= 1, "No init executable provided");
|
||||
|
||||
@@ -373,4 +373,3 @@ static void pci_stage_init(struct boot_info*) {
|
||||
}
|
||||
INIT_TASK(pci_stage, "dev.pci", pci_stage_init);
|
||||
INIT_DEPENDS(pci_stage, mem_stage);
|
||||
INIT_ENTAILS(pci_stage, module_stage);
|
||||
|
||||
@@ -90,10 +90,8 @@ struct module {
|
||||
#define THIS_MODULE (struct module*)nullptr
|
||||
|
||||
struct boot_info;
|
||||
void module_init(struct boot_info* info);
|
||||
void module_init();
|
||||
|
||||
errno_t module_load(const void* data, size_t length, const char* cmdline, struct module** out);
|
||||
errno_t module_unload(struct module* mod);
|
||||
struct module* module_find(const char* name);
|
||||
|
||||
INIT_EXTERN(module_stage);
|
||||
|
||||
Reference in New Issue
Block a user