diff options
author | Kevin Lim <ktlim@umich.edu> | 2006-06-25 00:22:41 -0400 |
---|---|---|
committer | Kevin Lim <ktlim@umich.edu> | 2006-06-25 00:22:41 -0400 |
commit | 4787d357d51811bf5f4c73583e038de3f60e6a72 (patch) | |
tree | 63b5af6f5e29c67245e9781890292f344b5477bb /src/cpu/ozone/front_end_impl.hh | |
parent | 63bdaeedfae71aa9eab4716a884fad9d7c4ece54 (diff) | |
download | gem5-4787d357d51811bf5f4c73583e038de3f60e6a72.tar.xz |
Make OzoneCPU work again in SE/FS.
src/cpu/ozone/cpu.hh:
Fixes to get OzoneCPU working in SE/FS again.
src/cpu/ozone/cpu_impl.hh:
Be sure to set up ports properly.
src/cpu/ozone/front_end.hh:
Allow port to be created without specifying its name at the beginning.
src/cpu/ozone/front_end_impl.hh:
Setup port properly, also only use checker if it's enabled.
src/cpu/ozone/lw_back_end_impl.hh:
Be sure to initialize variables.
src/cpu/ozone/lw_lsq.hh:
Handle locked flag for UP systems.
src/cpu/ozone/lw_lsq_impl.hh:
Initialize all variables.
src/python/m5/objects/OzoneCPU.py:
Fix up config.
--HG--
extra : convert_revision : c99e7bf82fc0dd1099c7a82eaebd58ab6017764d
Diffstat (limited to 'src/cpu/ozone/front_end_impl.hh')
-rw-r--r-- | src/cpu/ozone/front_end_impl.hh | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/cpu/ozone/front_end_impl.hh b/src/cpu/ozone/front_end_impl.hh index b1bc325c7..40042489d 100644 --- a/src/cpu/ozone/front_end_impl.hh +++ b/src/cpu/ozone/front_end_impl.hh @@ -28,6 +28,8 @@ * Authors: Kevin Lim */ +#include "config/use_checker.hh" + #include "arch/faults.hh" #include "arch/isa_traits.hh" #include "base/statistics.hh" @@ -37,6 +39,10 @@ #include "mem/packet.hh" #include "mem/request.hh" +#if USE_CHECKER +#include "cpu/checker/cpu.hh" +#endif + using namespace TheISA; template<class Impl> @@ -83,6 +89,7 @@ template <class Impl> FrontEnd<Impl>::FrontEnd(Params *params) : branchPred(params), icachePort(this), + mem(params->mem), instBufferSize(0), maxInstBufferSize(params->maxInstBufferSize), width(params->frontEndWidth), @@ -125,6 +132,25 @@ FrontEnd<Impl>::name() const template <class Impl> void +FrontEnd<Impl>::setCPU(CPUType *cpu_ptr) +{ + cpu = cpu_ptr; + + icachePort.setName(this->name() + "-iport"); + + Port *mem_dport = mem->getPort(""); + icachePort.setPeer(mem_dport); + mem_dport->setPeer(&icachePort); + +#if USE_CHECKER + if (cpu->checker) { + cpu->checker->setIcachePort(&icachePort); + } +#endif +} + +template <class Impl> +void FrontEnd<Impl>::setCommBuffer(TimeBuffer<CommStruct> *_comm) { comm = _comm; |