diff options
author | Yunsup Lee <yunsup@cs.berkeley.edu> | 2013-10-21 18:53:02 -0700 |
---|---|---|
committer | Yunsup Lee <yunsup@cs.berkeley.edu> | 2013-10-21 18:53:02 -0700 |
commit | 1bcda9195b55d23fe373b23ae38884fd7a4ecef8 (patch) | |
tree | 6340800f2ef20d487c199a3e6aeeb4cad3840b01 /hwacha | |
parent | 74fe66dcecfa113b39809ca6ca66e1d1645ca1ae (diff) | |
download | riscv-isa-sim-1bcda9195b55d23fe373b23ae38884fd7a4ecef8.zip riscv-isa-sim-1bcda9195b55d23fe373b23ae38884fd7a4ecef8.tar.gz riscv-isa-sim-1bcda9195b55d23fe373b23ae38884fd7a4ecef8.tar.bz2 |
clarify vxcptsave/vxctkill semantics
Diffstat (limited to 'hwacha')
-rw-r--r-- | hwacha/hwacha.h | 3 | ||||
-rw-r--r-- | hwacha/insns/vxcptkill.h | 5 | ||||
-rw-r--r-- | hwacha/insns/vxcptsave.h | 2 |
3 files changed, 7 insertions, 3 deletions
diff --git a/hwacha/hwacha.h b/hwacha/hwacha.h index 100477c..df0add3 100644 --- a/hwacha/hwacha.h +++ b/hwacha/hwacha.h @@ -46,8 +46,9 @@ public: bool get_debug() { return debug; } disassembler_t* get_ut_disassembler() { return &ut_disassembler; } -private: static const int max_uts = 2048; + +private: ct_state_t ct_state; ut_state_t ut_state[max_uts]; reg_t cause; diff --git a/hwacha/insns/vxcptkill.h b/hwacha/insns/vxcptkill.h index 684a816..08efc12 100644 --- a/hwacha/insns/vxcptkill.h +++ b/hwacha/insns/vxcptkill.h @@ -1,3 +1,4 @@ require_supervisor_hwacha; -for (uint32_t i=0; i<VL; i++) - h->get_ut_state(i)->run = false; +h->get_ct_state()->reset(); +for (uint32_t i=0; i<h->max_uts; i++) + h->get_ut_state(i)->reset(); diff --git a/hwacha/insns/vxcptsave.h b/hwacha/insns/vxcptsave.h index 2ff7761..cc663ed 100644 --- a/hwacha/insns/vxcptsave.h +++ b/hwacha/insns/vxcptsave.h @@ -40,3 +40,5 @@ for (uint32_t i=0; i<VL; i++) { #undef STORE_B #undef STORE_W #undef STORE_D + +#include "insns/vxcptkill.h" |