diff options
author | Yunsup Lee <yunsup@cs.berkeley.edu> | 2011-05-18 14:35:32 -0700 |
---|---|---|
committer | Yunsup Lee <yunsup@cs.berkeley.edu> | 2011-05-18 14:35:32 -0700 |
commit | dd1da1656719e9304fde74758c7bb8038bb82025 (patch) | |
tree | 80df9b36aca27aebbb1e298dac291f3a9c79a0ef /riscv/insns | |
parent | 6e85b4332f8d5fa198b766afb73dde5506d5097f (diff) | |
download | spike-dd1da1656719e9304fde74758c7bb8038bb82025.zip spike-dd1da1656719e9304fde74758c7bb8038bb82025.tar.gz spike-dd1da1656719e9304fde74758c7bb8038bb82025.tar.bz2 |
[opcodes,pk,sim] add more vector traps (for #banks, illegal instructions)
Diffstat (limited to 'riscv/insns')
-rw-r--r-- | riscv/insns/mfpcr.h | 4 | ||||
-rw-r--r-- | riscv/insns/mtpcr.h | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/riscv/insns/mfpcr.h b/riscv/insns/mfpcr.h index fe00f5f..c1f629a 100644 --- a/riscv/insns/mfpcr.h +++ b/riscv/insns/mfpcr.h @@ -34,6 +34,10 @@ switch(insn.rtype.rs2) val = mmu.get_ptbr(); break; + case 11: + val = vecbanks; + break; + case 17: fromhost = val = sim->get_fromhost(); break; diff --git a/riscv/insns/mtpcr.h b/riscv/insns/mtpcr.h index f47781f..2f0e1f4 100644 --- a/riscv/insns/mtpcr.h +++ b/riscv/insns/mtpcr.h @@ -23,6 +23,11 @@ switch(insn.rtype.rs2) mmu.set_ptbr(RS1); break; + case 11: + vecbanks = RS1 & 0xff; + vecbanks_count = __builtin_popcountll(vecbanks); + break; + case 16: tohost = RS1; sim->set_tohost(RS1); |