Make overriding port assignments in Python work,

and print better error messages when it doesn't.
This commit is contained in:
Steve Reinhardt
2008-09-29 23:30:14 -07:00
parent 45cba35fc1
commit 7bf6a219db
2 changed files with 9 additions and 3 deletions

View File

@@ -212,7 +212,8 @@ class PioDevice : public MemObject
{
if (if_name == "pio") {
if (pioPort != NULL)
panic("pio port already connected to.");
fatal("%s: pio port already connected to %s",
name(), pioPort->getPeer()->name());
pioPort = new PioPort(this, sys);
return pioPort;
} else
@@ -289,12 +290,14 @@ class DmaDevice : public PioDevice
{
if (if_name == "pio") {
if (pioPort != NULL)
panic("pio port already connected to.");
fatal("%s: pio port already connected to %s",
name(), pioPort->getPeer()->name());
pioPort = new PioPort(this, sys);
return pioPort;
} else if (if_name == "dma") {
if (dmaPort != NULL)
panic("dma port already connected to.");
fatal("%s: dma port already connected to %s",
name(), pioPort->getPeer()->name());
dmaPort = new DmaPort(this, sys);
return dmaPort;
} else