summaryrefslogtreecommitdiff
path: root/src/arch/x86/insts
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-01-06 22:55:27 -0800
committerGabe Black <gblack@eecs.umich.edu>2009-01-06 22:55:27 -0800
commit115b1a7ed350b9f1171b3f1b39c4c0875d1c0a5f (patch)
tree622e4f89ebd56ab9f6ab7afaa0b530d0b63a61b9 /src/arch/x86/insts
parent8cab1805f9854d74b4a73c5c3b316aa7ad2d2177 (diff)
downloadgem5-115b1a7ed350b9f1171b3f1b39c4c0875d1c0a5f.tar.xz
X86: Autogenerate macroop generateDisassemble function.
Diffstat (limited to 'src/arch/x86/insts')
-rw-r--r--src/arch/x86/insts/macroop.hh18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/arch/x86/insts/macroop.hh b/src/arch/x86/insts/macroop.hh
index d89a693ba..d6925a1a5 100644
--- a/src/arch/x86/insts/macroop.hh
+++ b/src/arch/x86/insts/macroop.hh
@@ -65,17 +65,19 @@
namespace X86ISA
{
// Base class for combinationally generated macroops
-class MacroopBase : public StaticInst
+class MacroopBase : public X86StaticInst
{
protected:
+ const char *macrocodeBlock;
+
const uint32_t numMicroops;
- X86ISA::EmulEnv emulEnv;
+ X86ISA::EmulEnv env;
//Constructor.
MacroopBase(const char *mnem, ExtMachInst _machInst,
- uint32_t _numMicroops, X86ISA::EmulEnv _emulEnv)
- : StaticInst(mnem, _machInst, No_OpClass),
- numMicroops(_numMicroops), emulEnv(_emulEnv)
+ uint32_t _numMicroops, X86ISA::EmulEnv _env) :
+ X86StaticInst(mnem, _machInst, No_OpClass),
+ numMicroops(_numMicroops), env(_env)
{
assert(numMicroops);
microops = new StaticInstPtr[numMicroops];
@@ -95,8 +97,8 @@ class MacroopBase : public StaticInst
return microops[microPC];
}
- std::string generateDisassembly(Addr pc,
- const SymbolTable *symtab) const
+ std::string
+ generateDisassembly(Addr pc, const SymbolTable *symtab) const
{
return mnemonic;
}
@@ -111,7 +113,7 @@ class MacroopBase : public StaticInst
X86ISA::EmulEnv
getEmulEnv()
{
- return emulEnv;
+ return env;
}
};
}