diff options
| author | marcel.braun <marcel.braun@ost.ch> | 2026-02-28 17:03:03 +0100 |
|---|---|---|
| committer | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-17 16:42:17 +0100 |
| commit | 2d52fae22143ec94c3741e60fd74374f9675e742 (patch) | |
| tree | 3f159c27304f6c661e80d95b80c3a7a8da7056f2 /kernel/devices/src/storage/RAMDisk | |
| parent | 7a9bdbc58361ff22491785d778474571035ad697 (diff) | |
| download | teachos-2d52fae22143ec94c3741e60fd74374f9675e742.tar.xz teachos-2d52fae22143ec94c3741e60fd74374f9675e742.zip | |
Implement RAMDiskController and instantiate it in StorageManagement
Diffstat (limited to 'kernel/devices/src/storage/RAMDisk')
| -rw-r--r-- | kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp | 29 |
1 files changed, 28 insertions, 1 deletions
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 <kstd/print> + +#include <algorithm> +#include <cstddef> + 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 |
