----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/1121/#review2488 -----------------------------------------------------------
Ship it! Seems fine to me. - Nilay Vaish On April 4, 2012, 3:44 p.m., Andreas Hansson wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/1121/ > ----------------------------------------------------------- > > (Updated April 4, 2012, 3:44 p.m.) > > > Review request for Default. > > > Description > ------- > > MEM: Remove the Broadcast destination from the packet > > This patch simplifies the packet by removing the broadcast flag and > instead more firmly relying on (and enforcing) the semantics of > transactions in the classic memory system, i.e. request packets are > routed from a master to a slave based on the address, and when they > are created they have neither a valid source, nor destination. On > their way to the slave, the request packet is updated with a source > field for all modules that multiplex packets from multiple master > (e.g. a bus). When a request packet is turned into a response packet > (at the final slave), it moves the potentially populated source field > to the destination field, and the response packet is routed through > any multiplexing components back to the master based on the > destination field. > > Modules that connect multiplexing components, such as caches and > bridges store any existing source and destination field in the sender > state as a stack (just as before). > > The packet constructor is simplified in that there is no longer a need > to pass the Packet::Broadcast as the destination (this was always the > case for the classic memory system). In the case of Ruby, rather than > using the parameter to the constructor we now rely on setDest, as > there is already another three-argument constructor in the packet > class. > > In many places where the packet information was printed as part of > DPRINTFs, request packets would be printed with a numeric "dest" that > would always be -1 (Broadcast) and that field is now removed from the > printing. > > > Diffs > ----- > > src/arch/arm/table_walker.cc 570b44fe6e04 > src/arch/x86/intmessage.hh 570b44fe6e04 > src/arch/x86/pagetable_walker.cc 570b44fe6e04 > src/cpu/checker/cpu.cc 570b44fe6e04 > src/cpu/checker/cpu_impl.hh 570b44fe6e04 > src/cpu/inorder/resources/cache_unit.hh 570b44fe6e04 > src/cpu/inorder/resources/cache_unit.cc 570b44fe6e04 > src/cpu/o3/fetch_impl.hh 570b44fe6e04 > src/cpu/o3/lsq_unit.hh 570b44fe6e04 > src/cpu/o3/lsq_unit_impl.hh 570b44fe6e04 > src/cpu/ozone/front_end_impl.hh 570b44fe6e04 > src/cpu/ozone/lw_lsq.hh 570b44fe6e04 > src/cpu/ozone/lw_lsq_impl.hh 570b44fe6e04 > src/cpu/simple/atomic.cc 570b44fe6e04 > src/cpu/simple/timing.cc 570b44fe6e04 > src/cpu/testers/directedtest/InvalidateGenerator.cc 570b44fe6e04 > src/cpu/testers/directedtest/SeriesRequestGenerator.cc 570b44fe6e04 > src/cpu/testers/memtest/memtest.cc 570b44fe6e04 > src/cpu/testers/networktest/networktest.cc 570b44fe6e04 > src/cpu/testers/rubytest/Check.cc 570b44fe6e04 > src/dev/io_device.cc 570b44fe6e04 > src/mem/bridge.hh 570b44fe6e04 > src/mem/bridge.cc 570b44fe6e04 > src/mem/bus.cc 570b44fe6e04 > src/mem/cache/cache_impl.hh 570b44fe6e04 > src/mem/cache/prefetch/base.cc 570b44fe6e04 > src/mem/cache/tags/iic.cc 570b44fe6e04 > src/mem/packet.hh 570b44fe6e04 > src/mem/port.cc 570b44fe6e04 > src/mem/port_proxy.cc 570b44fe6e04 > src/mem/ruby/recorder/CacheRecorder.cc 570b44fe6e04 > src/mem/ruby/system/RubyPort.cc 570b44fe6e04 > > Diff: http://reviews.gem5.org/r/1121/diff/ > > > Testing > ------- > > util/regress all passing (disregarding t1000 and eio) > > > Thanks, > > Andreas Hansson > > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
