summaryrefslogtreecommitdiff
path: root/arch/sparc/isa/formats/unknown.isa
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2006-03-16 18:40:54 -0500
committerKorey Sewell <ksewell@umich.edu>2006-03-16 18:40:54 -0500
commit1db74514c23a09997d3f3eabca31a4dc94cec2f7 (patch)
treec28b33bbed1535a72503cdd5f52c39889dd0a449 /arch/sparc/isa/formats/unknown.isa
parent805b9cf1d5ace9c02b7bd120ee1bc082f544699d (diff)
parent1d741c48af9f08718d359d9e3b7d3c0bf562a467 (diff)
downloadgem5-1db74514c23a09997d3f3eabca31a4dc94cec2f7.tar.xz
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem-mips --HG-- extra : convert_revision : 02fe0b0170348dc6f6a985c15123806088a8c23e
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'
+}};