aboutsummaryrefslogtreecommitdiff
path: root/riscv/csrs.h
diff options
context:
space:
mode:
authorScott Johnson <scott.johnson@arilinc.com>2021-09-24 22:02:14 -0700
committerScott Johnson <scott.johnson@arilinc.com>2021-09-27 18:00:28 -0700
commit2b26a3cdf1cf391893a0a1a31815ac59d96ff05c (patch)
tree72bb3f45134ad2dce2c3135e9fa731fcdac6e8d7 /riscv/csrs.h
parentede97384f6f760a1a2c8b15f329e3e7c574a0301 (diff)
downloadspike-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.h9
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