now O3CPU is totally independent of the ISA... all alpha specific stuff is the cpu/o3/alpha directory
src/cpu/o3/alpha/cpu.cc: src/cpu/o3/alpha/cpu_impl.hh: src/cpu/o3/alpha/impl.hh: filenames src/cpu/o3/alpha/thread_context.hh: public src/cpu/o3/base_dyn_inst.cc: src/cpu/o3/bpred_unit.cc: src/cpu/o3/commit.cc: src/cpu/o3/cpu.cc: src/cpu/o3/decode.cc: src/cpu/o3/fetch.cc: src/cpu/o3/iew.cc: src/cpu/o3/inst_queue.cc: src/cpu/o3/lsq.cc: src/cpu/o3/lsq_unit.cc: src/cpu/o3/mem_dep_unit.cc: src/cpu/o3/rename.cc: src/cpu/o3/rob.cc: use O3CPUImpl ... not Alpha src/cpu/o3/checker_builder.cc: filename --HG-- extra : convert_revision : 6eb739909699ade1e2a9d63637b182413ceebc69
This commit is contained in:
parent
d9ef772e8d
commit
51261196bd
|
@ -28,7 +28,7 @@
|
||||||
* Authors: Kevin Lim
|
* Authors: Kevin Lim
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "cpu/o3/alphaimpl.hh"
|
#include "cpu/o3/alpha/impl.hh"
|
||||||
#include "cpu/o3/alpha/cpu_impl.hh"
|
#include "cpu/o3/alpha/cpu_impl.hh"
|
||||||
#include "cpu/o3/alpha/dyn_inst.hh"
|
#include "cpu/o3/alpha/dyn_inst.hh"
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
|
|
||||||
#include "cpu/o3/alpha/cpu.hh"
|
#include "cpu/o3/alpha/cpu.hh"
|
||||||
#include "cpu/o3/alpha/params.hh"
|
#include "cpu/o3/alpha/params.hh"
|
||||||
#include "cpu/o3/alpha/tc.hh"
|
#include "cpu/o3/alpha/thread_context.hh"
|
||||||
#include "cpu/o3/comm.hh"
|
#include "cpu/o3/comm.hh"
|
||||||
#include "cpu/o3/thread_state.hh"
|
#include "cpu/o3/thread_state.hh"
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ AlphaO3CPU<Impl>::AlphaO3CPU(Params *params)
|
||||||
// CheckerThreadContext.
|
// CheckerThreadContext.
|
||||||
#if USE_CHECKER
|
#if USE_CHECKER
|
||||||
if (params->checker) {
|
if (params->checker) {
|
||||||
tc = new CheckerThreadContext<AlphaTC<Impl>>(
|
tc = new CheckerThreadContext<AlphaTC<Impl> >(
|
||||||
alpha_tc, this->checker);
|
alpha_tc, this->checker);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -81,8 +81,14 @@ struct AlphaSimpleImpl
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
MaxWidth = 8,
|
MaxWidth = 8,
|
||||||
MaxThreads = 2
|
MaxThreads = 4
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** The O3Impl to be used. */
|
||||||
|
typedef AlphaSimpleImpl O3CPUImpl;
|
||||||
|
|
||||||
|
/** The O3Impl to be used. */
|
||||||
|
typedef DynInst O3DynInst;
|
||||||
|
|
||||||
#endif // __CPU_O3_ALPHA_IMPL_HH__
|
#endif // __CPU_O3_ALPHA_IMPL_HH__
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
template <class Impl>
|
template <class Impl>
|
||||||
class AlphaTC : public O3ThreadContext<Impl>
|
class AlphaTC : public O3ThreadContext<Impl>
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
#if FULL_SYSTEM
|
#if FULL_SYSTEM
|
||||||
/** Returns a pointer to the ITB. */
|
/** Returns a pointer to the ITB. */
|
||||||
virtual AlphaITB *getITBPtr() { return cpu->itb; }
|
virtual AlphaITB *getITBPtr() { return cpu->itb; }
|
||||||
|
|
|
@ -32,8 +32,8 @@
|
||||||
#include "cpu/o3/isa_specific.hh"
|
#include "cpu/o3/isa_specific.hh"
|
||||||
|
|
||||||
// Explicit instantiation
|
// Explicit instantiation
|
||||||
template class BaseDynInst<AlphaSimpleImpl>;
|
template class BaseDynInst<O3CPUImpl>;
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
int
|
int
|
||||||
BaseDynInst<AlphaSimpleImpl>::instcount = 0;
|
BaseDynInst<O3CPUImpl>::instcount = 0;
|
||||||
|
|
|
@ -31,4 +31,4 @@
|
||||||
#include "cpu/o3/bpred_unit_impl.hh"
|
#include "cpu/o3/bpred_unit_impl.hh"
|
||||||
#include "cpu/o3/isa_specific.hh"
|
#include "cpu/o3/isa_specific.hh"
|
||||||
|
|
||||||
template class BPredUnit<AlphaSimpleImpl>;
|
template class BPredUnit<O3CPUImpl>;
|
||||||
|
|
|
@ -32,8 +32,8 @@
|
||||||
|
|
||||||
#include "cpu/checker/cpu_impl.hh"
|
#include "cpu/checker/cpu_impl.hh"
|
||||||
#include "cpu/inst_seq.hh"
|
#include "cpu/inst_seq.hh"
|
||||||
#include "cpu/o3/alpha_dyn_inst.hh"
|
#include "cpu/o3/alpha/dyn_inst.hh"
|
||||||
#include "cpu/o3/alpha_impl.hh"
|
#include "cpu/o3/alpha/impl.hh"
|
||||||
#include "sim/builder.hh"
|
#include "sim/builder.hh"
|
||||||
#include "sim/process.hh"
|
#include "sim/process.hh"
|
||||||
#include "sim/sim_object.hh"
|
#include "sim/sim_object.hh"
|
||||||
|
|
|
@ -31,4 +31,4 @@
|
||||||
#include "cpu/o3/isa_specific.hh"
|
#include "cpu/o3/isa_specific.hh"
|
||||||
#include "cpu/o3/commit_impl.hh"
|
#include "cpu/o3/commit_impl.hh"
|
||||||
|
|
||||||
template class DefaultCommit<AlphaSimpleImpl>;
|
template class DefaultCommit<O3CPUImpl>;
|
||||||
|
|
|
@ -1211,4 +1211,4 @@ FullO3CPU<Impl>::updateThreadPriority()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Forward declaration of FullO3CPU.
|
// Forward declaration of FullO3CPU.
|
||||||
template class FullO3CPU<AlphaSimpleImpl>;
|
template class FullO3CPU<O3CPUImpl>;
|
||||||
|
|
|
@ -31,4 +31,4 @@
|
||||||
#include "cpu/o3/isa_specific.hh"
|
#include "cpu/o3/isa_specific.hh"
|
||||||
#include "cpu/o3/decode_impl.hh"
|
#include "cpu/o3/decode_impl.hh"
|
||||||
|
|
||||||
template class DefaultDecode<AlphaSimpleImpl>;
|
template class DefaultDecode<O3CPUImpl>;
|
||||||
|
|
|
@ -31,4 +31,4 @@
|
||||||
#include "cpu/o3/isa_specific.hh"
|
#include "cpu/o3/isa_specific.hh"
|
||||||
#include "cpu/o3/fetch_impl.hh"
|
#include "cpu/o3/fetch_impl.hh"
|
||||||
|
|
||||||
template class DefaultFetch<AlphaSimpleImpl>;
|
template class DefaultFetch<O3CPUImpl>;
|
||||||
|
|
|
@ -32,4 +32,4 @@
|
||||||
#include "cpu/o3/iew_impl.hh"
|
#include "cpu/o3/iew_impl.hh"
|
||||||
#include "cpu/o3/inst_queue.hh"
|
#include "cpu/o3/inst_queue.hh"
|
||||||
|
|
||||||
template class DefaultIEW<AlphaSimpleImpl>;
|
template class DefaultIEW<O3CPUImpl>;
|
||||||
|
|
|
@ -32,4 +32,4 @@
|
||||||
#include "cpu/o3/inst_queue_impl.hh"
|
#include "cpu/o3/inst_queue_impl.hh"
|
||||||
|
|
||||||
// Force instantiation of InstructionQueue.
|
// Force instantiation of InstructionQueue.
|
||||||
template class InstructionQueue<AlphaSimpleImpl>;
|
template class InstructionQueue<O3CPUImpl>;
|
||||||
|
|
|
@ -32,5 +32,5 @@
|
||||||
#include "cpu/o3/lsq_impl.hh"
|
#include "cpu/o3/lsq_impl.hh"
|
||||||
|
|
||||||
// Force the instantiation of LDSTQ for all the implementations we care about.
|
// Force the instantiation of LDSTQ for all the implementations we care about.
|
||||||
template class LSQ<AlphaSimpleImpl>;
|
template class LSQ<O3CPUImpl>;
|
||||||
|
|
||||||
|
|
|
@ -33,5 +33,5 @@
|
||||||
#include "cpu/o3/lsq_unit_impl.hh"
|
#include "cpu/o3/lsq_unit_impl.hh"
|
||||||
|
|
||||||
// Force the instantiation of LDSTQ for all the implementations we care about.
|
// Force the instantiation of LDSTQ for all the implementations we care about.
|
||||||
template class LSQUnit<AlphaSimpleImpl>;
|
template class LSQUnit<O3CPUImpl>;
|
||||||
|
|
||||||
|
|
|
@ -33,17 +33,17 @@
|
||||||
#include "cpu/o3/mem_dep_unit_impl.hh"
|
#include "cpu/o3/mem_dep_unit_impl.hh"
|
||||||
|
|
||||||
// Force instantation of memory dependency unit using store sets and
|
// Force instantation of memory dependency unit using store sets and
|
||||||
// AlphaSimpleImpl.
|
// O3CPUImpl.
|
||||||
template class MemDepUnit<StoreSet, AlphaSimpleImpl>;
|
template class MemDepUnit<StoreSet, O3CPUImpl>;
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
template <>
|
template <>
|
||||||
int
|
int
|
||||||
MemDepUnit<StoreSet, AlphaSimpleImpl>::MemDepEntry::memdep_count = 0;
|
MemDepUnit<StoreSet, O3CPUImpl>::MemDepEntry::memdep_count = 0;
|
||||||
template <>
|
template <>
|
||||||
int
|
int
|
||||||
MemDepUnit<StoreSet, AlphaSimpleImpl>::MemDepEntry::memdep_insert = 0;
|
MemDepUnit<StoreSet, O3CPUImpl>::MemDepEntry::memdep_insert = 0;
|
||||||
template <>
|
template <>
|
||||||
int
|
int
|
||||||
MemDepUnit<StoreSet, AlphaSimpleImpl>::MemDepEntry::memdep_erase = 0;
|
MemDepUnit<StoreSet, O3CPUImpl>::MemDepEntry::memdep_erase = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -31,4 +31,4 @@
|
||||||
#include "cpu/o3/isa_specific.hh"
|
#include "cpu/o3/isa_specific.hh"
|
||||||
#include "cpu/o3/rename_impl.hh"
|
#include "cpu/o3/rename_impl.hh"
|
||||||
|
|
||||||
template class DefaultRename<AlphaSimpleImpl>;
|
template class DefaultRename<O3CPUImpl>;
|
||||||
|
|
|
@ -33,4 +33,4 @@
|
||||||
#include "cpu/o3/rob_impl.hh"
|
#include "cpu/o3/rob_impl.hh"
|
||||||
|
|
||||||
// Force instantiation of InstructionQueue.
|
// Force instantiation of InstructionQueue.
|
||||||
template class ROB<AlphaSimpleImpl>;
|
template class ROB<O3CPUImpl>;
|
||||||
|
|
Loading…
Reference in a new issue