diff options
author | Andrew Waterman <waterman@cs.berkeley.edu> | 2016-04-28 15:01:09 -0700 |
---|---|---|
committer | Andrew Waterman <waterman@cs.berkeley.edu> | 2016-04-28 15:17:06 -0700 |
commit | a9c5b05eca6a46a0c8722b26b741fc7f1de22405 (patch) | |
tree | c5393d107dfa9fcee0b9d9b9cc14fca0900f1924 /riscv/rom.cc | |
parent | 27e29e69cc586a7d97e2ccae2447faa79b66f7b8 (diff) | |
download | spike-a9c5b05eca6a46a0c8722b26b741fc7f1de22405.zip spike-a9c5b05eca6a46a0c8722b26b741fc7f1de22405.tar.gz spike-a9c5b05eca6a46a0c8722b26b741fc7f1de22405.tar.bz2 |
Remove MTIME[CMP]; add RTC device
Diffstat (limited to 'riscv/rom.cc')
-rw-r--r-- | riscv/rom.cc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/riscv/rom.cc b/riscv/rom.cc new file mode 100644 index 0000000..b852862 --- /dev/null +++ b/riscv/rom.cc @@ -0,0 +1,19 @@ +#include "devices.h" + +rom_device_t::rom_device_t(std::vector<char> data) + : data(data) +{ +} + +bool rom_device_t::load(reg_t addr, size_t len, uint8_t* bytes) +{ + if (addr + len > data.size()) + return false; + memcpy(bytes, &data[addr], len); + return true; +} + +bool rom_device_t::store(reg_t addr, size_t len, const uint8_t* bytes) +{ + return false; +} |