On Tue, 23 Jun 2015, Gross, Joe wrote:
Hello,
I'm having a problem correctly running a config that was generated by using the
config ini loading mechanism. The binary was built using --with-cxx-config. It
then runs correctly and generates a config.ini file in the m5out directory
(when configuring using python/swig). However, when it is rerun using the same
config.ini file as an input, it prints the following error message:
Config problem in sim object system.ruby.network: Object isn't a mem object and
so can have slave port: slave[2]
This is reported by the CxxConfigManager as it tries to reconnect all the ports
that are described in the ini file.
I believe the reason is that SimpleNetwork inherits from Network and there are
no slave ports to get, at least not via the method that CxxConfigManager is
trying to use. Changing Network to inherit from MemObject and overriding the
getSlavePort() call does not help because I don't see any ports to retrieve.
This was working somewhere around gem5-dev, r9559, but appears to have broken
since then. Looking through the Network and SimpleNetwork and cxx_config
changes since it last worked, there is nothing obvious that would have caused
this problem, but quite a lot has changed. There have been quite a few changes
to Network and it seems likely that one of these broke the ability to restore a
SimpleNetwork from a config.ini file. In any case, if the system can be
configured by python and generate an ini file then it should be able to be
regenerated from that same ini file.
Nilay, since you seem to have been working on these files and may know what has
changed, do you have any insights?
Joe, look at how things are being done in src/python/swig/pyobject.cc and
modify src/sim/cxx_manager.cc accordingly.
--
Nilay
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev