diff --git a/src/iss/arch/riscv_hart_m_p.h b/src/iss/arch/riscv_hart_m_p.h
index 70fd958..6ff1a82 100644
--- a/src/iss/arch/riscv_hart_m_p.h
+++ b/src/iss/arch/riscv_hart_m_p.h
@@ -278,7 +278,7 @@ public:
void disass_output(uint64_t pc, const std::string instr) override {
NSCLOG(INFO, LOGCAT) << fmt::format("0x{:016x} {:40} [s:0x{:x};c:{}]", pc, instr, (reg_t)state.mstatus,
- this->reg.icount + cycle_offset);
+ this->reg.cycle + cycle_offset);
};
iss::instrumentation_if* get_instrumentation_if() override { return &instr_if; }
@@ -311,7 +311,7 @@ protected:
uint64_t get_pendig_traps() override { return arch.reg.trap_state; }
- uint64_t get_total_cycles() override { return arch.reg.icount + arch.cycle_offset; }
+ uint64_t get_total_cycles() override { return arch.reg.cycle + arch.cycle_offset; }
void update_last_instr_cycles(unsigned cycles) override { arch.cycle_offset += cycles - 1; }
@@ -908,7 +908,7 @@ iss::status riscv_hart_m_p::write_plain(unsigned addr, reg_t
template
iss::status riscv_hart_m_p::read_cycle(unsigned addr, reg_t& val) {
- auto cycle_val = this->reg.icount + cycle_offset;
+ auto cycle_val = this->reg.cycle + cycle_offset;
if(addr == mcycle) {
val = static_cast(cycle_val);
} else if(addr == mcycleh) {
@@ -928,7 +928,7 @@ iss::status riscv_hart_m_p::write_cycle(unsigned addr, reg_t
mcycle_csr = (static_cast(val) << 32) + (mcycle_csr & 0xffffffff);
}
}
- cycle_offset = mcycle_csr - this->reg.icount; // TODO: relying on wrap-around
+ cycle_offset = mcycle_csr - this->reg.cycle; // TODO: relying on wrap-around
return iss::Ok;
}
@@ -959,7 +959,7 @@ iss::status riscv_hart_m_p::write_instret(unsigned addr, reg
template
iss::status riscv_hart_m_p::read_time(unsigned addr, reg_t& val) {
- uint64_t time_val = this->reg.icount / (100000000 / 32768 - 1); //-> ~3052;
+ uint64_t time_val = this->reg.cycle / (100000000 / 32768 - 1); //-> ~3052;
if(addr == time) {
val = static_cast(time_val);
} else if(addr == timeh) {
diff --git a/src/iss/arch/riscv_hart_msu_vp.h b/src/iss/arch/riscv_hart_msu_vp.h
index 233560f..b886e2b 100644
--- a/src/iss/arch/riscv_hart_msu_vp.h
+++ b/src/iss/arch/riscv_hart_msu_vp.h
@@ -328,7 +328,7 @@ public:
void disass_output(uint64_t pc, const std::string instr) override {
CLOG(INFO, disass) << fmt::format("0x{:016x} {:40} [p:{};s:0x{:x};c:{}]", pc, instr, lvl[this->reg.PRIV], (reg_t)state.mstatus,
- this->reg.icount + cycle_offset);
+ this->reg.cycle + cycle_offset);
};
iss::instrumentation_if* get_instrumentation_if() override { return &instr_if; }
@@ -361,7 +361,7 @@ protected:
uint64_t get_pendig_traps() override { return arch.reg.trap_state; }
- uint64_t get_total_cycles() override { return arch.reg.icount + arch.cycle_offset; }
+ uint64_t get_total_cycles() override { return arch.reg.cycle + arch.cycle_offset; }
void update_last_instr_cycles(unsigned cycles) override { arch.cycle_offset += cycles - 1; }
@@ -895,7 +895,7 @@ template iss::status riscv_hart_msu_vp::write_reg(unsigned
}
template iss::status riscv_hart_msu_vp::read_cycle(unsigned addr, reg_t& val) {
- auto cycle_val = this->reg.icount + cycle_offset;
+ auto cycle_val = this->reg.cycle + cycle_offset;
if(addr == mcycle) {
val = static_cast(cycle_val);
} else if(addr == mcycleh) {
@@ -916,7 +916,7 @@ template iss::status riscv_hart_msu_vp::write_cycle(unsign
mcycle_csr = (static_cast(val) << 32) + (mcycle_csr & 0xffffffff);
}
}
- cycle_offset = mcycle_csr - this->reg.icount; // TODO: relying on wrap-around
+ cycle_offset = mcycle_csr - this->reg.cycle; // TODO: relying on wrap-around
return iss::Ok;
}
@@ -944,7 +944,7 @@ template iss::status riscv_hart_msu_vp::write_instret(unsi
}
template iss::status riscv_hart_msu_vp::read_time(unsigned addr, reg_t& val) {
- uint64_t time_val = this->reg.icount / (100000000 / 32768 - 1); //-> ~3052;
+ uint64_t time_val = this->reg.cycle / (100000000 / 32768 - 1); //-> ~3052;
if(addr == time) {
val = static_cast(time_val);
} else if(addr == timeh) {
diff --git a/src/iss/arch/riscv_hart_mu_p.h b/src/iss/arch/riscv_hart_mu_p.h
index 617814d..974e1b4 100644
--- a/src/iss/arch/riscv_hart_mu_p.h
+++ b/src/iss/arch/riscv_hart_mu_p.h
@@ -305,7 +305,7 @@ public:
void disass_output(uint64_t pc, const std::string instr) override {
NSCLOG(INFO, LOGCAT) << fmt::format("0x{:016x} {:40} [p:{};s:0x{:x};c:{}]", pc, instr, lvl[this->reg.PRIV], (reg_t)state.mstatus,
- this->reg.icount + cycle_offset);
+ this->reg.cycle + cycle_offset);
};
iss::instrumentation_if* get_instrumentation_if() override { return &instr_if; }
@@ -338,7 +338,7 @@ protected:
uint64_t get_pendig_traps() override { return arch.reg.trap_state; }
- uint64_t get_total_cycles() override { return arch.reg.icount + arch.cycle_offset; }
+ uint64_t get_total_cycles() override { return arch.reg.cycle + arch.cycle_offset; }
void update_last_instr_cycles(unsigned cycles) override { arch.cycle_offset += cycles - 1; }
@@ -1105,7 +1105,7 @@ iss::status riscv_hart_mu_p::write_plain(unsigned addr, reg_
template
iss::status riscv_hart_mu_p::read_cycle(unsigned addr, reg_t& val) {
- auto cycle_val = this->reg.icount + cycle_offset;
+ auto cycle_val = this->reg.cycle + cycle_offset;
if(addr == mcycle) {
val = static_cast(cycle_val);
} else if(addr == mcycleh) {
@@ -1125,7 +1125,7 @@ iss::status riscv_hart_mu_p::write_cycle(unsigned addr, reg_
mcycle_csr = (static_cast(val) << 32) + (mcycle_csr & 0xffffffff);
}
}
- cycle_offset = mcycle_csr - this->reg.icount; // TODO: relying on wrap-around
+ cycle_offset = mcycle_csr - this->reg.cycle; // TODO: relying on wrap-around
return iss::Ok;
}
@@ -1156,7 +1156,7 @@ iss::status riscv_hart_mu_p::write_instret(unsigned addr, re
template
iss::status riscv_hart_mu_p::read_time(unsigned addr, reg_t& val) {
- uint64_t time_val = this->reg.icount / (100000000 / 32768 - 1); //-> ~3052;
+ uint64_t time_val = this->reg.cycle / (100000000 / 32768 - 1); //-> ~3052;
if(addr == time) {
val = static_cast(time_val);
} else if(addr == timeh) {