diff options
author | Scott Johnson <scott.johnson@arilinc.com> | 2021-10-06 13:30:57 -0700 |
---|---|---|
committer | Scott Johnson <scott.johnson@arilinc.com> | 2021-10-06 13:31:00 -0700 |
commit | c45335a77011401509377016aa813737444fa492 (patch) | |
tree | 4a4ae4a68173c21a9c06a99723785fa980116dad /riscv/csrs.h | |
parent | ee73b811d5f3b5fc899c5073646d45bd262b9c22 (diff) | |
download | spike-c45335a77011401509377016aa813737444fa492.zip spike-c45335a77011401509377016aa813737444fa492.tar.gz spike-c45335a77011401509377016aa813737444fa492.tar.bz2 |
Make vxsat into its own class
Since its rules will need to be different than other vector CSRs
(coming next).
No functional change intended.
Diffstat (limited to 'riscv/csrs.h')
-rw-r--r-- | riscv/csrs.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/riscv/csrs.h b/riscv/csrs.h index bb53876..0c31d01 100644 --- a/riscv/csrs.h +++ b/riscv/csrs.h @@ -636,5 +636,13 @@ class vector_csr_t: public basic_csr_t { typedef std::shared_ptr<vector_csr_t> vector_csr_t_p; +// For CSRs shared between Vector and P extensions (vxsat) +class vxsat_csr_t: public masked_csr_t { + public: + vxsat_csr_t(processor_t* const proc, const reg_t addr); + virtual void verify_permissions(insn_t insn, bool write) const override; + protected: + virtual bool unlogged_write(const reg_t val) noexcept override; +}; #endif |