diff options
| author | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-31 08:56:17 +0200 |
|---|---|---|
| committer | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-31 08:56:17 +0200 |
| commit | 9e85f9d1f34d08213a918d9c1b0845c179e323af (patch) | |
| tree | d3694b22e1b41cbc3bfd340f8f9db47a6602ec73 /kernel/src/devices/storage | |
| parent | ffac763323b88809d2f361bc01cdf9bfe0b1d67f (diff) | |
| download | teachos-9e85f9d1f34d08213a918d9c1b0845c179e323af.tar.xz teachos-9e85f9d1f34d08213a918d9c1b0845c179e323af.zip | |
move device into kapi
Diffstat (limited to 'kernel/src/devices/storage')
| -rw-r--r-- | kernel/src/devices/storage/controller.cpp | 6 | ||||
| -rw-r--r-- | kernel/src/devices/storage/management.cpp | 8 | ||||
| -rw-r--r-- | kernel/src/devices/storage/ram_disk/device.cpp | 8 |
3 files changed, 14 insertions, 8 deletions
diff --git a/kernel/src/devices/storage/controller.cpp b/kernel/src/devices/storage/controller.cpp index 46c45e4..1bef670 100644 --- a/kernel/src/devices/storage/controller.cpp +++ b/kernel/src/devices/storage/controller.cpp @@ -1,6 +1,6 @@ #include "kernel/devices/storage/controller.hpp" -#include "kernel/devices/device.hpp" +#include "kapi/devices/device.hpp" #include <kstd/memory> #include <kstd/vector> @@ -21,7 +21,7 @@ namespace kernel::devices::storage return m_major; } - auto controller::device_by_minor(size_t minor) const -> kstd::shared_ptr<devices::device> + auto controller::device_by_minor(size_t minor) const -> kstd::shared_ptr<kapi::devices::device> { auto it = std::ranges::find_if(m_devices, [minor](auto const & device) { return device->minor() == minor; }); @@ -37,7 +37,7 @@ namespace kernel::devices::storage return m_devices.size(); } - auto controller::all_devices() const -> kstd::vector<kstd::shared_ptr<devices::device>> const & + auto controller::all_devices() const -> kstd::vector<kstd::shared_ptr<kapi::devices::device>> const & { return m_devices; } diff --git a/kernel/src/devices/storage/management.cpp b/kernel/src/devices/storage/management.cpp index 62c0ce4..d440bf0 100644 --- a/kernel/src/devices/storage/management.cpp +++ b/kernel/src/devices/storage/management.cpp @@ -3,7 +3,7 @@ #include "kapi/boot_modules.hpp" #include "kapi/system.hpp" -#include "kernel/devices/device.hpp" +#include "kapi/devices/device.hpp" #include "kernel/devices/storage/controller.hpp" #include "kernel/devices/storage/ram_disk/controller.hpp" @@ -61,9 +61,9 @@ namespace kernel::devices::storage return m_controllers; } - auto management::device_by_major_minor(size_t major, size_t minor) -> kstd::shared_ptr<device> + auto management::device_by_major_minor(size_t major, size_t minor) -> kstd::shared_ptr<kapi::devices::device> { - kstd::shared_ptr<device> found = nullptr; + kstd::shared_ptr<kapi::devices::device> found = nullptr; std::ranges::find_if(m_controllers, [&](auto const & controller) { if (controller != nullptr && controller->major() == major) @@ -77,7 +77,7 @@ namespace kernel::devices::storage return found; } - auto management::determine_boot_device() -> kstd::shared_ptr<device> + auto management::determine_boot_device() -> kstd::shared_ptr<kapi::devices::device> { return device_by_major_minor(START_MAJOR, 0); } diff --git a/kernel/src/devices/storage/ram_disk/device.cpp b/kernel/src/devices/storage/ram_disk/device.cpp index 5116c93..8fc3b2a 100644 --- a/kernel/src/devices/storage/ram_disk/device.cpp +++ b/kernel/src/devices/storage/ram_disk/device.cpp @@ -1,8 +1,9 @@ +#include "kernel/devices/storage/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> @@ -21,6 +22,11 @@ namespace kernel::devices::storage::ram_disk , m_boot_module(module) {} + auto device::init() -> bool + { + return m_boot_module.start_address.raw() != 0 && m_boot_module.size > 0; + } + auto device::read_block(size_t block_index, void * buffer) const -> void { if (buffer == nullptr) |
