298a299,313
> Port *
> BaseCPU::getPort(const string &if_name, int idx)
> {
> // Get the right port based on name. This applies to all the
> // subclasses of the base CPU and relies on their implementation
> // of getDataPort and getInstPort. In all cases there methods
> // return a CpuPort pointer.
> if (if_name == "dcache_port")
> return &getDataPort();
> else if (if_name == "icache_port")
> return &getInstPort();
> else
> panic("CPU %s has no port named %s\n", name(), if_name);
> }
>
366,367c381,382
< Port *ic = getPort("icache_port");
< Port *dc = getPort("dcache_port");
---
> CpuPort &ic = getInstPort();
> CpuPort &dc = getDataPort();
456,459c471,474
< if (!ic->isConnected()) {
< Port *peer = oldCPU->getPort("icache_port")->getPeer();
< ic->setPeer(peer);
< peer->setPeer(ic);
---
> if (!ic.isConnected()) {
> Port *peer = oldCPU->getInstPort().getPeer();
> ic.setPeer(peer);
> peer->setPeer(&ic);
462,465c477,480
< if (!dc->isConnected()) {
< Port *peer = oldCPU->getPort("dcache_port")->getPeer();
< dc->setPeer(peer);
< peer->setPeer(dc);
---
> if (!dc.isConnected()) {
> Port *peer = oldCPU->getDataPort().getPeer();
> dc.setPeer(peer);
> peer->setPeer(&dc);