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

Reply via email to