On Tue, 21 Jan 2014, Andreas Hansson wrote:
On Jan. 20, 2014, 9:02 p.m., Nilay Vaish wrote:
src/mem/ruby/system/RubyPort.cc, line 164
<http://reviews.gem5.org/r/2039/diff/1/?file=37873#file37873line164>
How do you know that the destination value is what it should be? Should not
the packet be routed using the address in the packet?
Responses should be routed on the dest field in the classic memory
system. Any multiplexing component is responsible for setting the source
when the request passes through. Only requests are routed based on
address.
Moreover, any component that changes the src has to store the old value
in a sender state and restore it later.
Yes, and I don't think noncoherent_bus.cc is doing what you wrote. It
simply overwrites the source that was stored in the packet through the
aforementioned line in RubyPort.cc. It seems the patch is working only
because each ruby port has only one master port connected to the piobus.
--
Nilay
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev