config: Added the topology description to m5 config.ini
authorBrad Beckmann <Brad.Beckmann@amd.com>
Fri, 20 Aug 2010 18:46:11 +0000 (11:46 -0700)
committerBrad Beckmann <Brad.Beckmann@amd.com>
Fri, 20 Aug 2010 18:46:11 +0000 (11:46 -0700)
src/mem/ruby/network/Network.py
src/mem/ruby/network/topologies/Crossbar.py
src/mem/ruby/network/topologies/Mesh.py
src/mem/ruby/network/topologies/MeshDirCorners.py

index 1fdf156347db6cdb87d7c961212feb4910d31cf9..530afcc456a84f3c94f85dae1c23013cf6935032 100644 (file)
@@ -50,6 +50,8 @@ class IntLink(Link):
 
 class Topology(SimObject):
     type = 'Topology'
+    description = Param.String("Not Specified",
+                               "the name of the imported topology module")
     ext_links = VectorParam.ExtLink("Links to external nodes")
     int_links = VectorParam.IntLink("Links between internal nodes")
     num_int_nodes = Param.Int("Nunber of internal nodes")
index 86c53cdefe5948bc1d2edb3de9c51c4df3900660..77a6fd6f2a232dee5ce06a5ebcf3991e74392acb 100644 (file)
 from m5.params import *
 from m5.objects import *
 
+class Crossbar(Topology):
+    description='Crossbar'
+
 def makeTopology(nodes, options):
     ext_links = [ExtLink(ext_node=n, int_node=i)
                  for (i, n) in enumerate(nodes)]
     xbar = len(nodes) # node ID for crossbar switch
     int_links = [IntLink(node_a=i, node_b=xbar) for i in range(len(nodes))]
-    return Topology(ext_links=ext_links, int_links=int_links,
+    return Crossbar(ext_links=ext_links, int_links=int_links,
                     num_int_nodes=len(nodes)+1)
 
 
index 57913e77891f59108b2d277286658f18b82fa4fd..d9ddc7b17dbd94421952277839a72024a91be314 100644 (file)
@@ -29,6 +29,9 @@
 from m5.params import *
 from m5.objects import *
 
+class Mesh(Topology):
+    description='Mesh'
+
 # Makes a generic mesh assuming an equal number of cache and directory cntrls
 
 def makeTopology(nodes, options):
@@ -87,6 +90,6 @@ def makeTopology(nodes, options):
                                          node_b=south_id,
                                          weight=2))
 
-    return Topology(ext_links=ext_links,
-                    int_links=int_links,
-                    num_int_nodes=num_routers)
+    return Mesh(ext_links=ext_links,
+                int_links=int_links,
+                num_int_nodes=num_routers)
index b87b749f6128e8c51294ff30b459d586b19a6bce..e994ad1f99a7ba303a417988c93978a448af2ec3 100644 (file)
@@ -29,6 +29,9 @@
 from m5.params import *
 from m5.objects import *
 
+class MeshDirCorners(Topology):
+    description='MeshDirCorners'
+
 # This file contains a special network creation function.  This
 # networks is not general and will only work with specific system
 # configurations.  The network specified is similar to GEMS old file
@@ -105,7 +108,7 @@ def makeTopology(nodes, options):
                                          node_b=south_id,
                                          weight=2))
 
-    return Topology(ext_links=ext_links,
-                    int_links=int_links,
-                    num_int_nodes=num_routers)
+    return MeshDirCorners(ext_links=ext_links,
+                          int_links=int_links,
+                          num_int_nodes=num_routers)