diff options
| author | Robert Norton | 2016-07-21 14:11:40 +0100 |
|---|---|---|
| committer | Robert Norton | 2016-07-25 15:23:34 +0100 |
| commit | c922e08af4cf8c1fc5cd65d4550275d0c56c2c2f (patch) | |
| tree | aa6309c3cfed412bc3cfdeef7ce234de5da9152b | |
| parent | 29d03f6b48ceec150baadb6e467b784005720ab0 (diff) | |
Fix incorrect register number for CP0Cause in mtc0. The only test which writes this register also needs software irq, which isn't implemented, so effectively this was untested although it happens quite early in kernel boot.
| -rw-r--r-- | mips/mips_insts.sail | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mips/mips_insts.sail b/mips/mips_insts.sail index c2226b26..f93309ed 100644 --- a/mips/mips_insts.sail +++ b/mips/mips_insts.sail @@ -1517,7 +1517,7 @@ function clause execute (MTC0(rt, rd, sel, double)) = { (CP0Status.EXL) := reg_val[1]; (CP0Status.IE) := reg_val[0]; } - case (0b01100,0b000) -> { (* 13 Cause *) + case (0b01101,0b000) -> { (* 13 Cause *) CP0Cause.IV := reg_val[23]; (* TODO special interrupt vector not implemeneted *) (CP0Cause.IP)[9..8] := reg_val[9..8]; } |
