aboutsummaryrefslogtreecommitdiff
path: root/kernel/devices/src/storage/ram_disk
diff options
context:
space:
mode:
authorLukas Oesch <lukasoesch20@gmail.com>2026-03-15 16:24:42 +0100
committerLukas Oesch <lukasoesch20@gmail.com>2026-03-17 16:43:06 +0100
commit8eed4d31cf1d07d43e99d53da0fe3a401ce9e85e (patch)
tree299412da1c1835cb2f810440ff7981099916113f /kernel/devices/src/storage/ram_disk
parentace2d2178315d4b4ff1d969feed562a53d7a66c1 (diff)
downloadteachos-8eed4d31cf1d07d43e99d53da0fe3a401ce9e85e.tar.xz
teachos-8eed4d31cf1d07d43e99d53da0fe3a401ce9e85e.zip
every device has a name, generate ram disk device names
Diffstat (limited to 'kernel/devices/src/storage/ram_disk')
-rw-r--r--kernel/devices/src/storage/ram_disk/ram_disk_device.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/kernel/devices/src/storage/ram_disk/ram_disk_device.cpp b/kernel/devices/src/storage/ram_disk/ram_disk_device.cpp
index 3bd3967..8e9988d 100644
--- a/kernel/devices/src/storage/ram_disk/ram_disk_device.cpp
+++ b/kernel/devices/src/storage/ram_disk/ram_disk_device.cpp
@@ -7,21 +7,33 @@
#include <kstd/cstring>
+#include <array>
#include <cstddef>
+#include <string_view>
namespace devices::storage::ram_disk
{
namespace
{
constexpr size_t RAM_DISK_BLOCK_SIZE = 512uz; // TODO BA-FS26 really correct / good??
+
+ // TODO BA-FS26 @Felix
+ // TODO BA-FS26 currently only names for 9 minor devices
+ constinit std::array<char, 5> NAME = {'r', 'a', 'm', '0', '\0'};
+
+ auto determine_device_name(size_t minor) -> std::string_view
+ {
+ NAME[3] = '0' + minor;
+ return std::string_view{NAME};
+ }
} // namespace
ram_disk_device::ram_disk_device() // TODO BA-FS26 remove when kstd::vector is available
- : block_device(0, 0, RAM_DISK_BLOCK_SIZE)
+ : block_device(0, 0, determine_device_name(0), RAM_DISK_BLOCK_SIZE)
{}
ram_disk_device::ram_disk_device(kapi::boot_modules::boot_module const & module, size_t major, size_t minor)
- : block_device(major, minor, RAM_DISK_BLOCK_SIZE)
+ : block_device(major, minor, determine_device_name(minor), RAM_DISK_BLOCK_SIZE)
, m_boot_module(module)
{}