summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/topologies/TopologyCreator.py
diff options
context:
space:
mode:
authorBrad Beckmann <Brad.Beckmann@amd.com>2012-07-10 22:51:53 -0700
committerBrad Beckmann <Brad.Beckmann@amd.com>2012-07-10 22:51:53 -0700
commit11b725c19da4d08ae471678f6da867c67e3c15b5 (patch)
tree58bd0ebd09b404f0e860531bda80195f234d0bf2 /src/mem/ruby/network/topologies/TopologyCreator.py
parent745274cbd4851b3bf725b24138c1fd13746492ec (diff)
downloadgem5-11b725c19da4d08ae471678f6da867c67e3c15b5.tar.xz
ruby: changes how Topologies are created
Instead of just passing a list of controllers to the makeTopology function in src/mem/ruby/network/topologies/<Topo>.py we pass in a function pointer which knows how to make the topology, possibly with some extra state set in the configs/ruby/<protocol>.py file. Thus, we can move all of the files from network/topologies to configs/topologies. A new class BaseTopology is added which all topologies in configs/topologies must inheirit from and follow its API. --HG-- rename : src/mem/ruby/network/topologies/Crossbar.py => configs/topologies/Crossbar.py rename : src/mem/ruby/network/topologies/Mesh.py => configs/topologies/Mesh.py rename : src/mem/ruby/network/topologies/MeshDirCorners.py => configs/topologies/MeshDirCorners.py rename : src/mem/ruby/network/topologies/Pt2Pt.py => configs/topologies/Pt2Pt.py rename : src/mem/ruby/network/topologies/Torus.py => configs/topologies/Torus.py
Diffstat (limited to 'src/mem/ruby/network/topologies/TopologyCreator.py')
-rw-r--r--src/mem/ruby/network/topologies/TopologyCreator.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mem/ruby/network/topologies/TopologyCreator.py b/src/mem/ruby/network/topologies/TopologyCreator.py
new file mode 100644
index 000000000..d9b989e77
--- /dev/null
+++ b/src/mem/ruby/network/topologies/TopologyCreator.py
@@ -0,0 +1,19 @@
+
+
+
+
+from m5.params import *
+from m5.objects import *
+
+def instantiateTopology(topology, options, IntLink, ExtLink, Router):
+
+ topo = Topology()
+ topo.description = topology.description
+
+ routers, int_links, ext_links = topology.makeTopology(options, IntLink, ExtLink, Router)
+
+ topo.routers = routers
+ topo.int_links = int_links
+ topo.ext_links = ext_links
+
+ return topo