Compare commits
1 Commits
ac86f14a54
...
b8fa5fbbda
Author | SHA1 | Date | |
---|---|---|---|
b8fa5fbbda |
@ -169,7 +169,6 @@ struct ${coreDef.name.toLowerCase()}: public arch_if {
|
||||
}}%>
|
||||
uint32_t trap_state = 0, pending_trap = 0;
|
||||
uint64_t icount = 0;
|
||||
uint64_t cycle = 0;
|
||||
uint64_t instret = 0;
|
||||
uint32_t last_branch;
|
||||
} reg;
|
||||
|
@ -237,6 +237,10 @@ protected:
|
||||
|
||||
uint64_t get_next_pc() override { return arch.get_next_pc(); };
|
||||
|
||||
uint64_t get_instr_count() { return arch.reg.icount; }
|
||||
|
||||
uint64_t get_total_cycles() override { return arch.reg.icount + arch.cycle_offset; }
|
||||
|
||||
void set_curr_instr_cycles(unsigned cycles) override { arch.cycle_offset += cycles - 1; };
|
||||
|
||||
riscv_hart_m_p<BASE, FEAT> &arch;
|
||||
|
@ -340,6 +340,10 @@ protected:
|
||||
|
||||
virtual uint64_t get_next_pc() { return arch.get_next_pc(); };
|
||||
|
||||
uint64_t get_instr_count() { return arch.reg.icount; }
|
||||
|
||||
uint64_t get_total_cycles() override { return arch.reg.icount + arch.cycle_offset; }
|
||||
|
||||
virtual void set_curr_instr_cycles(unsigned cycles) { arch.cycle_offset += cycles - 1; };
|
||||
|
||||
riscv_hart_msu_vp<BASE> &arch;
|
||||
|
@ -252,6 +252,10 @@ protected:
|
||||
|
||||
virtual uint64_t get_next_pc() { return arch.get_next_pc(); };
|
||||
|
||||
uint64_t get_instr_count() { return arch.reg.icount; }
|
||||
|
||||
uint64_t get_total_cycles() override { return arch.reg.icount + arch.cycle_offset; }
|
||||
|
||||
virtual void set_curr_instr_cycles(unsigned cycles) { arch.cycle_offset += cycles - 1; };
|
||||
|
||||
riscv_hart_mu_p<BASE, FEAT> &arch;
|
||||
|
Reference in New Issue
Block a user