summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/arch/sparc/isa/decoder.isa24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/arch/sparc/isa/decoder.isa b/src/arch/sparc/isa/decoder.isa
index 3b84e3073..36b9d1caa 100644
--- a/src/arch/sparc/isa/decoder.isa
+++ b/src/arch/sparc/isa/decoder.isa
@@ -1012,17 +1012,19 @@ decode OP default Unknown::unknown()
// 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);
- 0x50: m5readfile({{
- O0 = PseudoInst::readfile(xc->tcBase(), O0, O1, O2);
- }}, IsNonSpeculative);
- 0x51: m5break({{PseudoInst::debugbreak(xc->tcBase());
- }}, IsNonSpeculative);
- 0x54: m5panic({{
- panic("M5 panic instruction called at pc=%#x.", xc->readPC());
- }}, No_OpClass, IsNonSpeculative);
+ format BasicOperate {
+ // we have 7 bits of space here to play with...
+ 0x21: m5exit({{PseudoInst::m5exit(xc->tcBase(), O0);
+ }}, No_OpClass, IsNonSpeculative);
+ 0x50: m5readfile({{
+ O0 = PseudoInst::readfile(xc->tcBase(), O0, O1, O2);
+ }}, IsNonSpeculative);
+ 0x51: m5break({{PseudoInst::debugbreak(xc->tcBase());
+ }}, IsNonSpeculative);
+ 0x54: m5panic({{
+ panic("M5 panic instruction called at pc=%#x.", xc->readPC());
+ }}, No_OpClass, IsNonSpeculative);
+ }
#endif
default: Trap::impdep2({{fault = new IllegalInstruction;}});
}