Skip to content

Commit 18d477f

Browse files
committed
adapts core2sc_adapter to use addr_t
1 parent 527098d commit 18d477f

1 file changed

Lines changed: 9 additions & 9 deletions

File tree

src/sysc/core2sc_adapter.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)