From 5755fff99811a334874026c465ccebb9b0627230 Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Sun, 23 Feb 2014 19:16:16 -0600 Subject: ruby: Simplify RubyPort flow control and routing This patch simplfies the retry logic in the RubyPort, avoiding redundant attributes, and enforcing more stringent checks on the interactions with the normal ports. The patch also simplifies the routing done by the RubyPort, using the port identifiers instead of a heavy-weight sender state. The patch also fixes a bug in the sending of responses from PIO ports. Previously these responses bypassed the queue in the queued port, and ignored the return value, potentially leading to response packets being lost. Committed by: Nilay Vaish --- src/mem/qport.hh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/mem/qport.hh') diff --git a/src/mem/qport.hh b/src/mem/qport.hh index 1453418b8..5406ef114 100644 --- a/src/mem/qport.hh +++ b/src/mem/qport.hh @@ -78,8 +78,8 @@ class QueuedSlavePort : public SlavePort * QueuePort constructor. */ QueuedSlavePort(const std::string& name, MemObject* owner, - SlavePacketQueue &queue) : - SlavePort(name, owner), queue(queue) + SlavePacketQueue &queue, PortID id = InvalidPortID) : + SlavePort(name, owner, id), queue(queue) { } virtual ~QueuedSlavePort() { } -- cgit v1.2.3