network: convert links & switches to first class C++ SimObjects
authorBrad Beckmann <Brad.Beckmann@amd.com>
Fri, 29 Apr 2011 00:18:14 +0000 (17:18 -0700)
committerBrad Beckmann <Brad.Beckmann@amd.com>
Fri, 29 Apr 2011 00:18:14 +0000 (17:18 -0700)
commit40bcbf42539fec83628f2ae2627238adff27f62c
tree993083e3b6e5661697261e81869bf40e17027826
parentbc5eb596053f7f69c88f8218f20709d94b2a331c
network: convert links & switches to first class C++ SimObjects

This patch converts links and switches from second class simobjects that were
virtually ignored by the networks (both simple and Garnet) to first class
simobjects that directly correspond to c++ ojbects manipulated by the
topology and network classes.  This is especially true for Garnet, where the
links and switches directly correspond to specific C++ objects.

By making this change, many aspects of the Topology class were simplified.

--HG--
rename : src/mem/ruby/network/Network.cc => src/mem/ruby/network/BasicLink.cc
rename : src/mem/ruby/network/Network.hh => src/mem/ruby/network/BasicLink.hh
rename : src/mem/ruby/network/Network.cc => src/mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.cc
rename : src/mem/ruby/network/Network.hh => src/mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.hh
rename : src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.py => src/mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.py
rename : src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.py => src/mem/ruby/network/garnet/fixed-pipeline/GarnetRouter_d.py
rename : src/mem/ruby/network/Network.cc => src/mem/ruby/network/garnet/flexible-pipeline/GarnetLink.cc
rename : src/mem/ruby/network/Network.hh => src/mem/ruby/network/garnet/flexible-pipeline/GarnetLink.hh
rename : src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.py => src/mem/ruby/network/garnet/flexible-pipeline/GarnetLink.py
rename : src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.py => src/mem/ruby/network/garnet/flexible-pipeline/GarnetRouter.py
50 files changed:
configs/ruby/MESI_CMP_directory.py
configs/ruby/MI_example.py
configs/ruby/MOESI_CMP_directory.py
configs/ruby/MOESI_CMP_token.py
configs/ruby/MOESI_hammer.py
configs/ruby/Network_test.py
configs/ruby/Ruby.py
src/mem/protocol/RubySlicc_Exports.sm
src/mem/ruby/network/BasicLink.cc [new file with mode: 0644]
src/mem/ruby/network/BasicLink.hh [new file with mode: 0644]
src/mem/ruby/network/BasicLink.py [new file with mode: 0644]
src/mem/ruby/network/BasicRouter.cc [new file with mode: 0644]
src/mem/ruby/network/BasicRouter.hh [new file with mode: 0644]
src/mem/ruby/network/BasicRouter.py [new file with mode: 0644]
src/mem/ruby/network/Network.hh
src/mem/ruby/network/Network.py
src/mem/ruby/network/SConscript
src/mem/ruby/network/Topology.cc
src/mem/ruby/network/Topology.hh
src/mem/ruby/network/garnet/fixed-pipeline/CreditLink_d.hh
src/mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.cc [new file with mode: 0644]
src/mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.hh [new file with mode: 0644]
src/mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.py [new file with mode: 0644]
src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc
src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh
src/mem/ruby/network/garnet/fixed-pipeline/GarnetRouter_d.py [new file with mode: 0644]
src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.cc
src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh
src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc
src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh
src/mem/ruby/network/garnet/fixed-pipeline/SConscript
src/mem/ruby/network/garnet/flexible-pipeline/GarnetLink.cc [new file with mode: 0644]
src/mem/ruby/network/garnet/flexible-pipeline/GarnetLink.hh [new file with mode: 0644]
src/mem/ruby/network/garnet/flexible-pipeline/GarnetLink.py [new file with mode: 0644]
src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc
src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh
src/mem/ruby/network/garnet/flexible-pipeline/GarnetRouter.py [new file with mode: 0644]
src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.cc
src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.hh
src/mem/ruby/network/garnet/flexible-pipeline/Router.cc
src/mem/ruby/network/garnet/flexible-pipeline/Router.hh
src/mem/ruby/network/garnet/flexible-pipeline/SConscript
src/mem/ruby/network/orion/NetworkPower.cc
src/mem/ruby/network/simple/SimpleNetwork.cc
src/mem/ruby/network/simple/SimpleNetwork.hh
src/mem/ruby/network/topologies/Crossbar.py
src/mem/ruby/network/topologies/Mesh.py
src/mem/ruby/network/topologies/MeshDirCorners.py
src/mem/ruby/slicc_interface/AbstractController.hh
src/mem/ruby/slicc_interface/Controller.py