#include 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; } }