I am posting this to both the user and the dev list since I don't know
where this falls.

I read here (http://www.m5sim.org/Simulation_Scripts_Explained) that
the Python classes are usually in the same src folders as the C++
classes. But what exactly is the glue that binds them together ? I see
Ethernet.py inside src/dev . Inside Ethernet.py, I see definitions for
Python classes EtherTap and EtherLink which are used in simulation
scripts. But how exactly are these glued to ethertap.cc and
etherlink.cc ? I can't seem to make that connection.

Also, I am not sure what is going on, but inside the C++ code, the
class EtherLink takes two interfaces as attributes both of which are
of type "Interface". The class EtherTap on the other hand, takes one
interface as an attribute which is of type "EtherInt". From the C++
code, it looks like EtherInt is a super class of Interface, so if I
pass an Interface object, it should work as an EtherInt object as
well. With this in mind, I tried doing :

self.drivesys.ethertap.interface=self.testsys.tsunami.ethernet.interface
in the Python code in FSConfig.py

because the same self.testsys.tsunami.ethernet.interface is used as an
interface for etherlink in the example. But this just gives me a
warning "warn: error looking up port interface on object
testsys.tsunami.ethernet" and things don't work as expected.

Any clarification would greatly help.

Anirudh
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to