27 lines
759 B
C++
27 lines
759 B
C++
#include <mercury/kernel/bd/memory.hpp>
|
|
|
|
namespace mercury::kernel::bd {
|
|
|
|
memory::memory(void *buffer, size_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.
|
|
}
|
|
|
|
storage::io_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 storage::io_result::success;
|
|
}
|
|
|
|
storage::io_result memory::write_blocks_no_cache(
|
|
uint64_t start, uint64_t count, const void *into
|
|
) {
|
|
for (uint64_t i = 0; i < count; ++i)
|
|
buffer[start + i] = ((uint8_t *)into)[i];
|
|
return storage::io_result::success;
|
|
}
|
|
|
|
}
|