summaryrefslogtreecommitdiff
path: root/src/arch/sparc/isa
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2017-11-06 18:57:27 -0800
committerGabe Black <gabeblack@google.com>2017-11-22 00:22:27 +0000
commitcfbcb7b2731ecd9439f1622dbc86139256d35de1 (patch)
tree4faa529df340e21e8496fed9fd3fb093e27f0471 /src/arch/sparc/isa
parent695414217fdb4bfa4e6faf9fe92297c519140396 (diff)
downloadgem5-cfbcb7b2731ecd9439f1622dbc86139256d35de1.tar.xz
sparc: Pull the "Uknown" StaticInst class out of the ISA description.
The only thing the Unknown format does is return an instance of this class, so there's no reason to have it in the ISA description. Change-Id: I3f8187b1450a8622a974c030c0cb552b26f6b5f0 Reviewed-on: https://gem5-review.googlesource.com/5463 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/arch/sparc/isa')
-rw-r--r--src/arch/sparc/isa/formats/unknown.isa38
-rw-r--r--src/arch/sparc/isa/includes.isa1
2 files changed, 1 insertions, 38 deletions
diff --git a/src/arch/sparc/isa/formats/unknown.isa b/src/arch/sparc/isa/formats/unknown.isa
index f6f9e878b..9e02dea22 100644
--- a/src/arch/sparc/isa/formats/unknown.isa
+++ b/src/arch/sparc/isa/formats/unknown.isa
@@ -32,44 +32,6 @@
// Unknown instructions
//
-output header {{
- /**
- * Class for Unknown/Illegal instructions
- */
- class Unknown : public SparcStaticInst
- {
- public:
-
- // Constructor
- Unknown(ExtMachInst _machInst) :
- SparcStaticInst("unknown", _machInst, No_OpClass)
- {
- }
-
- Fault execute(ExecContext *, Trace::InstRecord *) const;
-
- std::string generateDisassembly(Addr pc,
- const SymbolTable *symtab) const;
-
- };
-}};
-
-output decoder {{
- std::string Unknown::generateDisassembly(Addr pc,
- const SymbolTable *symtab) const
- {
- return "Unknown instruction";
- }
-}};
-
-output exec {{
- Fault Unknown::execute(ExecContext *xc,
- Trace::InstRecord *traceData) const
- {
- return std::make_shared<IllegalInstruction>();
- }
-}};
-
def format Unknown() {{
decode_block = 'return new Unknown(machInst);\n'
}};
diff --git a/src/arch/sparc/isa/includes.isa b/src/arch/sparc/isa/includes.isa
index fb0196f3d..9077f7cb0 100644
--- a/src/arch/sparc/isa/includes.isa
+++ b/src/arch/sparc/isa/includes.isa
@@ -44,6 +44,7 @@ output header {{
#include "arch/sparc/insts/priv.hh"
#include "arch/sparc/insts/static_inst.hh"
#include "arch/sparc/insts/trap.hh"
+#include "arch/sparc/insts/unknown.hh"
#include "arch/sparc/isa_traits.hh"
#include "arch/sparc/registers.hh"
#include "base/condcodes.hh"