aboutsummaryrefslogtreecommitdiff
path: root/riscv/csrs.h
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2022-03-15 20:19:08 -0700
committerAndrew Waterman <andrew@sifive.com>2022-03-15 20:19:08 -0700
commit5be1cac080288c90a0019eeb791cebb31307899c (patch)
tree8950b78f1229f29a9d7253752885448b8b980dcc /riscv/csrs.h
parent2528ad66c11bc44309135c9ab0896e2907847105 (diff)
downloadspike-5be1cac080288c90a0019eeb791cebb31307899c.zip
spike-5be1cac080288c90a0019eeb791cebb31307899c.tar.gz
spike-5be1cac080288c90a0019eeb791cebb31307899c.tar.bz2
Move sstatus_proxy_csr_t defn below that of mstatus_csr_t
This will allow the former to depend on the latter in a future commit.
Diffstat (limited to 'riscv/csrs.h')
-rw-r--r--riscv/csrs.h22
1 files changed, 11 insertions, 11 deletions
diff --git a/riscv/csrs.h b/riscv/csrs.h
index 688ad6b..ff7488b 100644
--- a/riscv/csrs.h
+++ b/riscv/csrs.h
@@ -215,17 +215,6 @@ class vsstatus_csr_t: public base_status_csr_t {
typedef std::shared_ptr<vsstatus_csr_t> vsstatus_csr_t_p;
-class sstatus_proxy_csr_t: 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;
- protected:
- virtual bool unlogged_write(const reg_t val) noexcept override;
- private:
- csr_t_p mstatus;
-};
-
-
class mstatus_csr_t: public base_status_csr_t {
public:
mstatus_csr_t(processor_t* const proc, const reg_t addr);
@@ -252,6 +241,17 @@ class mstatush_csr_t: public csr_t {
};
+class sstatus_proxy_csr_t: 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;
+ protected:
+ virtual bool unlogged_write(const reg_t val) noexcept override;
+ private:
+ csr_t_p mstatus;
+};
+
+
class sstatus_csr_t: public virtualized_csr_t {
public:
sstatus_csr_t(processor_t* const proc, base_status_csr_t_p orig, base_status_csr_t_p virt);