1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 04:18:12 +00:00

Kernel: Implement very simple kernel module loading

It's now possible to load a .o file into the kernel via a syscall.
The kernel will perform all the necessary ELF relocations, and then
call the "module_init" symbol in the loaded module.
This commit is contained in:
Andreas Kling 2019-11-28 20:59:11 +01:00
parent c10a5ac4ad
commit 6b150c794a
11 changed files with 198 additions and 3 deletions

13
Kernel/Module.h Normal file
View file

@ -0,0 +1,13 @@
#pragma once
#include <AK/String.h>
#include <AK/Vector.h>
#include <Kernel/KBuffer.h>
struct Module {
String name;
Vector<KBuffer> sections;
};
typedef void* (*ModuleInitPtr)();
typedef void* (*ModuleFiniPtr)();