aboutsummaryrefslogtreecommitdiff
path: root/riscv/triggers.cc
diff options
context:
space:
mode:
authorTim Newsome <tim@sifive.com>2022-03-15 10:41:21 -0700
committerTim Newsome <tim@sifive.com>2022-03-30 10:41:44 -0700
commit16ed520e8d35a0eaa56b708aa540400312acdc09 (patch)
tree967ea7845312a56a265e37c141d5ad5f2dc0b028 /riscv/triggers.cc
parentbeaf1601e065f1399c9e2b12c48bbb713a8c40c3 (diff)
downloadspike-16ed520e8d35a0eaa56b708aa540400312acdc09.zip
spike-16ed520e8d35a0eaa56b708aa540400312acdc09.tar.gz
spike-16ed520e8d35a0eaa56b708aa540400312acdc09.tar.bz2
Replace state.mcontrol with TM.triggers.
Created a new triggers::module_t to hold the structure. Also make sure mcontrol_t instances are properly initialized.
Diffstat (limited to 'riscv/triggers.cc')
-rw-r--r--riscv/triggers.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/riscv/triggers.cc b/riscv/triggers.cc
index 1e2d838..fd295f7 100644
--- a/riscv/triggers.cc
+++ b/riscv/triggers.cc
@@ -1,4 +1,18 @@
#include "triggers.h"
namespace triggers {
+
+mcontrol_t::mcontrol_t() :
+ type(2), maskmax(0), select(false), timing(false), chain(false),
+ match(MATCH_EQUAL), m(false), h(false), s(false), u(false), execute(false),
+ store(false), load(false)
+{
+}
+
+module_t::module_t(unsigned count) : triggers(count) {
+ for (unsigned i = 0; i < count; i++) {
+ triggers[i] = new mcontrol_t();
+ }
+}
+
};