mem: Relax packet src/dest check and shift onus to crossbar
authorAndreas Hansson <andreas.hansson@arm.com>
Tue, 2 Dec 2014 11:07:56 +0000 (06:07 -0500)
committerAndreas Hansson <andreas.hansson@arm.com>
Tue, 2 Dec 2014 11:07:56 +0000 (06:07 -0500)
commit5c84157c291dceb8040ab4dd29142a4d141fd2ed
tree11d8233de2e4effc934cda648b3c863de376eafb
parentea5ccc70417db08379027ca7344e50cba53063dd
mem: Relax packet src/dest check and shift onus to crossbar

This patch allows objects to get the src/dest of a packet even if it
is not set to a valid port id. This simplifies (ab)using the bridge as
a buffer and latency adapter in situations where the neighbouring
MemObjects are not crossbars.

The checks that were done in the packet are now shifted to the
crossbar where the fields are used to index into the port
arrays. Thus, the carrier of the information is not burdened with
checking, and the crossbar can check not only that the destination is
set, but also that the port index is within limits.
src/mem/bridge.cc
src/mem/coherent_xbar.cc
src/mem/noncoherent_xbar.cc
src/mem/packet.hh