summaryrefslogtreecommitdiff
path: root/arch/sparc/isa/formats/unknown.isa
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2006-03-16 14:08:31 -0500
committerGabe Black <gblack@eecs.umich.edu>2006-03-16 14:08:31 -0500
commit1d741c48af9f08718d359d9e3b7d3c0bf562a467 (patch)
tree088166d7dbb41b065080a4ace70ce91a9aa24039 /arch/sparc/isa/formats/unknown.isa
parent31a20c88c52f6051575fe760251407d11e5715ba (diff)
parent558cc7f775dc404e4152212b5c6459ad9f4bb269 (diff)
downloadgem5-1d741c48af9f08718d359d9e3b7d3c0bf562a467.tar.xz
Merge m5.eecs.umich.edu:/bk/newmem
into ewok.(none):/home/gblack/m5/newmem arch/sparc/isa/decoder.isa: SCCS merged --HG-- extra : convert_revision : 460843b49bc96b3fbc5897828c23f9cf9b010ae0
Diffstat (limited to 'arch/sparc/isa/formats/unknown.isa')
-rw-r--r--arch/sparc/isa/formats/unknown.isa46
1 files changed, 46 insertions, 0 deletions
diff --git a/arch/sparc/isa/formats/unknown.isa b/arch/sparc/isa/formats/unknown.isa
new file mode 100644
index 000000000..eeb2b9496
--- /dev/null
+++ b/arch/sparc/isa/formats/unknown.isa
@@ -0,0 +1,46 @@
+////////////////////////////////////////////////////////////////////
+//
+// 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
+ {
+ return "Unknown instruction\n";
+ }
+}};
+
+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'
+}};