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