81a82,91
> def create_topology(controllers, options):
> """ Called from create_system in configs/ruby/<protocol>.py
> Must return an object which is a subclass of BaseTopology
> found in configs/topologies/BaseTopology.py
> This is a wrapper for the legacy topologies.
> """
> exec "import %s as Topo" % options.topology
> topology = eval("Topo.%s(controllers)" % options.topology)
> return topology
>
92c102
< (cpu_sequencers, dir_cntrls, all_cntrls) = \
---
> (cpu_sequencers, dir_cntrls, topology) = \
131,132c141,143
< # Important: the topology must be created before the network and after the
< # controllers.
---
> # Important: the topology must be instantiated before the network and after
> # the controllers. Hence the separation between topology definition and
> # instantiation. TopologyCreator is in src/mem/ruby/network/topologies/.
134c145
< exec "import %s" % options.topology
---
> from TopologyCreator import instantiateTopology
136,139c147,149
< net_topology = eval("%s.makeTopology(all_cntrls, options, \
< IntLinkClass, ExtLinkClass, \
< RouterClass)" \
< % options.topology)
---
> net_topology = instantiateTopology(topology, options, \
> IntLinkClass, ExtLinkClass, \
> RouterClass)
141c151
< print "Error: could not create topology %s" % options.topology
---
> print "Error: could not make topology %s" % options.topology