aboutsummaryrefslogtreecommitdiff
path: root/riscv/csrs.h
diff options
context:
space:
mode:
authorWeiwei Li <liweiwei@iscas.ac.cn>2022-07-04 21:31:09 +0800
committerWeiwei Li <liweiwei@iscas.ac.cn>2022-08-09 15:45:15 +0800
commitba10686fd18f3fbb036ca04b906deb57e7d1fe54 (patch)
treea3d7fb6ac1c8b2d531203cfb8402b02e1d9ed767 /riscv/csrs.h
parent5672c4a41ad7a9af011d385962c175a5a6012fd9 (diff)
downloadspike-ba10686fd18f3fbb036ca04b906deb57e7d1fe54.zip
spike-ba10686fd18f3fbb036ca04b906deb57e7d1fe54.tar.gz
spike-ba10686fd18f3fbb036ca04b906deb57e7d1fe54.tar.bz2
add support for sscofpmf extension v0.5.2
since spike doesn't truly support counting of hardware performance events, only csr related read/write functions is supported currently
Diffstat (limited to 'riscv/csrs.h')
-rw-r--r--riscv/csrs.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/riscv/csrs.h b/riscv/csrs.h
index acd889c..5503255 100644
--- a/riscv/csrs.h
+++ b/riscv/csrs.h
@@ -744,4 +744,13 @@ class virtualized_stimecmp_csr_t: public virtualized_csr_t {
virtualized_stimecmp_csr_t(processor_t* const proc, csr_t_p orig, csr_t_p virt);
virtual void verify_permissions(insn_t insn, bool write) const override;
};
+
+class scountovf_csr_t: public csr_t {
+ public:
+ scountovf_csr_t(processor_t* const proc, const reg_t addr);
+ virtual void verify_permissions(insn_t insn, bool write) const override;
+ virtual reg_t read() const noexcept override;
+ protected:
+ virtual bool unlogged_write(const reg_t val) noexcept override;
+};
#endif