aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kapi/include/kapi/devices/device.hpp (renamed from kernel/include/kernel/devices/device.hpp)35
-rw-r--r--kernel/CMakeLists.txt1
-rw-r--r--kernel/include/kernel/devices/block_device.hpp4
-rw-r--r--kernel/include/kernel/devices/block_device_utils.hpp6
-rw-r--r--kernel/include/kernel/devices/storage/controller.hpp8
-rw-r--r--kernel/include/kernel/devices/storage/management.hpp6
-rw-r--r--kernel/include/kernel/devices/storage/ram_disk/device.hpp6
-rw-r--r--kernel/include/kernel/filesystem/devfs/filesystem.hpp4
-rw-r--r--kernel/include/kernel/filesystem/device_inode.hpp8
-rw-r--r--kernel/include/kernel/filesystem/ext2/filesystem.hpp4
-rw-r--r--kernel/include/kernel/filesystem/filesystem.hpp6
-rw-r--r--kernel/include/kernel/filesystem/rootfs/filesystem.hpp4
-rw-r--r--kernel/src/devices/block_device.cpp4
-rw-r--r--kernel/src/devices/block_device_utils.cpp8
-rw-r--r--kernel/src/devices/device.cpp29
-rw-r--r--kernel/src/devices/storage/controller.cpp6
-rw-r--r--kernel/src/devices/storage/management.cpp8
-rw-r--r--kernel/src/devices/storage/ram_disk/device.cpp8
-rw-r--r--kernel/src/filesystem/devfs/filesystem.cpp4
-rw-r--r--kernel/src/filesystem/device_inode.cpp6
-rw-r--r--kernel/src/filesystem/ext2/filesystem.cpp4
-rw-r--r--kernel/src/filesystem/filesystem.cpp4
-rw-r--r--kernel/src/filesystem/rootfs/filesystem.cpp4
23 files changed, 89 insertions, 88 deletions
diff --git a/kernel/include/kernel/devices/device.hpp b/kapi/include/kapi/devices/device.hpp
index 67fa5ad..a049cf5 100644
--- a/kernel/include/kernel/devices/device.hpp
+++ b/kapi/include/kapi/devices/device.hpp
@@ -1,11 +1,11 @@
-#ifndef TEACH_OS_KERNEL_DEVICES_DEVICE_HPP
-#define TEACH_OS_KERNEL_DEVICES_DEVICE_HPP
+#ifndef TEACH_OS_KAPI_DEVICES_DEVICE_HPP
+#define TEACH_OS_KAPI_DEVICES_DEVICE_HPP
#include <kstd/string>
#include <cstddef>
-namespace kernel::devices
+namespace kapi::devices
{
/**
* @brief Base device identified by a major, minor number and name.
@@ -18,7 +18,11 @@ namespace kernel::devices
* @param minor Device minor number.
* @param name Device name.
*/
- device(size_t major, size_t minor, kstd::string const & name);
+ device(size_t major, size_t minor, kstd::string const & name)
+ : m_major(major)
+ , m_minor(minor)
+ , m_name(name)
+ {}
/**
* @brief Virtual destructor for device.
@@ -26,22 +30,37 @@ namespace kernel::devices
virtual ~device() = default;
/**
+ * @brief Initialize the device.
+ * @return true on success, false otherwise.
+ */
+ virtual auto init() -> bool = 0;
+
+ /**
* @brief Returns the major number of the device.
* @return Device major number.
*/
- [[nodiscard]] auto major() const -> size_t;
+ [[nodiscard]] auto major() const -> size_t
+ {
+ return m_major;
+ }
/**
* @brief Returns the minor number of the device.
* @return Device minor number.
*/
- [[nodiscard]] auto minor() const -> size_t;
+ [[nodiscard]] auto minor() const -> size_t
+ {
+ return m_minor;
+ }
/**
* @brief Returns the name of the device.
* @return Device name.
*/
- [[nodiscard]] auto name() const -> kstd::string const &;
+ [[nodiscard]] auto name() const -> kstd::string const &
+ {
+ return m_name;
+ }
/**
* @brief Check if the device is a block device.
@@ -57,6 +76,6 @@ namespace kernel::devices
size_t m_minor;
kstd::string m_name;
};
-} // namespace kernel::devices
+} // namespace kapi::devices
#endif \ No newline at end of file
diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt
index 10bfecb..cb3d8a5 100644
--- a/kernel/CMakeLists.txt
+++ b/kernel/CMakeLists.txt
@@ -17,7 +17,6 @@ add_executable("kernel"
"src/memory/block_list_allocator.cpp"
"src/memory/operators.cpp"
"src/memory.cpp"
- "src/devices/device.cpp"
"src/devices/block_device.cpp"
"src/devices/block_device_utils.cpp"
"src/devices/storage/controller.cpp"
diff --git a/kernel/include/kernel/devices/block_device.hpp b/kernel/include/kernel/devices/block_device.hpp
index 619b815..43e6511 100644
--- a/kernel/include/kernel/devices/block_device.hpp
+++ b/kernel/include/kernel/devices/block_device.hpp
@@ -1,7 +1,7 @@
#ifndef TEACH_OS_KERNEL_DEVICES_BLOCK_DEVICE_HPP
#define TEACH_OS_KERNEL_DEVICES_BLOCK_DEVICE_HPP
-#include "kernel/devices/device.hpp"
+#include "kapi/devices/device.hpp"
#include <kstd/string>
@@ -12,7 +12,7 @@ namespace kernel::devices
/**
* @brief Base interface for block-addressable devices.
*/
- struct block_device : device
+ struct block_device : kapi::devices::device
{
/**
* @brief Create a block device descriptor.
diff --git a/kernel/include/kernel/devices/block_device_utils.hpp b/kernel/include/kernel/devices/block_device_utils.hpp
index bb49d04..5e862ba 100644
--- a/kernel/include/kernel/devices/block_device_utils.hpp
+++ b/kernel/include/kernel/devices/block_device_utils.hpp
@@ -1,7 +1,7 @@
#ifndef TEACH_OS_KERNEL_DEVICES_BLOCK_DEVICE_UTILS_HPP
#define TEACH_OS_KERNEL_DEVICES_BLOCK_DEVICE_UTILS_HPP
-#include "kernel/devices/device.hpp"
+#include "kapi/devices/device.hpp"
#include <kstd/memory>
@@ -9,8 +9,8 @@
namespace kernel::devices::block_device_utils
{
- auto read(kstd::shared_ptr<devices::device> const & device, void * buffer, size_t offset, size_t size) -> size_t;
- auto write(kstd::shared_ptr<devices::device> const & device, void const * buffer, size_t offset, size_t size)
+ auto read(kstd::shared_ptr<kapi::devices::device> const & device, void * buffer, size_t offset, size_t size) -> size_t;
+ auto write(kstd::shared_ptr<kapi::devices::device> const & device, void const * buffer, size_t offset, size_t size)
-> size_t;
} // namespace kernel::devices::block_device_utils
diff --git a/kernel/include/kernel/devices/storage/controller.hpp b/kernel/include/kernel/devices/storage/controller.hpp
index e3bfd01..a91e452 100644
--- a/kernel/include/kernel/devices/storage/controller.hpp
+++ b/kernel/include/kernel/devices/storage/controller.hpp
@@ -1,7 +1,7 @@
#ifndef TEACH_OS_KERNEL_DEVICES_STORAGE_CONTROLLER_HPP
#define TEACH_OS_KERNEL_DEVICES_STORAGE_CONTROLLER_HPP
-#include "kernel/devices/device.hpp"
+#include "kapi/devices/device.hpp"
#include <kstd/memory>
#include <kstd/vector>
@@ -51,7 +51,7 @@ namespace kernel::devices::storage
* @brief Return all devices managed by this controller.
* @return Vector of all managed devices.
*/
- [[nodiscard]] auto all_devices() const -> kstd::vector<kstd::shared_ptr<devices::device>> const &;
+ [[nodiscard]] auto all_devices() const -> kstd::vector<kstd::shared_ptr<kapi::devices::device>> const &;
/**
* @brief Find a managed device by major/minor numbers.
@@ -59,12 +59,12 @@ namespace kernel::devices::storage
* @param minor Device minor number.
* @return Matching block device, or nullptr if no device matches.
*/
- [[nodiscard]] auto device_by_minor(size_t minor) const -> kstd::shared_ptr<devices::device>;
+ [[nodiscard]] auto device_by_minor(size_t minor) const -> kstd::shared_ptr<kapi::devices::device>;
protected:
size_t m_major{};
size_t m_minors_per_device{};
- kstd::vector<kstd::shared_ptr<devices::device>> m_devices{};
+ kstd::vector<kstd::shared_ptr<kapi::devices::device>> m_devices{};
};
} // namespace kernel::devices::storage
diff --git a/kernel/include/kernel/devices/storage/management.hpp b/kernel/include/kernel/devices/storage/management.hpp
index 255d170..0176ce1 100644
--- a/kernel/include/kernel/devices/storage/management.hpp
+++ b/kernel/include/kernel/devices/storage/management.hpp
@@ -1,7 +1,7 @@
#ifndef TEACH_OS_KERNEL_DEVICES_STORAGE_MANAGEMENT_HPP
#define TEACH_OS_KERNEL_DEVICES_STORAGE_MANAGEMENT_HPP
-#include "kernel/devices/device.hpp"
+#include "kapi/devices/device.hpp"
#include "kernel/devices/storage/controller.hpp"
#include <kstd/memory>
@@ -56,13 +56,13 @@ namespace kernel::devices::storage
* @param minor Device minor number.
* @return Matching device, or nullptr if no device matches.
*/
- auto device_by_major_minor(size_t major, size_t minor) -> kstd::shared_ptr<device>;
+ auto device_by_major_minor(size_t major, size_t minor) -> kstd::shared_ptr<kapi::devices::device>;
/**
* @brief Determine the boot device.
* @return Boot device, or nullptr if it cannot be determined.
*/
- auto determine_boot_device() -> kstd::shared_ptr<device>;
+ auto determine_boot_device() -> kstd::shared_ptr<kapi::devices::device>;
private:
/**
diff --git a/kernel/include/kernel/devices/storage/ram_disk/device.hpp b/kernel/include/kernel/devices/storage/ram_disk/device.hpp
index 0777e86..e17416e 100644
--- a/kernel/include/kernel/devices/storage/ram_disk/device.hpp
+++ b/kernel/include/kernel/devices/storage/ram_disk/device.hpp
@@ -23,6 +23,12 @@ namespace kernel::devices::storage::ram_disk
device(kapi::boot_modules::boot_module const & module, size_t major, size_t minor);
/**
+ * @brief Initialize the RAM disk device.
+ * @return true if module backing memory is valid, false otherwise.
+ */
+ auto init() -> bool override;
+
+ /**
* @brief Read one logical block into @p buffer.
* @param block_index Zero-based block index.
* @param buffer Destination buffer, must not be null.
diff --git a/kernel/include/kernel/filesystem/devfs/filesystem.hpp b/kernel/include/kernel/filesystem/devfs/filesystem.hpp
index 5ec6221..29ae388 100644
--- a/kernel/include/kernel/filesystem/devfs/filesystem.hpp
+++ b/kernel/include/kernel/filesystem/devfs/filesystem.hpp
@@ -1,7 +1,7 @@
#ifndef TEACH_OS_KERNEL_FILESYSTEM_DEVFS_FILESYSTEM_HPP
#define TEACH_OS_KERNEL_FILESYSTEM_DEVFS_FILESYSTEM_HPP
-#include "kernel/devices/device.hpp"
+#include "kapi/devices/device.hpp"
#include "kernel/filesystem/filesystem.hpp"
#include "kernel/filesystem/inode.hpp"
@@ -14,7 +14,7 @@ namespace kernel::filesystem::devfs
{
struct filesystem : kernel::filesystem::filesystem
{
- auto mount(kstd::shared_ptr<devices::device> const & device) -> int override;
+ auto mount(kstd::shared_ptr<kapi::devices::device> const & device) -> int override;
auto lookup(kstd::shared_ptr<kernel::filesystem::inode> const & parent, std::string_view name)
-> kstd::shared_ptr<kernel::filesystem::inode> override;
diff --git a/kernel/include/kernel/filesystem/device_inode.hpp b/kernel/include/kernel/filesystem/device_inode.hpp
index 7f044b0..18a98f5 100644
--- a/kernel/include/kernel/filesystem/device_inode.hpp
+++ b/kernel/include/kernel/filesystem/device_inode.hpp
@@ -1,7 +1,7 @@
#ifndef TEACH_OS_KERNEL_FILESYSTEM_DEVICE_INODE_HPP
#define TEACH_OS_KERNEL_FILESYSTEM_DEVICE_INODE_HPP
-#include "kernel/devices/device.hpp"
+#include "kapi/devices/device.hpp"
#include "kernel/filesystem/inode.hpp"
#include <kstd/memory>
@@ -12,15 +12,15 @@ namespace kernel::filesystem
{
struct device_inode : inode
{
- explicit device_inode(kstd::shared_ptr<devices::device> const & device);
+ explicit device_inode(kstd::shared_ptr<kapi::devices::device> const & device);
auto read(void * buffer, size_t offset, size_t size) const -> size_t override;
auto write(void const * buffer, size_t offset, size_t size) -> size_t override;
- [[nodiscard]] auto device() const -> kstd::shared_ptr<devices::device> const &;
+ [[nodiscard]] auto device() const -> kstd::shared_ptr<kapi::devices::device> const &;
private:
- kstd::shared_ptr<devices::device> m_device;
+ kstd::shared_ptr<kapi::devices::device> m_device;
};
} // namespace kernel::filesystem
diff --git a/kernel/include/kernel/filesystem/ext2/filesystem.hpp b/kernel/include/kernel/filesystem/ext2/filesystem.hpp
index 763cd1d..078da31 100644
--- a/kernel/include/kernel/filesystem/ext2/filesystem.hpp
+++ b/kernel/include/kernel/filesystem/ext2/filesystem.hpp
@@ -1,7 +1,7 @@
#ifndef TEACH_OS_KERNEL_FILESYSTEM_EXT2_FILESYSTEM_HPP
#define TEACH_OS_KERNEL_FILESYSTEM_EXT2_FILESYSTEM_HPP
-#include "kernel/devices/device.hpp"
+#include "kapi/devices/device.hpp"
#include "kernel/filesystem/filesystem.hpp"
#include "kernel/filesystem/inode.hpp"
@@ -13,7 +13,7 @@ namespace kernel::filesystem::ext2
{
struct filesystem : kernel::filesystem::filesystem
{
- auto mount(kstd::shared_ptr<devices::device> const & device) -> int override;
+ auto mount(kstd::shared_ptr<kapi::devices::device> const & device) -> int override;
auto lookup(kstd::shared_ptr<kernel::filesystem::inode> const & parent, std::string_view name)
-> kstd::shared_ptr<kernel::filesystem::inode> override;
};
diff --git a/kernel/include/kernel/filesystem/filesystem.hpp b/kernel/include/kernel/filesystem/filesystem.hpp
index c50a86c..1d86178 100644
--- a/kernel/include/kernel/filesystem/filesystem.hpp
+++ b/kernel/include/kernel/filesystem/filesystem.hpp
@@ -1,7 +1,7 @@
#ifndef TEACH_OS_KERNEL_FILESYSTEM_FILESYSTEM_HPP
#define TEACH_OS_KERNEL_FILESYSTEM_FILESYSTEM_HPP
-#include "kernel/devices/device.hpp"
+#include "kapi/devices/device.hpp"
#include "kernel/filesystem/inode.hpp"
#include <kstd/memory>
@@ -15,14 +15,14 @@ namespace kernel::filesystem
{
virtual ~filesystem() = default;
- virtual auto mount(kstd::shared_ptr<devices::device> const & device) -> int;
+ virtual auto mount(kstd::shared_ptr<kapi::devices::device> const & device) -> int;
virtual auto lookup(kstd::shared_ptr<inode> const & parent, std::string_view name) -> kstd::shared_ptr<inode> = 0;
[[nodiscard]] auto root_inode() const -> kstd::shared_ptr<inode> const &;
protected:
kstd::shared_ptr<inode> m_root_inode{};
- kstd::shared_ptr<devices::device> m_device{};
+ kstd::shared_ptr<kapi::devices::device> m_device{};
kstd::vector<kstd::shared_ptr<inode>> m_inodes{};
};
diff --git a/kernel/include/kernel/filesystem/rootfs/filesystem.hpp b/kernel/include/kernel/filesystem/rootfs/filesystem.hpp
index b1f33a9..5632d86 100644
--- a/kernel/include/kernel/filesystem/rootfs/filesystem.hpp
+++ b/kernel/include/kernel/filesystem/rootfs/filesystem.hpp
@@ -1,7 +1,7 @@
#ifndef TEACH_OS_KERNEL_FILESYSTEM_ROOTFS_FILESYSTEM_HPP
#define TEACH_OS_KERNEL_FILESYSTEM_ROOTFS_FILESYSTEM_HPP
-#include "kernel/devices/device.hpp"
+#include "kapi/devices/device.hpp"
#include "kernel/filesystem/filesystem.hpp"
#include "kernel/filesystem/inode.hpp"
@@ -15,7 +15,7 @@ namespace kernel::filesystem::rootfs
{
struct filesystem : kernel::filesystem::filesystem
{
- auto mount(kstd::shared_ptr<devices::device> const & device) -> int override;
+ auto mount(kstd::shared_ptr<kapi::devices::device> const & device) -> int override;
auto lookup(kstd::shared_ptr<kernel::filesystem::inode> const & parent, std::string_view name)
-> kstd::shared_ptr<kernel::filesystem::inode> override;
};
diff --git a/kernel/src/devices/block_device.cpp b/kernel/src/devices/block_device.cpp
index cfe2eb2..c006198 100644
--- a/kernel/src/devices/block_device.cpp
+++ b/kernel/src/devices/block_device.cpp
@@ -2,7 +2,7 @@
#include "kapi/system.hpp"
-#include "kernel/devices/device.hpp"
+#include "kapi/devices/device.hpp"
#include <kstd/string>
@@ -11,7 +11,7 @@
namespace kernel::devices
{
block_device::block_device(size_t major, size_t minor, kstd::string const & name, size_t block_size)
- : device(major, minor, name)
+ : kapi::devices::device(major, minor, name)
, m_block_size(block_size)
{
if (m_block_size == 0)
diff --git a/kernel/src/devices/block_device_utils.cpp b/kernel/src/devices/block_device_utils.cpp
index 5469087..6fe89fe 100644
--- a/kernel/src/devices/block_device_utils.cpp
+++ b/kernel/src/devices/block_device_utils.cpp
@@ -3,7 +3,7 @@
#include "kapi/system.hpp"
#include "kernel/devices/block_device.hpp"
-#include "kernel/devices/device.hpp"
+#include "kapi/devices/device.hpp"
#include <kstd/cstring>
#include <kstd/memory>
@@ -18,7 +18,7 @@ namespace kernel::devices::block_device_utils
using block_op = void (*)(size_t idx, size_t off, size_t len, size_t done, devices::block_device * device,
std::byte * scratch, void * buffer);
- auto process_blocks(kstd::shared_ptr<devices::device> const & device, size_t offset, size_t size, void * buffer,
+ auto process_blocks(kstd::shared_ptr<kapi::devices::device> const & device, size_t offset, size_t size, void * buffer,
block_op op) -> size_t
{
if (buffer == nullptr)
@@ -62,7 +62,7 @@ namespace kernel::devices::block_device_utils
return processed;
}
- auto read(kstd::shared_ptr<devices::device> const & device, void * buffer, size_t offset, size_t size) -> size_t
+ auto read(kstd::shared_ptr<kapi::devices::device> const & device, void * buffer, size_t offset, size_t size) -> size_t
{
return process_blocks(device, offset, size, buffer,
[](size_t idx, size_t off, size_t len, size_t done, devices::block_device * device,
@@ -80,7 +80,7 @@ namespace kernel::devices::block_device_utils
});
}
- auto write(kstd::shared_ptr<devices::device> const & device, void const * buffer, size_t offset, size_t size)
+ auto write(kstd::shared_ptr<kapi::devices::device> const & device, void const * buffer, size_t offset, size_t size)
-> size_t
{
return process_blocks(device, offset, size, const_cast<void *>(buffer),
diff --git a/kernel/src/devices/device.cpp b/kernel/src/devices/device.cpp
deleted file mode 100644
index 1e7589e..0000000
--- a/kernel/src/devices/device.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-#include "kernel/devices/device.hpp"
-
-#include <kstd/string>
-
-#include <cstddef>
-
-namespace kernel::devices
-{
- device::device(size_t major, size_t minor, kstd::string const & name)
- : m_major(major)
- , m_minor(minor)
- , m_name(name)
- {}
-
- auto device::major() const -> size_t
- {
- return m_major;
- }
-
- auto device::minor() const -> size_t
- {
- return m_minor;
- }
-
- auto device::name() const -> kstd::string const &
- {
- return m_name;
- }
-} // namespace kernel::devices \ No newline at end of file
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)
diff --git a/kernel/src/filesystem/devfs/filesystem.cpp b/kernel/src/filesystem/devfs/filesystem.cpp
index 94c9b05..9043ac5 100644
--- a/kernel/src/filesystem/devfs/filesystem.cpp
+++ b/kernel/src/filesystem/devfs/filesystem.cpp
@@ -1,6 +1,6 @@
#include "kernel/filesystem/devfs/filesystem.hpp"
-#include "kernel/devices/device.hpp"
+#include "kapi/devices/device.hpp"
#include "kernel/devices/storage/management.hpp"
#include "kernel/filesystem/devfs/inode.hpp"
#include "kernel/filesystem/device_inode.hpp"
@@ -13,7 +13,7 @@
namespace kernel::filesystem::devfs
{
- auto filesystem::mount(kstd::shared_ptr<devices::device> const &) -> int
+ auto filesystem::mount(kstd::shared_ptr<kapi::devices::device> const &) -> int
{
m_root_inode = kstd::make_shared<inode>();
build_device_inode_table();
diff --git a/kernel/src/filesystem/device_inode.cpp b/kernel/src/filesystem/device_inode.cpp
index d574d8f..af8cecc 100644
--- a/kernel/src/filesystem/device_inode.cpp
+++ b/kernel/src/filesystem/device_inode.cpp
@@ -3,7 +3,7 @@
#include "kapi/system.hpp"
#include "kernel/devices/block_device_utils.hpp"
-#include "kernel/devices/device.hpp"
+#include "kapi/devices/device.hpp"
#include "kernel/filesystem/inode.hpp"
#include <kstd/cstring>
@@ -14,7 +14,7 @@
namespace kernel::filesystem
{
- device_inode::device_inode(kstd::shared_ptr<devices::device> const & device)
+ device_inode::device_inode(kstd::shared_ptr<kapi::devices::device> const & device)
: inode(inode_kind::device)
, m_device(device)
{
@@ -48,7 +48,7 @@ namespace kernel::filesystem
}
}
- auto device_inode::device() const -> kstd::shared_ptr<devices::device> const &
+ auto device_inode::device() const -> kstd::shared_ptr<kapi::devices::device> const &
{
return m_device;
}
diff --git a/kernel/src/filesystem/ext2/filesystem.cpp b/kernel/src/filesystem/ext2/filesystem.cpp
index d951158..eb9edc4 100644
--- a/kernel/src/filesystem/ext2/filesystem.cpp
+++ b/kernel/src/filesystem/ext2/filesystem.cpp
@@ -1,7 +1,7 @@
#include "kernel/filesystem/ext2/filesystem.hpp"
#include "kernel/devices/block_device_utils.hpp"
-#include "kernel/devices/device.hpp"
+#include "kapi/devices/device.hpp"
#include "kernel/filesystem/ext2/inode.hpp"
#include "kernel/filesystem/ext2/superblock.hpp"
#include "kernel/filesystem/filesystem.hpp"
@@ -45,7 +45,7 @@ namespace kernel::filesystem::ext2
// }
} // namespace
- auto filesystem::mount(kstd::shared_ptr<devices::device> const & device) -> int
+ auto filesystem::mount(kstd::shared_ptr<kapi::devices::device> const & device) -> int
{
kernel::filesystem::filesystem::mount(device); // TODO BA-FS26 error handling?
// TODO BA-FS26 load proper root inode from ext2 metadata
diff --git a/kernel/src/filesystem/filesystem.cpp b/kernel/src/filesystem/filesystem.cpp
index c891d00..0ac9cf8 100644
--- a/kernel/src/filesystem/filesystem.cpp
+++ b/kernel/src/filesystem/filesystem.cpp
@@ -1,13 +1,13 @@
#include "kernel/filesystem/filesystem.hpp"
-#include "kernel/devices/device.hpp"
+#include "kapi/devices/device.hpp"
#include "kernel/filesystem/inode.hpp"
#include <kstd/memory>
namespace kernel::filesystem
{
- auto filesystem::mount(kstd::shared_ptr<devices::device> const & device) -> int
+ auto filesystem::mount(kstd::shared_ptr<kapi::devices::device> const & device) -> int
{
if (!device)
{
diff --git a/kernel/src/filesystem/rootfs/filesystem.cpp b/kernel/src/filesystem/rootfs/filesystem.cpp
index 0133612..37bf588 100644
--- a/kernel/src/filesystem/rootfs/filesystem.cpp
+++ b/kernel/src/filesystem/rootfs/filesystem.cpp
@@ -1,6 +1,6 @@
#include "kernel/filesystem/rootfs/filesystem.hpp"
-#include "kernel/devices/device.hpp"
+#include "kapi/devices/device.hpp"
#include "kernel/filesystem/inode.hpp"
#include "kernel/filesystem/rootfs/inode.hpp"
@@ -10,7 +10,7 @@
namespace kernel::filesystem::rootfs
{
- auto filesystem::mount(kstd::shared_ptr<devices::device> const &) -> int
+ auto filesystem::mount(kstd::shared_ptr<kapi::devices::device> const &) -> int
{
auto rfs_inode = kstd::make_shared<inode>();
rfs_inode->add_child("dev");