diff options
| author | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-21 23:57:49 +0100 |
|---|---|---|
| committer | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-26 21:17:43 +0100 |
| commit | ac3510bb9f696869f059ecd4ece2c6970fa63b6c (patch) | |
| tree | 7518fe46bad29674550cb98f26eb1d5ca2720fec /kernel/src/devices | |
| parent | c470ca76ce7801a2a4efb03c9ed606b34b368ded (diff) | |
| download | teachos-ac3510bb9f696869f059ecd4ece2c6970fa63b6c.tar.xz teachos-ac3510bb9f696869f059ecd4ece2c6970fa63b6c.zip | |
implement device names with kstd::string
Diffstat (limited to 'kernel/src/devices')
| -rw-r--r-- | kernel/src/devices/block_device.cpp | 5 | ||||
| -rw-r--r-- | kernel/src/devices/device.cpp | 7 | ||||
| -rw-r--r-- | kernel/src/devices/storage/ram_disk/ram_disk_device.cpp | 15 |
3 files changed, 9 insertions, 18 deletions
diff --git a/kernel/src/devices/block_device.cpp b/kernel/src/devices/block_device.cpp index d12251b..3402814 100644 --- a/kernel/src/devices/block_device.cpp +++ b/kernel/src/devices/block_device.cpp @@ -4,12 +4,13 @@ #include "kernel/devices/device.hpp" +#include <kstd/string> + #include <cstddef> -#include <string_view> namespace devices { - block_device::block_device(size_t major, size_t minor, std::string_view name, size_t block_size) + block_device::block_device(size_t major, size_t minor, kstd::string const & name, size_t block_size) : device(major, minor, name) , m_block_size(block_size) { diff --git a/kernel/src/devices/device.cpp b/kernel/src/devices/device.cpp index 29498fa..287f14b 100644 --- a/kernel/src/devices/device.cpp +++ b/kernel/src/devices/device.cpp @@ -1,11 +1,12 @@ #include "kernel/devices/device.hpp" +#include <kstd/string> + #include <cstddef> -#include <string_view> namespace devices { - device::device(size_t major, size_t minor, std::string_view name) + device::device(size_t major, size_t minor, kstd::string const & name) : m_major(major) , m_minor(minor) , m_name(name) @@ -21,7 +22,7 @@ namespace devices return m_minor; } - auto device::name() const -> std::string_view + auto device::name() const -> kstd::string const & { return m_name; } diff --git a/kernel/src/devices/storage/ram_disk/ram_disk_device.cpp b/kernel/src/devices/storage/ram_disk/ram_disk_device.cpp index 650a151..bf329cb 100644 --- a/kernel/src/devices/storage/ram_disk/ram_disk_device.cpp +++ b/kernel/src/devices/storage/ram_disk/ram_disk_device.cpp @@ -6,30 +6,19 @@ #include "kernel/devices/block_device.hpp" #include <kstd/cstring> +#include <kstd/string> -#include <array> #include <cstddef> -#include <string_view> namespace devices::storage::ram_disk { namespace { constexpr size_t RAM_DISK_BLOCK_SIZE = 512uz; - - // 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(kapi::boot_modules::boot_module const & module, size_t major, size_t minor) - : block_device(major, minor, determine_device_name(minor), RAM_DISK_BLOCK_SIZE) + : block_device(major, minor, "ram" + kstd::to_string(minor), RAM_DISK_BLOCK_SIZE) , m_boot_module(module) {} |
