summaryrefslogtreecommitdiff
path: root/kernel/storage/bd/memory.cpp
blob: 2f82099a53103ab965fae4007dea4b3566054375 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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;
  }

}