On Thu, 10 Mar 2011, Nilay Vaish wrote:
Creating root params
Creating root
Getting root
Done creating root
Creating system params
Getting system.physmem
Creating system
Getting system
Done creating system
Creating system.physmem params
Creating system.physmem
Getting system.physmem
Done creating system.physmem
Creating system.ruby params
Getting system.ruby.network
Getting system.ruby.network.topology
Getting system.ruby.network.topology.ext_links0
Getting system.ruby.l1_cntrl0
Getting system.ruby.l1_cntrl0.L1DcacheMemory
Getting system.ruby
Getting system.ruby.network
--
Nilay
Steve asked where exactly is the cycle coming from. Here is the
explanation -- system.ruby needs a pointer to the network object. The
network object needs topology pointer, which further needs the link
pointers. Each link connects two nodes. So again it needs pointers to
those, in this case the external link 0 needs pointer to the cache
controller. The cache controller needs pointers to cache memories that it
is managing. Earlier cache memories were created just from cache
configuration parameters. But now I added that pointer to RubySystem is
required for construction of cache memory object. This led to a cycle in
the dependence graph.
Nilay
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev