From 2d52fae22143ec94c3741e60fd74374f9675e742 Mon Sep 17 00:00:00 2001 From: "marcel.braun" Date: Sat, 28 Feb 2026 17:03:03 +0100 Subject: Implement RAMDiskController and instantiate it in StorageManagement --- .../src/storage/RAMDisk/RAMDiskController.cpp | 29 +++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp') diff --git a/kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp b/kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp index 9c6427d..c4807b0 100644 --- a/kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp +++ b/kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp @@ -1,6 +1,33 @@ #include "devices/storage/RAMDisk/RAMDiskController.hpp" +#include "kapi/boot_module/boot_module.hpp" +#include "kapi/boot_module/boot_module_registry.hpp" + +#include + +#include +#include + namespace devices::storage::ram_disk { - // TODO BA-FS26 implement ram disk controller functionality + ram_disk_controller::ram_disk_controller(kapi::boot_modules::boot_module_registry const * registry) + : m_boot_module_registry(registry) + {} + + auto ram_disk_controller::probe() -> void + { + std::ranges::for_each(*m_boot_module_registry, + [this](auto const & module) { create_device_from_boot_module(module); }); + } + + auto ram_disk_controller::devices_count() -> size_t + { + return m_devices.size(); + } + + auto create_device_from_boot_module(kapi::boot_modules::boot_module const & module) -> void + { + kstd::println("[RAM DISK CONTROLLER] Found boot module: {} at address {} with size {} bytes", module.name, + module.start_address, module.size); + } } // namespace devices::storage::ram_disk \ No newline at end of file -- cgit v1.2.3