gem5/src/mem/ruby
Joel Hestness 4095af5fd6 RubyPort and Sequencer: Fix draining
Fix the drain functionality of the RubyPort to only call drain on child ports
during a system-wide drain process, instead of calling each time that a
ruby_hit_callback is executed.

This fixes the issue of the RubyPort ports being reawakened during the drain
simulation, possibly with work they didn't previously have to complete. If
they have new work, they may call process on the drain event that they had
not registered work for, causing an assertion failure when completing the
drain event.

Also, in RubyPort, set the drainEvent to NULL when there are no events
to be drained. If not set to NULL, the drain loop can result in stale
drainEvents used.
2012-09-23 13:57:08 -05:00
..
buffers Ruby System: Convert to Clocked Object 2012-09-10 12:21:01 -05:00
common ruby: eliminate typedef integer_t 2012-09-18 22:49:12 -05:00
filters Ruby: remove config information from ruby.stats 2012-07-12 08:39:19 -05:00
network ruby: avoid using g_system_ptr for event scheduling 2012-09-18 22:46:34 -05:00
profiler ruby: eliminate typedef integer_t 2012-09-18 22:49:12 -05:00
recorder MEM: Remove the Broadcast destination from the packet 2012-04-14 05:45:55 -04:00
slicc_interface ruby: avoid using g_system_ptr for event scheduling 2012-09-18 22:46:34 -05:00
system RubyPort and Sequencer: Fix draining 2012-09-23 13:57:08 -05:00
SConscript Ruby: Remove some unused typedefs 2011-11-03 22:46:45 -05:00
SConsopts Gems: Eliminate the now unused GEMS_ROOT scons variable. 2011-03-11 11:27:26 -08:00