summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2006-03-08 16:53:44 -0500
committerKorey Sewell <ksewell@umich.edu>2006-03-08 16:53:44 -0500
commit5a0fd8d9dabe5f6786946817eaec59c649a4b550 (patch)
tree7ad7a15842986c596de590b6cd9069f3af32a81f
parentbfd820f704cd67519be276967c659d025bc502d1 (diff)
downloadgem5-5a0fd8d9dabe5f6786946817eaec59c649a4b550.tar.xz
add explicit support for nop,ssnop, and ehb instructions
--HG-- extra : convert_revision : 41151d38cabb6ce0ea81e5d78e4474d8f2ffeb67
-rw-r--r--arch/mips/isa/decoder.isa12
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/mips/isa/decoder.isa b/arch/mips/isa/decoder.isa
index 9994acd0b..7d770c554 100644
--- a/arch/mips/isa/decoder.isa
+++ b/arch/mips/isa/decoder.isa
@@ -30,7 +30,17 @@ decode OPCODE_HI default Unknown::unknown() {
//Table A-3 Note: "1. Specific encodings of the rt, rd, and sa fields
//are used to distinguish among the SLL, NOP, SSNOP and EHB functions."
- 0x0: sll({{ Rd = Rt.uw << SA; }});
+ 0x0: decode RS {
+ 0x0: decode RT default BasicOp::sll({{ Rd = Rt.uw << SA; }}) {
+ 0x0: decode RD{
+ 0x0: decode HINT {
+ 0x0:nop({{}});
+ 0x1:ssnop({{}});
+ 0x3:ehb({{}});
+ }
+ }
+ }
+ }
0x2: decode SRL {
0: srl({{ Rd = Rt.uw >> SA; }});