summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-09-06 16:32:03 -0700
committerGabe Black <gblack@eecs.umich.edu>2007-09-06 16:32:03 -0700
commit3e65e1d0e0dc57831babb6e5a4566bbbc9409acf (patch)
treef041841804815c691e397ffb45d9c8f46a4e12b4
parente4c01713562f51847537c5724bc629ce4bdcf3bc (diff)
parentbf7c01d43d2a9e415ed3cc6cf310e76109ce6844 (diff)
downloadgem5-3e65e1d0e0dc57831babb6e5a4566bbbc9409acf.tar.xz
Merge with head.
--HG-- extra : convert_revision : 4fc5f595b23f72c0825d62f21efab46ed1db835b
-rw-r--r--configs/example/se.py10
-rw-r--r--src/mem/bus.cc5
2 files changed, 8 insertions, 7 deletions
diff --git a/configs/example/se.py b/configs/example/se.py
index 639bcd7c6..b4b50a013 100644
--- a/configs/example/se.py
+++ b/configs/example/se.py
@@ -100,15 +100,17 @@ system = System(cpu = [CPUClass(cpu_id=i) for i in xrange(np)],
system.physmem.port = system.membus.port
+if options.l2cache:
+ system.l2 = L2Cache(size='2MB')
+ system.tol2bus = Bus()
+ system.l2.cpu_side = system.tol2bus.port
+ system.l2.mem_side = system.membus.port
+
for i in xrange(np):
if options.caches:
system.cpu[i].addPrivateSplitL1Caches(L1Cache(size = '32kB'),
L1Cache(size = '64kB'))
if options.l2cache:
- system.l2 = L2Cache(size='2MB')
- system.tol2bus = Bus()
- system.l2.cpu_side = system.tol2bus.port
- system.l2.mem_side = system.membus.port
system.cpu[i].connectMemPorts(system.tol2bus)
else:
system.cpu[i].connectMemPorts(system.membus)
diff --git a/src/mem/bus.cc b/src/mem/bus.cc
index cc3504e83..6e790e438 100644
--- a/src/mem/bus.cc
+++ b/src/mem/bus.cc
@@ -613,12 +613,11 @@ Bus::drain(Event * de)
//We should check that we're not "doing" anything, and that noone is
//waiting. We might be idle but have someone waiting if the device we
//contacted for a retry didn't actually retry.
- if (curTick >= tickNextIdle && retryList.size() == 0) {
- return 0;
- } else {
+ if (retryList.size() || (curTick < tickNextIdle && busIdle.scheduled())) {
drainEvent = de;
return 1;
}
+ return 0;
}
void