more fixes

This commit is contained in:
2026-10-05 23:55:10 +02:00
committed by Marvin Friedrich
parent 8f0c73f4dc
commit 4dd59ef79a
32 changed files with 403 additions and 59 deletions
+12
View File
@@ -1,10 +1,22 @@
#include <zinnia/acpi.h>
#include <zinnia/cmdline.h>
#include <zinnia/print.h>
#include <zinnia/types.h>
phys_t acpi_rsdp_addr = 0;
static bool use_acpi = true;
void use_acpi_option(bool use) {
use_acpi = use;
}
CMDLINE_OPTION("acpi", "Enable ACPI firmware subsystem", use_acpi_option);
void acpi_init(struct boot_info* info) {
if (!use_acpi) {
log("acpi: ACPI disabled on the command line!\n");
return;
}
if (!info->rsdp) {
log("acpi: No RSDP was passed, unable to start ACPI subsystem!\n");
return;
+15 -4
View File
@@ -2,11 +2,22 @@
#include <zinnia/module.h>
#include <zinnia/print.h>
void nvme_init(struct module* mod) {
errno_t nvme_init(struct module* mod) {
log("Hello world from NVMe!\n");
return 0;
}
void do_nvme(bool on) {}
CMDLINE_OPTION("nvme_on", "My description", do_nvme);
errno_t nvme_exit(struct module* mod) {
log("Good bye from NVMe!\n");
MODULE("NVME", "Marvin Friedrich", "ISC", "1.0", nvme_init);
return 0;
}
MODULE_ENTRY(nvme_init);
MODULE_EXIT(nvme_exit);
MODULE_DESC("NVMe Block Devices");
MODULE_AUTHOR("Marvin Friedrich");
MODULE_LICENSE("ISC");
MODULE_VERSION("1.0");
+14 -6
View File
@@ -1,7 +1,5 @@
/* Linker script for kernel modules */
ENTRY(__module_start)
PHDRS
{
text PT_LOAD FLAGS(5);
@@ -13,6 +11,8 @@ PHDRS
moddesc 0x60000003;
modlicense 0x60000004;
modcmdline 0x60000005;
modentry 0x60000006;
modexit 0x60000007;
}
SECTIONS
@@ -37,10 +37,6 @@ SECTIONS
*(.got.plt .got.plt.*)
} :rodata
.cmdline : {
KEEP(*(.cmdline))
} :rodata :modcmdline
.mod.version : {
KEEP(*(.mod.version))
} :rodata :modversion
@@ -57,6 +53,18 @@ SECTIONS
KEEP(*(.mod.license))
} :rodata :modlicense
.cmdline : {
KEEP(*(.cmdline))
} :rodata :modcmdline
.mod.entry : {
KEEP(*(.mod.entry))
} :rodata :modentry
.mod.exit : {
KEEP(*(.mod.exit))
} :rodata :modexit
. = ALIGN(CONSTANT(MAXPAGESIZE));
/* Read-Write data */