diff options
author | Andrew Waterman <waterman@eecs.berkeley.edu> | 2012-08-01 22:55:02 -0700 |
---|---|---|
committer | Andrew Waterman <waterman@eecs.berkeley.edu> | 2012-08-01 22:55:02 -0700 |
commit | b3d3f82d4e38f2712d5ccf9c69051137ec5fca76 (patch) | |
tree | 88e233dfe5c1456745d96c359bc0f3165338dfcf /riscv/insns | |
parent | 07d126d57ede2d3c7e28fddd08338b2171f884bb (diff) | |
download | spike-b3d3f82d4e38f2712d5ccf9c69051137ec5fca76.zip spike-b3d3f82d4e38f2712d5ccf9c69051137ec5fca76.tar.gz spike-b3d3f82d4e38f2712d5ccf9c69051137ec5fca76.tar.bz2 |
new tohost/fromhost semantics
Diffstat (limited to 'riscv/insns')
-rw-r--r-- | riscv/insns/mtpcr.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/riscv/insns/mtpcr.h b/riscv/insns/mtpcr.h index 5cd0134..9b0beba 100644 --- a/riscv/insns/mtpcr.h +++ b/riscv/insns/mtpcr.h @@ -1,4 +1,5 @@ require_supervisor; reg_t val = get_pcr(insn.rtype.rs1); -set_pcr(insn.rtype.rs1, RS2); +if (val == 0 || insn.rtype.rs1 != PCR_TOHOST) + set_pcr(insn.rtype.rs1, RS2); RD = val; |