Make the m5 pseudo instructions only work in FS. Also, make sure any undefined opcodes in impdep2 (which in SE is all of them) trap with an illegal_instruction exception.
--HG-- extra : convert_revision : dd7848d0685e4cc6f5fd5e3b846a3f70b62ee30a
This commit is contained in:
parent
783e642ed8
commit
34b4722aee
1 changed files with 3 additions and 1 deletions
|
@ -1011,13 +1011,15 @@ 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);
|
||||
0x54: m5panic({{
|
||||
panic("M5 panic instruction called at pc=%#x.", xc->readPC());
|
||||
}}, No_OpClass, IsNonSpeculative);
|
||||
|
||||
#endif
|
||||
default: Trap::impdep2({{fault = new IllegalInstruction;}});
|
||||
}
|
||||
0x38: Branch::jmpl({{
|
||||
Addr target = Rs1 + Rs2_or_imm13;
|
||||
|
|
Loading…
Reference in a new issue