diff options
author | Andrew Waterman <andrew@sifive.com> | 2023-02-05 16:02:30 -0800 |
---|---|---|
committer | Andrew Waterman <andrew@sifive.com> | 2023-02-05 16:02:30 -0800 |
commit | 456c9e19d811ddc5da99974a40ee79a6f535a597 (patch) | |
tree | 3bd813365ea097bdee34d25871f4e1bf6e76ac48 /riscv/devices.h | |
parent | e85f86695092f1377a515c94de5c706bcff1f2bd (diff) | |
download | spike-plic-clint-endian.zip spike-plic-clint-endian.tar.gz spike-plic-clint-endian.tar.bz2 |
Make clint tolerant of discontiguous hart IDsplic-clint-endian
Diffstat (limited to 'riscv/devices.h')
-rw-r--r-- | riscv/devices.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/riscv/devices.h b/riscv/devices.h index 6facaa3..eaa2f7a 100644 --- a/riscv/devices.h +++ b/riscv/devices.h @@ -57,7 +57,7 @@ class mem_t : public abstract_device_t { class clint_t : public abstract_device_t { public: - clint_t(std::vector<processor_t*>&, uint64_t freq_hz, bool real_time); + clint_t(sim_t* sim, uint64_t freq_hz, bool real_time); bool load(reg_t addr, size_t len, uint8_t* bytes); bool store(reg_t addr, size_t len, const uint8_t* bytes); size_t size() { return CLINT_SIZE; } @@ -68,13 +68,13 @@ class clint_t : public abstract_device_t { typedef uint64_t mtime_t; typedef uint64_t mtimecmp_t; typedef uint32_t msip_t; - std::vector<processor_t*>& procs; + sim_t* sim; uint64_t freq_hz; bool real_time; uint64_t real_time_ref_secs; uint64_t real_time_ref_usecs; mtime_t mtime; - std::vector<mtimecmp_t> mtimecmp; + std::map<size_t, mtimecmp_t> mtimecmp; }; #define PLIC_MAX_DEVICES 1024 |