MEM: Unify bus access methods and prepare for master/slave split
authorAndreas Hansson <andreas.hansson@arm.com>
Thu, 22 Mar 2012 10:37:21 +0000 (06:37 -0400)
committerAndreas Hansson <andreas.hansson@arm.com>
Thu, 22 Mar 2012 10:37:21 +0000 (06:37 -0400)
commit9727b1be189ab9990d4cb6783c16a7dae1b43c97
tree4b4a8ae72c07af936db44f57573c34ac6ae73a8a
parentc2d2ea99e3efe13bc50d410e2eeae9dd6757e57f
MEM: Unify bus access methods and prepare for master/slave split

This patch unifies the recvFunctional, recvAtomic and recvTiming to
all be based on a similar structure: 1) extract information about the
incoming packet, 2) send it out to the appropriate snoopers, 3)
determine where it is going, and 4) forward it to the right
destination. The naming of variables across the different access
functions is now consistent as well.

Additionally, the patch introduces the member functions releaseBus and
retryWaiting to better distinguish between the two cases when we
should tell a sender to retry. The first case is when the bus goes
from busy to idle, and the second case is when it receives a retry
from a destination that did not immediatelly accept a packet.

As a very minor change, the MMU debug flag is no longer used in the bus.
src/mem/bus.cc
src/mem/bus.hh