diff options
author | Scott Johnson <scott.johnson@arilinc.com> | 2021-09-07 11:52:21 -0700 |
---|---|---|
committer | Andrew Waterman <aswaterman@gmail.com> | 2021-09-08 07:59:02 -0700 |
commit | 83502ad4afd3e3387aed4c45b290d00fd2fbc2ee (patch) | |
tree | 142da7c45028301961e8cfc8cb4a01cfe95aab9a /riscv/csrs.h | |
parent | 629b1e6ff3fbfc2a3be25c4686bfac92f78d2bb0 (diff) | |
download | spike-83502ad4afd3e3387aed4c45b290d00fd2fbc2ee.zip spike-83502ad4afd3e3387aed4c45b290d00fd2fbc2ee.tar.gz spike-83502ad4afd3e3387aed4c45b290d00fd2fbc2ee.tar.bz2 |
Remove class logged_csr_t
Diffstat (limited to 'riscv/csrs.h')
-rw-r--r-- | riscv/csrs.h | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/riscv/csrs.h b/riscv/csrs.h index 87f00f6..e143c66 100644 --- a/riscv/csrs.h +++ b/riscv/csrs.h @@ -50,15 +50,8 @@ class csr_t { typedef std::shared_ptr<csr_t> csr_t_p; -// Parent class that records log of every write to itself -class logged_csr_t: public csr_t { - public: - logged_csr_t(processor_t* const proc, const reg_t addr); -}; - - // Basic CSRs, with XLEN bits fully readable and writable. -class basic_csr_t: public logged_csr_t { +class basic_csr_t: public csr_t { public: basic_csr_t(processor_t* const proc, const reg_t addr, const reg_t init); virtual reg_t read() const noexcept override; @@ -69,7 +62,7 @@ class basic_csr_t: public logged_csr_t { }; -class pmpaddr_csr_t: public logged_csr_t { +class pmpaddr_csr_t: public csr_t { public: pmpaddr_csr_t(processor_t* const proc, const reg_t addr); virtual void verify_permissions(insn_t insn, bool write) const override; @@ -109,7 +102,7 @@ class pmpaddr_csr_t: public logged_csr_t { typedef std::shared_ptr<pmpaddr_csr_t> pmpaddr_csr_t_p; -class pmpcfg_csr_t: public logged_csr_t { +class pmpcfg_csr_t: public csr_t { public: pmpcfg_csr_t(processor_t* const proc, const reg_t addr); virtual reg_t read() const noexcept override; @@ -126,7 +119,7 @@ class pmpcfg_csr_t: public logged_csr_t { // The csrmap will contain a virtualized_csr_t under sscratch's // address, plus the vsscratch basic_csr_t under its address. -class virtualized_csr_t: public logged_csr_t { +class virtualized_csr_t: public csr_t { public: virtualized_csr_t(processor_t* const proc, csr_t_p orig, csr_t_p virt); @@ -142,7 +135,7 @@ class virtualized_csr_t: public logged_csr_t { typedef std::shared_ptr<virtualized_csr_t> virtualized_csr_t_p; // For mepc, sepc, and vsepc -class epc_csr_t: public logged_csr_t { +class epc_csr_t: public csr_t { public: epc_csr_t(processor_t* const proc, const reg_t addr); @@ -155,7 +148,7 @@ class epc_csr_t: public logged_csr_t { // For mtvec, stvec, and vstvec -class tvec_csr_t: public logged_csr_t { +class tvec_csr_t: public csr_t { public: tvec_csr_t(processor_t* const proc, const reg_t addr); @@ -177,7 +170,7 @@ class cause_csr_t: public basic_csr_t { // For *status family of CSRs -class base_status_csr_t: public logged_csr_t { +class base_status_csr_t: public csr_t { public: base_status_csr_t(processor_t* const proc, const reg_t addr); protected: @@ -258,7 +251,7 @@ class misa_csr_t: public basic_csr_t { typedef std::shared_ptr<misa_csr_t> misa_csr_t_p; -class mip_or_mie_csr_t: public logged_csr_t { +class mip_or_mie_csr_t: public csr_t { public: mip_or_mie_csr_t(processor_t* const proc, const reg_t addr); virtual reg_t read() const noexcept override final; @@ -329,7 +322,7 @@ typedef std::shared_ptr<generic_int_accessor_t> generic_int_accessor_t_p; // For all CSRs that are simply (masked & shifted) views into mip -class mip_proxy_csr_t: public logged_csr_t { +class mip_proxy_csr_t: public csr_t { public: mip_proxy_csr_t(processor_t* const proc, const reg_t addr, generic_int_accessor_t_p accr); virtual reg_t read() const noexcept override; @@ -340,7 +333,7 @@ class mip_proxy_csr_t: public logged_csr_t { }; // For all CSRs that are simply (masked & shifted) views into mie -class mie_proxy_csr_t: public logged_csr_t { +class mie_proxy_csr_t: public csr_t { public: mie_proxy_csr_t(processor_t* const proc, const reg_t addr, generic_int_accessor_t_p accr); virtual reg_t read() const noexcept override; |