diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-02-23 12:54:07 +0000 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-02-23 12:54:07 +0000 |
commit | c0c3a3f491aa02d237cb0d918c962572b547634a (patch) | |
tree | e7a40ef9dab946f8d9bf5287b04d796c4330e05f /src/arch/sparc/isa/decoder.isa | |
parent | f8ffc84d0b4fc908487a0af200abcc3cfce56633 (diff) | |
parent | a5b73a6e332c3f27ce29346229e1f91c04f53cf9 (diff) | |
download | gem5-c0c3a3f491aa02d237cb0d918c962572b547634a.tar.xz |
Merge zizzer.eecs.umich.edu:/bk/newmem
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem
--HG--
extra : convert_revision : e0eb0240848698496bd55093a313eb2e0f512ebc
Diffstat (limited to 'src/arch/sparc/isa/decoder.isa')
-rw-r--r-- | src/arch/sparc/isa/decoder.isa | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/arch/sparc/isa/decoder.isa b/src/arch/sparc/isa/decoder.isa index 0be7defba..3684cda69 100644 --- a/src/arch/sparc/isa/decoder.isa +++ b/src/arch/sparc/isa/decoder.isa @@ -1009,7 +1009,20 @@ decode OP default Unknown::unknown() 0x80: Trap::shutdown({{fault = new IllegalInstruction;}}); 0x81: FailUnimpl::siam(); } +#if FULL_SYSTEM + // M5 special opcodes use the reserved IMPDEP2A opcode space + 0x37: decode M5FUNC { + // we have 7 bits of space here to play with... + 0x21: m5exit({{PseudoInst::m5exit(xc->tcBase(), O0); + }}, No_OpClass, IsNonSpeculative); + 0x54: m5panic({{ + panic("M5 panic instruction called at pc=%#x.", xc->readPC()); + }}, No_OpClass, IsNonSpeculative); + + } +#else 0x37: Trap::impdep2({{fault = new IllegalInstruction;}}); +#endif 0x38: Branch::jmpl({{ Addr target = Rs1 + Rs2_or_imm13; if(target & 0x3) @@ -1077,7 +1090,8 @@ decode OP default Unknown::unknown() } }}, IsSerializeAfter, IsNonSpeculative); } - 0x3B: Nop::flush({{/*Instruction memory flush*/}}); + 0x3B: Nop::flush({{/*Instruction memory flush*/}}, IsWriteBarrier, + MemWriteOp); 0x3C: save({{ if(Cansave == 0) { |