diff options
Diffstat (limited to 'kernel/src/test_support/devices/block_device.cpp')
| -rw-r--r-- | kernel/src/test_support/devices/block_device.cpp | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/kernel/src/test_support/devices/block_device.cpp b/kernel/src/test_support/devices/block_device.cpp deleted file mode 100644 index 9a9e544d..00000000 --- a/kernel/src/test_support/devices/block_device.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include <kernel/test_support/devices/block_device.hpp> - -#include <kernel/devices/block_device.hpp> - -#include <kstd/string> -#include <kstd/vector> - -#include <algorithm> -#include <cstddef> -#include <cstdint> -#include <cstring> -#include <string.h> - -namespace kernel::tests::devices -{ - block_device::block_device(size_t major, size_t minor, kstd::string const & name, size_t block_size, - size_t initial_size) - : kernel::devices::block_device(major, minor, name, block_size) - { - data.resize(initial_size, 0); - } - - auto block_device::init() -> bool - { - return true; - } - - auto block_device::read_block(size_t block_index, void * buffer) const -> void - { - auto const offset = block_index * block_size(); - if (offset >= data.size()) - { - kstd::libc::memset(buffer, 0, block_size()); - return; - } - - auto const bytes_to_read = std::min(block_size(), data.size() - offset); - kstd::libc::memcpy(buffer, data.data() + offset, bytes_to_read); - if (bytes_to_read < block_size()) - { - kstd::libc::memset(static_cast<uint8_t *>(buffer) + bytes_to_read, 0, block_size() - bytes_to_read); - } - } - - auto block_device::write_block(size_t block_index, void const * buffer) -> void - { - auto const offset = block_index * block_size(); - auto const write_end = offset + block_size(); - if (write_end > data.size()) - { - data.resize(write_end, 0); - } - - kstd::libc::memcpy(data.data() + offset, static_cast<uint8_t const *>(buffer), block_size()); - } - - auto block_device::size() const -> size_t - { - return data.size(); - } -} // namespace kernel::tests::devices
\ No newline at end of file |
