From: Gabe Black Date: Fri, 23 Feb 2007 01:05:33 +0000 (+0000) Subject: Merge zizzer.eecs.umich.edu:/bk/newmem X-Git-Tag: m5_2.0_beta3~139^2~8^2~3 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=187cc99e4e2ed21af5904aaf840b2e2558d019bb;p=gem5.git Merge zizzer.eecs.umich.edu:/bk/newmem into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-sparc32 --HG-- extra : convert_revision : a7697ea8457a03318e3fcf34775bf3ecc4786e8a --- 187cc99e4e2ed21af5904aaf840b2e2558d019bb diff --cc src/arch/sparc/isa/decoder.isa index 3684cda69,2ce700ef1..6c97ca76c --- a/src/arch/sparc/isa/decoder.isa +++ b/src/arch/sparc/isa/decoder.isa @@@ -1009,20 -1009,18 +1009,22 @@@ 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 { + #if FULL_SYSTEM // 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); - + #endif + default: Trap::impdep2({{fault = new IllegalInstruction;}}); } +#else + 0x37: Trap::impdep2({{fault = new IllegalInstruction;}}); +#endif 0x38: Branch::jmpl({{ Addr target = Rs1 + Rs2_or_imm13; if(target & 0x3)