summaryrefslogtreecommitdiff
path: root/src/arch/sparc/isa/formats/nop.isa
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/sparc/isa/formats/nop.isa')
-rw-r--r--src/arch/sparc/isa/formats/nop.isa65
1 files changed, 13 insertions, 52 deletions
diff --git a/src/arch/sparc/isa/formats/nop.isa b/src/arch/sparc/isa/formats/nop.isa
index d1257907f..6fb609360 100644
--- a/src/arch/sparc/isa/formats/nop.isa
+++ b/src/arch/sparc/isa/formats/nop.isa
@@ -31,60 +31,21 @@
//
// Nop instruction
//
-
-// Per-cpu-model nop execute method.
-def template NopExec {{
-}};
-
-output header {{
- /**
- * Nop class.
- */
- class Nop : public SparcStaticInst
- {
- public:
- // Constructor
- Nop(const char *mnem, ExtMachInst _machInst, OpClass __opClass) :
- SparcStaticInst(mnem, _machInst, __opClass)
- {
- flags[IsNop] = true;
- }
-
- Fault
- execute(ExecContext *xc, Trace::InstRecord *traceData) const
- {
- return NoFault;
- }
-
- std::string generateDisassembly(Addr pc,
- const SymbolTable *symtab) const;
- };
-}};
-
-output decoder {{
- std::string Nop::generateDisassembly(Addr pc,
- const SymbolTable *symtab) const
- {
- std::stringstream response;
- printMnemonic(response, mnemonic);
- return response.str();
- }
-}};
-
-def template NopExecute {{
- Fault %(class_name)s::execute(ExecContext *xc,
- Trace::InstRecord *traceData) const
- {
- // Nothing to see here, move along
- return NoFault;
- }
+def template NopDeclare {{
+/**
+ * Static instruction class for "%(mnemonic)s".
+ */
+class %(class_name)s : public %(base_class)s
+{
+ public:
+ %(class_name)s(ExtMachInst machInst);
+};
}};
-// Primary format for integer operate instructions:
-def format Nop(code, *opt_flags) {{
- iop = InstObjParams(name, Name, 'Nop', code, opt_flags)
- header_output = BasicDeclare.subst(iop)
+// Format for instructions that don't actually do anything:
+def format Nop(*opt_flags) {{
+ iop = InstObjParams(name, Name, 'Nop', '', opt_flags)
+ header_output = NopDeclare.subst(iop)
decoder_output = BasicConstructor.subst(iop)
decode_block = BasicDecode.subst(iop)
- exec_output = NopExecute.subst(iop)
}};