summaryrefslogtreecommitdiff
path: root/include/mercury/kernel/bd/memory.hpp
blob: 079abee86991be1230651ba15dda24b6af07501a (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
#ifndef MERCURY_KERNEL_BD_MEMORY_HPP
#define MERCURY_KERNEL_BD_MEMORY_HPP

#include <mercury/kernel/storage.hpp>

namespace mercury::kernel::bd {

  class memory : public storage::block_device {

  private:
    uint8_t *buffer;

  public:
    memory(void *buffer, size_t buffer_len);

    storage::io_result read_blocks_no_cache(uint64_t start, uint64_t count, void *into) override;
    storage::io_result write_blocks_no_cache(uint64_t start, uint64_t count, const void *from) override;

  };

}

#endif