ruby: replace global g_system_ptr with per-object pointers
authorBrandon Potter <brandon.potter@amd.com>
Fri, 10 Jul 2015 21:05:23 +0000 (16:05 -0500)
committerBrandon Potter <brandon.potter@amd.com>
Fri, 10 Jul 2015 21:05:23 +0000 (16:05 -0500)
commitf9a370f1728fe5d752fa6962ba23774eec8c883e
treea81a0331b75c72ec801d1ecf1ce62a8bc6f3d112
parentc38f5098b152ea1e1dde96220d3f9e50d3411780
ruby: replace global g_system_ptr with per-object pointers

This is another step in the process of removing global variables
from Ruby to enable multiple RubySystem instances in a single simulation.

With possibly multiple RubySystem objects, we can no longer use a global
variable to find "the" RubySystem object.  Instead, each Ruby component
has to carry a pointer to the RubySystem object to which it belongs.
26 files changed:
src/mem/ruby/common/Global.cc
src/mem/ruby/common/Global.hh
src/mem/ruby/network/MessageBuffer.cc
src/mem/ruby/network/simple/Throttle.cc
src/mem/ruby/profiler/AddressProfiler.cc
src/mem/ruby/profiler/AddressProfiler.hh
src/mem/ruby/profiler/Profiler.cc
src/mem/ruby/profiler/Profiler.hh
src/mem/ruby/structures/BankedArray.cc
src/mem/ruby/structures/BankedArray.hh
src/mem/ruby/structures/Cache.py
src/mem/ruby/structures/CacheMemory.cc
src/mem/ruby/structures/RubyMemoryControl.cc
src/mem/ruby/structures/WireBuffer.cc
src/mem/ruby/structures/WireBuffer.hh
src/mem/ruby/structures/WireBuffer.py
src/mem/ruby/system/DMASequencer.cc
src/mem/ruby/system/DMASequencer.hh
src/mem/ruby/system/RubyPort.cc
src/mem/ruby/system/RubyPort.hh
src/mem/ruby/system/Sequencer.cc
src/mem/ruby/system/Sequencer.py
src/mem/ruby/system/System.cc
src/mem/ruby/system/System.hh
src/mem/slicc/symbols/StateMachine.py
src/mem/slicc/symbols/Type.py