diff options
author | Scott Johnson <scott.johnson@arilinc.com> | 2021-09-24 22:02:14 -0700 |
---|---|---|
committer | Scott Johnson <scott.johnson@arilinc.com> | 2021-09-27 18:00:28 -0700 |
commit | 2b26a3cdf1cf391893a0a1a31815ac59d96ff05c (patch) | |
tree | 72bb3f45134ad2dce2c3135e9fa731fcdac6e8d7 /riscv/csrs.h | |
parent | ede97384f6f760a1a2c8b15f329e3e7c574a0301 (diff) | |
download | spike-2b26a3cdf1cf391893a0a1a31815ac59d96ff05c.zip spike-2b26a3cdf1cf391893a0a1a31815ac59d96ff05c.tar.gz spike-2b26a3cdf1cf391893a0a1a31815ac59d96ff05c.tar.bz2 |
Convert frm & fflags to csr_t
Adds proper logging of fflags on FP arithmetic ops.
Diffstat (limited to 'riscv/csrs.h')
-rw-r--r-- | riscv/csrs.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/riscv/csrs.h b/riscv/csrs.h index fd20782..cf726a2 100644 --- a/riscv/csrs.h +++ b/riscv/csrs.h @@ -577,4 +577,13 @@ class dcsr_csr_t: public csr_t { typedef std::shared_ptr<dcsr_csr_t> dcsr_csr_t_p; + +class float_csr_t: public masked_csr_t { + public: + float_csr_t(processor_t* const proc, const reg_t addr, const reg_t mask, const reg_t init); + virtual void verify_permissions(insn_t insn, bool write) const override; + protected: + virtual bool unlogged_write(const reg_t val) noexcept override; +}; + #endif |