diff options
author | Andrew Waterman <andrew@sifive.com> | 2022-03-15 20:54:07 -0700 |
---|---|---|
committer | Andrew Waterman <andrew@sifive.com> | 2022-03-15 20:55:00 -0700 |
commit | 165306f7e51776136bf4a9aa811e8f98e29ad94e (patch) | |
tree | b0529e647cb54433b30e81d630129eedc0991013 /riscv/csrs.h | |
parent | c7745501d92df74171abb0718711581379693e5e (diff) | |
download | spike-165306f7e51776136bf4a9aa811e8f98e29ad94e.zip spike-165306f7e51776136bf4a9aa811e8f98e29ad94e.tar.gz spike-165306f7e51776136bf4a9aa811e8f98e29ad94e.tar.bz2 |
Allow sstatus_proxy_csr_t::read() to be inlined
Diffstat (limited to 'riscv/csrs.h')
-rw-r--r-- | riscv/csrs.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/riscv/csrs.h b/riscv/csrs.h index 350225d..b9dc29f 100644 --- a/riscv/csrs.h +++ b/riscv/csrs.h @@ -249,10 +249,14 @@ class mstatush_csr_t: public csr_t { }; -class sstatus_proxy_csr_t: public base_status_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); - virtual reg_t read() const noexcept override; + + reg_t read() const noexcept override { + return mstatus->read() & sstatus_read_mask; + } + protected: virtual bool unlogged_write(const reg_t val) noexcept override; private: |