MEM: Unify bus access methods and prepare for master/slave split
Review Request #1072 - Created Feb. 28, 2012 and submitted
| Information | |
|---|---|
| Andreas Hansson | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
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.
util/regress all passing (disregarding t1000 and eio)
Review request changed
Updated (March 8, 2012, 11:18 p.m.)
Diff: |
Revision 2 (+197 -146) |
|---|
Ship It!
Posted (March 21, 2012, 2:50 p.m.)
-
src/mem/bus.cc (Diff revision 2) -
Since this line is the same in both the if and else clauses, can we factor it out and put it at the end?
Ship It!
