aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-08-19 10:31:23 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-08-19 10:31:23 +0200
commite813d9576bd1e3366b2756ec2b00d1627be8e58a (patch)
tree64a0ba302b6a7ed10e153ffcd9f5127180ab88ec
parentc12fb52a860f4ae3bd6636e7feabeb7893cf27a8 (diff)
downloadkernel-e813d9576bd1e3366b2756ec2b00d1627be8e58a.tar.xz
kernel-e813d9576bd1e3366b2756ec2b00d1627be8e58a.zip
kapi: use bytes for size in boot modules
-rw-r--r--arch/x86_64/kapi/boot_modules.cpp4
-rw-r--r--docs/requirements.txt3
-rw-r--r--kapi/kapi/boot_modules/module.hpp14
-rw-r--r--kernel/kernel/drivers/storage/ram_disk.cpp2
-rw-r--r--kernel/kernel/test_support/filesystem/storage_boot_module_fixture.cpp5
5 files changed, 14 insertions, 14 deletions
diff --git a/arch/x86_64/kapi/boot_modules.cpp b/arch/x86_64/kapi/boot_modules.cpp
index c86b9cf7..607aca4e 100644
--- a/arch/x86_64/kapi/boot_modules.cpp
+++ b/arch/x86_64/kapi/boot_modules.cpp
@@ -11,6 +11,7 @@
#include <kstd/memory.hpp>
#include <kstd/print.hpp>
+#include <kstd/units.hpp>
#include <multiboot2/information.hpp>
@@ -34,7 +35,8 @@ namespace kapi::boot_modules
.name = module.string(),
.start_address =
memory::linear_address{module.start_address + std::bit_cast<std::uintptr_t>(&arch::boot::TEACHOS_VMA)},
- .size = module.end_address - module.start_address};
+ .size = kstd::bytes{module.end_address - module.start_address},
+ };
auto device = kstd::make_shared<kapi::boot_modules::device>(index, boot_module);
bus.add_child(device);
});
diff --git a/docs/requirements.txt b/docs/requirements.txt
deleted file mode 100644
index fc087906..00000000
--- a/docs/requirements.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Sphinx~=9.1.0
-sphinx_book_theme~=1.2.0
-breathe~=4.36.0 \ No newline at end of file
diff --git a/kapi/kapi/boot_modules/module.hpp b/kapi/kapi/boot_modules/module.hpp
index 99e7b2ca..4f4cc0a9 100644
--- a/kapi/kapi/boot_modules/module.hpp
+++ b/kapi/kapi/boot_modules/module.hpp
@@ -3,7 +3,8 @@
#include <kapi/memory.hpp>
-#include <cstddef>
+#include <kstd/units.hpp>
+
#include <string_view>
namespace kapi::boot_modules
@@ -11,16 +12,15 @@ namespace kapi::boot_modules
//! @addtogroup kapi-boot_modules
//! @{
-
- // ! The boot module struct
- // !
- // ! The boot module struct represents a module loaded by the bootloader, and contains information about it, such as
- // ! its name, virtual start address, and size.
+ //! A single boot module.
struct module
{
+ //! The name of this module.
std::string_view name{};
+ //! The linear address to which the module was loaded.
memory::linear_address start_address{};
- std::size_t size{};
+ //! The size of the module.
+ kstd::bytes size{};
};
//! @}
diff --git a/kernel/kernel/drivers/storage/ram_disk.cpp b/kernel/kernel/drivers/storage/ram_disk.cpp
index 186f8cbc..383a9417 100644
--- a/kernel/kernel/drivers/storage/ram_disk.cpp
+++ b/kernel/kernel/drivers/storage/ram_disk.cpp
@@ -107,7 +107,7 @@ namespace kernel::drivers::storage
}
auto const & module = facet->module();
- if (module.start_address.raw() == 0 || module.size == 0)
+ if (module.start_address.raw() == 0 || module.size == 0_B)
{
return kstd::failure(make_error_code(kstd::errc::invalid_argument));
}
diff --git a/kernel/kernel/test_support/filesystem/storage_boot_module_fixture.cpp b/kernel/kernel/test_support/filesystem/storage_boot_module_fixture.cpp
index d5068565..b9228c69 100644
--- a/kernel/kernel/test_support/filesystem/storage_boot_module_fixture.cpp
+++ b/kernel/kernel/test_support/filesystem/storage_boot_module_fixture.cpp
@@ -10,6 +10,7 @@
#include <kapi/memory.hpp>
#include <kstd/memory.hpp>
+#include <kstd/units.hpp>
#include <cstddef>
#include <fcntl.h>
@@ -99,7 +100,7 @@ namespace kernel::tests::filesystem
auto module = kapi::boot_modules::module{
.name = m_module_names[i].c_str(),
.start_address = kapi::memory::linear_address{m_module_data[i].data()},
- .size = m_module_data[i].size(),
+ .size = kstd::bytes{m_module_data[i].size()},
};
m_boot_module_bus->add_child(kstd::make_shared<kapi::boot_modules::device>(i, module));
}
@@ -142,7 +143,7 @@ namespace kernel::tests::filesystem
auto module = kapi::boot_modules::module{
.name = m_module_names.back().c_str(),
.start_address = kapi::memory::linear_address{mapped_image.mapping},
- .size = mapped_image.size,
+ .size = kstd::bytes{mapped_image.size},
};
m_boot_module_bus->add_child(kstd::make_shared<kapi::boot_modules::device>(index, module));