summaryrefslogtreecommitdiff
path: root/src/mem/port.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/port.hh')
-rw-r--r--src/mem/port.hh25
1 files changed, 22 insertions, 3 deletions
diff --git a/src/mem/port.hh b/src/mem/port.hh
index eac92791e..631725ce1 100644
--- a/src/mem/port.hh
+++ b/src/mem/port.hh
@@ -140,8 +140,17 @@ class MasterPort : public Port
PortID id = InvalidPortID);
virtual ~MasterPort();
- void unBind();
+ /**
+ * Bind this master port to a slave port. This also does the
+ * mirror action and binds the slave port to the master port.
+ */
void bind(SlavePort& slave_port);
+
+ /**
+ * Unbind this master port and the associated slave port.
+ */
+ void unbind();
+
SlavePort& getSlavePort() const;
bool isConnected() const;
@@ -298,8 +307,6 @@ class SlavePort : public Port
PortID id = InvalidPortID);
virtual ~SlavePort();
- void unBind();
- void bind(MasterPort& master_port);
MasterPort& getMasterPort() const;
bool isConnected() const;
@@ -387,6 +394,18 @@ class SlavePort : public Port
protected:
/**
+ * Called by the master port to unbind. Should never be called
+ * directly.
+ */
+ void unbind();
+
+ /**
+ * Called by the master port to bind. Should never be called
+ * directly.
+ */
+ void bind(MasterPort& master_port);
+
+ /**
* Receive an atomic request packet from the master port.
*/
virtual Tick recvAtomic(PacketPtr pkt) = 0;