diff options
author | Benji Dial <benji@benjidial.net> | 2024-01-12 20:39:21 -0500 |
---|---|---|
committer | Benji Dial <benji@benjidial.net> | 2024-01-12 20:39:21 -0500 |
commit | 882e74b2191c059a9226cbd8bcb51c97da36247c (patch) | |
tree | 3ecc05882a9097a85749902130849be65911e684 /kernel/storage/bd/memory.cpp | |
parent | c4ab2f6f440f060b1686991b24379a4998aa55a9 (diff) | |
download | hilbert-os-882e74b2191c059a9226cbd8bcb51c97da36247c.tar.gz |
rewrite file system layer
Diffstat (limited to 'kernel/storage/bd/memory.cpp')
-rw-r--r-- | kernel/storage/bd/memory.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/kernel/storage/bd/memory.cpp b/kernel/storage/bd/memory.cpp new file mode 100644 index 0000000..2f82099 --- /dev/null +++ b/kernel/storage/bd/memory.cpp @@ -0,0 +1,21 @@ +#include <mercury/kernel/storage/bd/memory.hpp> + +namespace mercury::kernel::storage::bd { + + memory::memory(void *buffer, uint64_t buffer_len) + : buffer((uint8_t *)buffer) + { + block_size = 1; + block_count = buffer_len; + //block cache will never be used, since the block size is 1. + } + + bd_result memory::read_blocks_no_cache( + uint64_t start, uint64_t count, void *into + ) { + for (uint64_t i = 0; i < count; ++i) + ((uint8_t *)into)[i] = buffer[start + i]; + return bd_result::success; + } + +} |