From 165306f7e51776136bf4a9aa811e8f98e29ad94e Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Tue, 15 Mar 2022 20:54:07 -0700 Subject: Allow sstatus_proxy_csr_t::read() to be inlined --- riscv/csrs.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'riscv/csrs.h') 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: -- cgit v1.1