@@ -147,18 +147,18 @@ template <typename PLAT> class core2sc_adapter : public PLAT, public sc2core_if
147147 .wr_mem {util::delegate<iss::mem::wr_mem_func_sig>::from<this_class, &this_class::write_mem>(this )}};
148148 }
149149
150- iss::status read_mem (iss::access_type access, uint32_t space, uint64_t addr, unsigned length, uint8_t * data) {
151- if (access && iss::access_type::DEBUG )
152- return owner->read_mem_dbg (addr, length, data) ? iss::Ok : iss::Err;
150+ iss::status read_mem (const iss::addr_t & addr, unsigned length, uint8_t * data) {
151+ if (iss::is_debug (addr. access ) )
152+ return owner->read_mem_dbg (addr. val , length, data) ? iss::Ok : iss::Err;
153153 else {
154- return owner->read_mem (addr, length, data, is_fetch (access)) ? iss::Ok : iss::Err;
154+ return owner->read_mem (addr. val , length, data, is_fetch (addr. access )) ? iss::Ok : iss::Err;
155155 }
156156 }
157157
158- iss::status write_mem (iss::access_type access, uint32_t space, uint64_t addr , unsigned length, uint8_t const * data) {
159- if (access && iss::access_type::DEBUG )
160- return owner->write_mem_dbg (addr, length, data) ? iss::Ok : iss::Err;
161- if (addr == this ->tohost ) {
158+ iss::status write_mem (const iss::addr_t & addr_ , unsigned length, uint8_t const * data) {
159+ if (iss::is_debug (addr. access ) )
160+ return owner->write_mem_dbg (addr. val , length, data) ? iss::Ok : iss::Err;
161+ if (addr. val == this ->tohost ) {
162162 reg_t cur_data = *reinterpret_cast <const reg_t *>(data);
163163 // Extract Device (bits 63:56)
164164 uint8_t device = sizeof (reg_t ) == 4 ? 0 : (cur_data >> 56 ) & 0xFF ;
@@ -201,7 +201,7 @@ template <typename PLAT> class core2sc_adapter : public PLAT, public sc2core_if
201201 this ->interrupt_sim = payload_addr;
202202 return iss::Ok;
203203 }
204- auto res = owner->write_mem (addr, length, data) ? iss::Ok : iss::Err;
204+ auto res = owner->write_mem (addr. val , length, data) ? iss::Ok : iss::Err;
205205 return res;
206206 }
207207
0 commit comments