aboutsummaryrefslogtreecommitdiff
path: root/kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp
diff options
context:
space:
mode:
authorLukas Oesch <lukasoesch20@gmail.com>2026-03-03 10:15:20 +0100
committerLukas Oesch <lukasoesch20@gmail.com>2026-03-17 16:42:30 +0100
commit52a007ebee4e8ca284ec5767de01c311e9f1860e (patch)
treeca9ea7720562d04b8590e142e908f31030eee6a8 /kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp
parentd2e9e3ee57918ddd4a1f81e70304dc15964555ff (diff)
downloadteachos-52a007ebee4e8ca284ec5767de01c311e9f1860e.tar.xz
teachos-52a007ebee4e8ca284ec5767de01c311e9f1860e.zip
implement major and minor analog to the linux kernel
Diffstat (limited to 'kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp')
-rw-r--r--kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp b/kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp
index ec2cb97..1f70e2d 100644
--- a/kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp
+++ b/kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp
@@ -21,6 +21,17 @@ namespace devices::storage::ram_disk
auto ram_disk_controller::probe() -> void
{
+ size_t current_device_index = 0; // Starte bei 0
+
+ std::ranges::for_each(*m_boot_module_registry, [this, &current_device_index](auto const & module) {
+ auto const minor = current_device_index * m_minors_per_device;
+
+ // TODO BA-FS26 use push_back from kstd::vector when available
+ m_devices.at(0) = ram_disk_device{module, m_major, minor};
+
+ current_device_index++;
+ });
+
std::ranges::for_each(*m_boot_module_registry,
[this](auto const & module) { create_device_from_boot_module(module); });
}