O3: Generaize the O3 dynamic instruction class so it isn't split out by ISA.
[gem5.git] / src / cpu / o3 / alpha / impl.hh
index b928ae654e5cd0d7cf084f7b9f85f20af7840a25..7d956cd6a6d33821f0cd6fd5923a6b04e1fc116a 100644 (file)
 
 #include "arch/alpha/isa_traits.hh"
 
-#include "cpu/o3/alpha/params.hh"
 #include "cpu/o3/cpu_policy.hh"
 
 
 // Forward declarations.
 template <class Impl>
-class AlphaDynInst;
+class BaseO3DynInst;
 
 template <class Impl>
-class AlphaO3CPU;
+class FullO3CPU;
 
 /** Implementation specific struct that defines several key types to the
  *  CPU, the stages within the CPU, the time buffers, and the DynInst.
@@ -61,7 +60,7 @@ struct AlphaSimpleImpl
     typedef SimpleCPUPolicy<AlphaSimpleImpl> CPUPol;
 
     /** The DynInst type to be used. */
-    typedef AlphaDynInst<AlphaSimpleImpl> DynInst;
+    typedef BaseO3DynInst<AlphaSimpleImpl> DynInst;
 
     /** The refcounted DynInst pointer to be used.  In most cases this is
      *  what should be used, and not DynInst *.
@@ -69,7 +68,7 @@ struct AlphaSimpleImpl
     typedef RefCountingPtr<DynInst> DynInstPtr;
 
     /** The O3CPU type to be used. */
-    typedef AlphaO3CPU<AlphaSimpleImpl> O3CPU;
+    typedef FullO3CPU<AlphaSimpleImpl> O3CPU;
 
     /** Same typedef, but for CPUType.  BaseDynInst may not always use
      * an O3 CPU, so it's clearer to call it CPUType instead in that
@@ -77,9 +76,6 @@ struct AlphaSimpleImpl
      */
     typedef O3CPU CPUType;
 
-    /** The Params to be passed to each stage. */
-    typedef AlphaSimpleParams Params;
-
     enum {
       MaxWidth = 8,
       MaxThreads = 4