summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configs/common/Simulation.py2
-rw-r--r--src/cpu/base.cc4
2 files changed, 3 insertions, 3 deletions
diff --git a/configs/common/Simulation.py b/configs/common/Simulation.py
index 84628b347..1ff36c5d0 100644
--- a/configs/common/Simulation.py
+++ b/configs/common/Simulation.py
@@ -91,7 +91,7 @@ def run(options, root, testsys, cpu_class):
switch_cpus[i].workload = testsys.cpu[i].workload
switch_cpus[i].clock = testsys.cpu[0].clock
- root.switch_cpus = switch_cpus
+ testsys.switch_cpus = switch_cpus
switch_cpu_list = [(testsys.cpu[i], switch_cpus[i]) for i in xrange(np)]
if options.standard_switch:
diff --git a/src/cpu/base.cc b/src/cpu/base.cc
index 7b04f5a90..677152ce8 100644
--- a/src/cpu/base.cc
+++ b/src/cpu/base.cc
@@ -352,7 +352,7 @@ BaseCPU::takeOverFrom(BaseCPU *oldCPU, Port *ic, Port *dc)
// connected to anything. Also connect old CPU's memory to new
// CPU.
Port *peer;
- if (ic->getPeer() == NULL) {
+ if (ic->getPeer() == NULL || ic->getPeer()->isDefaultPort()) {
peer = oldCPU->getPort("icache_port")->getPeer();
ic->setPeer(peer);
} else {
@@ -360,7 +360,7 @@ BaseCPU::takeOverFrom(BaseCPU *oldCPU, Port *ic, Port *dc)
}
peer->setPeer(ic);
- if (dc->getPeer() == NULL) {
+ if (dc->getPeer() == NULL || dc->getPeer()->isDefaultPort()) {
peer = oldCPU->getPort("dcache_port")->getPeer();
dc->setPeer(peer);
} else {