diff options
Diffstat (limited to 'arch/sparc/isa/formats/trap.isa')
-rw-r--r-- | arch/sparc/isa/formats/trap.isa | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/arch/sparc/isa/formats/trap.isa b/arch/sparc/isa/formats/trap.isa deleted file mode 100644 index f6a45ca48..000000000 --- a/arch/sparc/isa/formats/trap.isa +++ /dev/null @@ -1,64 +0,0 @@ -//////////////////////////////////////////////////////////////////// -// -// Trap instructions -// - -output header {{ - /** - * Base class for trap instructions, - * or instructions that always fault. - */ - class Trap : public SparcStaticInst - { - protected: - - // Constructor - Trap(const char *mnem, ExtMachInst _machInst, OpClass __opClass) : - SparcStaticInst(mnem, _machInst, __opClass), trapNum(SW_TRAP) - { - } - - std::string generateDisassembly(Addr pc, - const SymbolTable *symtab) const; - - int trapNum; - }; -}}; - -output decoder {{ - std::string Trap::generateDisassembly(Addr pc, - const SymbolTable *symtab) const - { - std::stringstream response; - - printMnemonic(response, mnemonic); - ccprintf(response, " "); - printReg(response, _srcRegIdx[0]); - ccprintf(response, ", 0x%x", trapNum); - ccprintf(response, ", or "); - printReg(response, _srcRegIdx[1]); - return response.str(); - } -}}; - -def template TrapExecute {{ - Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, - Trace::InstRecord *traceData) const - { - Fault fault = NoFault; - %(op_decl)s; - %(op_rd)s; - %(code)s - return fault; - } -}}; - -def format Trap(code, *opt_flags) {{ - orig_code = code - cblk = CodeBlock(code) - iop = InstObjParams(name, Name, 'Trap', cblk, opt_flags) - header_output = BasicDeclare.subst(iop) - decoder_output = BasicConstructor.subst(iop) - decode_block = BasicDecode.subst(iop) - exec_output = TrapExecute.subst(iop) -}}; |