2006-03-16 19:58:50 +01:00
|
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
//
|
|
|
|
// Unknown instructions
|
|
|
|
//
|
|
|
|
|
|
|
|
output header {{
|
|
|
|
/**
|
|
|
|
* Class for Unknown/Illegal instructions
|
|
|
|
*/
|
|
|
|
class Unknown : public SparcStaticInst
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
|
|
|
|
// Constructor
|
|
|
|
Unknown(ExtMachInst _machInst) :
|
|
|
|
SparcStaticInst("unknown", _machInst, No_OpClass)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
%(BasicExecDeclare)s
|
|
|
|
|
|
|
|
std::string generateDisassembly(Addr pc,
|
|
|
|
const SymbolTable *symtab) const;
|
|
|
|
|
|
|
|
};
|
|
|
|
}};
|
|
|
|
|
|
|
|
output decoder {{
|
|
|
|
std::string Unknown::generateDisassembly(Addr pc,
|
|
|
|
const SymbolTable *symtab) const
|
|
|
|
{
|
2006-04-01 03:31:53 +02:00
|
|
|
return "Unknown instruction";
|
2006-03-16 19:58:50 +01:00
|
|
|
}
|
|
|
|
}};
|
|
|
|
|
|
|
|
output exec {{
|
|
|
|
Fault Unknown::execute(%(CPU_exec_context)s *xc,
|
|
|
|
Trace::InstRecord *traceData) const
|
|
|
|
{
|
|
|
|
return new IllegalInstruction;
|
|
|
|
}
|
|
|
|
}};
|
|
|
|
|
|
|
|
def format Unknown() {{
|
|
|
|
decode_block = 'return new Unknown(machInst);\n'
|
|
|
|
}};
|