blob: 1015e40bfdf9eed7d035f91e67ec96a5e0834f47 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#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;
}
}
|