Hi,
I am trying to get a device working in SE mode. I hacked SConscripts here
and there, and successed compiling a device that inherits DmaDevice.
The intertance chain looks like
MyDevice:DmaDevice:PioDevice:MemObject:SimObject
The problem is, the PioDevice.sys (a pointer to the system) is not
initialized properly (holds 0).
It should be initilazed in the Ctor of PioDevice as:
dev/io_device.cc
PioDevice::PioDevice(const Params *p)
: MemObject(p),
#if FULL_SYSTEM
platform(p->platform),
#endif
sys(p->system), pioPort(NULL)
{}
I gdbed and p->system holds 0 when the Ctor is executed. I guess p->system
should have been initialized in the following
dev/Device.py
class PioDevice(MemObject):
type = 'PioDevice'
abstract = True
pio = Port("Programmed I/O port")
if buildEnv['FULL_SYSTEM']:
platform = Param.Platform(Parent.any, "Platform this device is part
of")
system = Param.System(Parent.any, "System this device is part of")
Now it is the where python-SWIG magic occurs, so I would appreciate any
advice how should I proceed debugging from here.
Thanks,
Min
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users