diff options
| author | Lukas Oesch <lukas.oesch@ost.ch> | 2026-03-30 21:37:09 +0200 |
|---|---|---|
| committer | Lukas Oesch <lukas.oesch@ost.ch> | 2026-03-30 21:37:09 +0200 |
| commit | ffac763323b88809d2f361bc01cdf9bfe0b1d67f (patch) | |
| tree | 2ec969f3ae4008d0ea8d81efacd5bb810a03d96c /kernel/src/devices/storage/ram_disk | |
| parent | 9058bbed061602cdf41013d5e5d91ce892f63c94 (diff) | |
| parent | 846135ba5cdfa545124b97c74182f5eada9a403a (diff) | |
| download | teachos-ffac763323b88809d2f361bc01cdf9bfe0b1d67f.tar.xz teachos-ffac763323b88809d2f361bc01cdf9bfe0b1d67f.zip | |
Merge branch 'refactor' into 'develop-BA-FS26'
Refactor
See merge request teachos/kernel!18
Diffstat (limited to 'kernel/src/devices/storage/ram_disk')
| -rw-r--r-- | kernel/src/devices/storage/ram_disk/controller.cpp | 27 | ||||
| -rw-r--r-- | kernel/src/devices/storage/ram_disk/device.cpp (renamed from kernel/src/devices/storage/ram_disk/ram_disk_device.cpp) | 15 | ||||
| -rw-r--r-- | kernel/src/devices/storage/ram_disk/ram_disk_controller.cpp | 27 |
3 files changed, 34 insertions, 35 deletions
diff --git a/kernel/src/devices/storage/ram_disk/controller.cpp b/kernel/src/devices/storage/ram_disk/controller.cpp new file mode 100644 index 0000000..040e61f --- /dev/null +++ b/kernel/src/devices/storage/ram_disk/controller.cpp @@ -0,0 +1,27 @@ +#include "kernel/devices/storage/ram_disk/controller.hpp" + +#include "kapi/boot_module/boot_module_registry.hpp" + +#include "kernel/devices/storage/ram_disk/device.hpp" + +#include <kstd/memory> + +#include <algorithm> +#include <cstddef> + +namespace kernel::devices::storage::ram_disk +{ + controller::controller(kapi::boot_modules::boot_module_registry const * registry) + : m_boot_module_registry(registry) + {} + + auto controller::probe() -> void + { + size_t current_device_index = 0; + + std::ranges::for_each(*m_boot_module_registry, [this, ¤t_device_index](auto const & module) { + auto const minor = current_device_index++ * m_minors_per_device; + m_devices.push_back(kstd::make_shared<device>(module, m_major, minor)); + }); + } +} // namespace kernel::devices::storage::ram_disk
\ No newline at end of file diff --git a/kernel/src/devices/storage/ram_disk/ram_disk_device.cpp b/kernel/src/devices/storage/ram_disk/device.cpp index bf329cb..5116c93 100644 --- a/kernel/src/devices/storage/ram_disk/ram_disk_device.cpp +++ b/kernel/src/devices/storage/ram_disk/device.cpp @@ -1,28 +1,27 @@ -#include "kernel/devices/storage/ram_disk/ram_disk_device.hpp" - #include "kapi/boot_module/boot_module.hpp" #include "kapi/system.hpp" #include "kernel/devices/block_device.hpp" +#include "kernel/devices/storage/ram_disk/device.hpp" #include <kstd/cstring> #include <kstd/string> #include <cstddef> -namespace devices::storage::ram_disk +namespace kernel::devices::storage::ram_disk { namespace { constexpr size_t RAM_DISK_BLOCK_SIZE = 512uz; } // namespace - ram_disk_device::ram_disk_device(kapi::boot_modules::boot_module const & module, size_t major, size_t minor) + device::device(kapi::boot_modules::boot_module const & module, size_t major, size_t minor) : block_device(major, minor, "ram" + kstd::to_string(minor), RAM_DISK_BLOCK_SIZE) , m_boot_module(module) {} - auto ram_disk_device::read_block(size_t block_index, void * buffer) const -> void + auto device::read_block(size_t block_index, void * buffer) const -> void { if (buffer == nullptr) { @@ -43,7 +42,7 @@ namespace devices::storage::ram_disk } } - auto ram_disk_device::write_block(size_t block_index, void const * buffer) -> void + auto device::write_block(size_t block_index, void const * buffer) -> void { if (buffer == nullptr) { @@ -59,8 +58,8 @@ namespace devices::storage::ram_disk } } - auto ram_disk_device::size() const -> size_t + auto device::size() const -> size_t { return m_boot_module.size; } -} // namespace devices::storage::ram_disk
\ No newline at end of file +} // namespace kernel::devices::storage::ram_disk
\ No newline at end of file diff --git a/kernel/src/devices/storage/ram_disk/ram_disk_controller.cpp b/kernel/src/devices/storage/ram_disk/ram_disk_controller.cpp deleted file mode 100644 index f3e9f70..0000000 --- a/kernel/src/devices/storage/ram_disk/ram_disk_controller.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include "kernel/devices/storage/ram_disk/ram_disk_controller.hpp" - -#include "kapi/boot_module/boot_module_registry.hpp" - -#include "kernel/devices/storage/ram_disk/ram_disk_device.hpp" - -#include <kstd/memory> - -#include <algorithm> -#include <cstddef> - -namespace devices::storage::ram_disk -{ - 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 - { - size_t current_device_index = 0; - - std::ranges::for_each(*m_boot_module_registry, [this, ¤t_device_index](auto const & module) { - auto const minor = current_device_index++ * m_minors_per_device; - m_devices.push_back(kstd::make_shared<ram_disk_device>(module, m_major, minor)); - }); - } -} // namespace devices::storage::ram_disk
\ No newline at end of file |
