Browse Source
Merge pull request #1990 from mslijepc/mslijepc_20250514_external-sim-ptr
changing type of external_simulator member of external_sim_device_t
pull/1995/head
Mladen Slijepcevic
1 year ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with
7 additions and
7 deletions
-
riscv/devices.cc
-
riscv/devices.h
|
|
|
@ -156,21 +156,21 @@ void mem_t::dump(std::ostream& o) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
external_sim_device_t::external_sim_device_t(void* sim) |
|
|
|
external_sim_device_t::external_sim_device_t(abstract_sim_if_t* sim) |
|
|
|
: external_simulator(sim) {} |
|
|
|
|
|
|
|
void external_sim_device_t::set_simulator(void* sim) { |
|
|
|
void external_sim_device_t::set_simulator(abstract_sim_if_t* sim) { |
|
|
|
external_simulator = sim; |
|
|
|
} |
|
|
|
|
|
|
|
bool external_sim_device_t::load(reg_t addr, size_t len, uint8_t* bytes) { |
|
|
|
if (unlikely(external_simulator == nullptr)) return false; |
|
|
|
return static_cast<abstract_sim_if_t*>(external_simulator)->load(addr, len, bytes); |
|
|
|
return external_simulator->load(addr, len, bytes); |
|
|
|
} |
|
|
|
|
|
|
|
bool external_sim_device_t::store(reg_t addr, size_t len, const uint8_t* bytes) { |
|
|
|
if (unlikely(external_simulator == nullptr)) return false; |
|
|
|
return static_cast<abstract_sim_if_t*>(external_simulator)->store(addr, len, bytes); |
|
|
|
return external_simulator->store(addr, len, bytes); |
|
|
|
} |
|
|
|
|
|
|
|
reg_t external_sim_device_t::size() { |
|
|
|
|
|
|
|
@ -80,14 +80,14 @@ public: |
|
|
|
|
|
|
|
class external_sim_device_t : public abstract_device_t { |
|
|
|
public: |
|
|
|
external_sim_device_t(void* sim); |
|
|
|
void set_simulator(void* sim); |
|
|
|
external_sim_device_t(abstract_sim_if_t* sim); |
|
|
|
void set_simulator(abstract_sim_if_t* sim); |
|
|
|
bool load(reg_t addr, size_t len, uint8_t* bytes) override; |
|
|
|
bool store(reg_t addr, size_t len, const uint8_t* bytes) override; |
|
|
|
reg_t size() override; |
|
|
|
|
|
|
|
private: |
|
|
|
void* external_simulator; |
|
|
|
abstract_sim_if_t* external_simulator; |
|
|
|
}; |
|
|
|
|
|
|
|
class clint_t : public abstract_device_t { |
|
|
|
|