diff options
author | Ron Dreslinski <rdreslin@umich.edu> | 2006-07-07 15:15:11 -0400 |
---|---|---|
committer | Ron Dreslinski <rdreslin@umich.edu> | 2006-07-07 15:15:11 -0400 |
commit | ea11c7bdbefc8eb640f875cdf91a6d6bed398ec4 (patch) | |
tree | 3af6e347d31fffe724122db63ebff97aaf819c3e /src/cpu/simple/timing.cc | |
parent | 1ccfdb442ff34f9f2b38ee7716b7baee99a397c2 (diff) | |
download | gem5-ea11c7bdbefc8eb640f875cdf91a6d6bed398ec4.tar.xz |
Update cpus to use the getPort function to use a connector object to connect the I/D cache ports to memory
configs/test/test.py:
Update to use new cpu getPort functionality
src/cpu/base.cc:
Make cpu's a memObject to expose getPort interface
src/cpu/base.hh:
Make cpu's a memObject to export getPort interface
src/cpu/simple/atomic.cc:
src/cpu/simple/atomic.hh:
src/cpu/simple/timing.cc:
src/cpu/simple/timing.hh:
Now use the connector via getPort interface
src/mem/cache/base_cache.cc:
Make sure the cache recognizes all port names
--HG--
extra : convert_revision : dbfefa978ec755bc8aa6f962ae158acf32dafe61
Diffstat (limited to 'src/cpu/simple/timing.cc')
-rw-r--r-- | src/cpu/simple/timing.cc | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/cpu/simple/timing.cc b/src/cpu/simple/timing.cc index 036037ba9..170c78d3a 100644 --- a/src/cpu/simple/timing.cc +++ b/src/cpu/simple/timing.cc @@ -37,19 +37,20 @@ using namespace std; using namespace TheISA; +Port * +TimingSimpleCPU::getPort(const std::string &if_name, int idx) +{ + if (if_name == "dcache_port") + return &dcachePort; + else if (if_name == "icache_port") + return &icachePort; + else + panic("No Such Port\n"); +} void TimingSimpleCPU::init() { - //Create Memory Ports (conect them up) - Port *mem_dport = mem->getPort(""); - dcachePort.setPeer(mem_dport); - mem_dport->setPeer(&dcachePort); - - Port *mem_iport = mem->getPort(""); - icachePort.setPeer(mem_iport); - mem_iport->setPeer(&icachePort); - BaseCPU::init(); #if FULL_SYSTEM for (int i = 0; i < threadContexts.size(); ++i) { |