diff options
author | Andrew Waterman <andrew@sifive.com> | 2022-03-15 20:56:20 -0700 |
---|---|---|
committer | Andrew Waterman <andrew@sifive.com> | 2022-03-15 20:56:20 -0700 |
commit | cb4bea96ddb175fb6b338db7c3e8ef17cb228025 (patch) | |
tree | 062dedb9f33bfade8662b4c223abfe431cbbf00a /riscv | |
parent | 0207326eb79d93844ad68b45fde81386d96a43f7 (diff) | |
download | spike-cb4bea96ddb175fb6b338db7c3e8ef17cb228025.zip spike-cb4bea96ddb175fb6b338db7c3e8ef17cb228025.tar.gz spike-cb4bea96ddb175fb6b338db7c3e8ef17cb228025.tar.bz2 |
Give concrete types to fields of sstatus_proxy_csr_t
Doing so allows calls to their members to be inlined.
Diffstat (limited to 'riscv')
-rw-r--r-- | riscv/csrs.cc | 2 | ||||
-rw-r--r-- | riscv/csrs.h | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/riscv/csrs.cc b/riscv/csrs.cc index f511b54..761a198 100644 --- a/riscv/csrs.cc +++ b/riscv/csrs.cc @@ -389,7 +389,7 @@ bool vsstatus_csr_t::unlogged_write(const reg_t val) noexcept { // implement class sstatus_proxy_csr_t -sstatus_proxy_csr_t::sstatus_proxy_csr_t(processor_t* const proc, const reg_t addr, csr_t_p mstatus): +sstatus_proxy_csr_t::sstatus_proxy_csr_t(processor_t* const proc, const reg_t addr, mstatus_csr_t_p mstatus): base_status_csr_t(proc, addr), mstatus(mstatus) { } diff --git a/riscv/csrs.h b/riscv/csrs.h index 1bbd8c6..c0f5771 100644 --- a/riscv/csrs.h +++ b/riscv/csrs.h @@ -251,7 +251,7 @@ class mstatush_csr_t: public csr_t { class sstatus_proxy_csr_t final: public base_status_csr_t { public: - sstatus_proxy_csr_t(processor_t* const proc, const reg_t addr, csr_t_p mstatus); + sstatus_proxy_csr_t(processor_t* const proc, const reg_t addr, mstatus_csr_t_p mstatus); reg_t read() const noexcept override { return mstatus->read() & sstatus_read_mask; @@ -260,7 +260,7 @@ class sstatus_proxy_csr_t final: public base_status_csr_t { protected: virtual bool unlogged_write(const reg_t val) noexcept override; private: - csr_t_p mstatus; + mstatus_csr_t_p mstatus; }; typedef std::shared_ptr<sstatus_proxy_csr_t> sstatus_proxy_csr_t_p; |