Hi Jeff, Jeff Fellin wrote:
I am generating a system from the Petalogix v0-20.rc3 distribution and am
experiencing system hangs after the system has been in multi-user for less
than a minute. My gut reaction is one of my device drivers is deadlocked on
a spinlock. So, I compiled the system enabling the various kernel lock debug
flags: DEBUG_SPINLOCK, DEBUG_MUTEXES, DEBUG_RWSEMS, and
DEBUG_SPINLOCK_SLEEP.
When I boot the system with these config options the system hangs with no
output
after displaying the line:
Found romfs @ 0x2c19b08c (0x0016800)
### klimig 2c1b2000 ###
Moving 0x00168000 bytes from 0x2c19b08c to 0x2c1b1d6c
New klimit: 0x2c31a000
Bottom line question is do these debug options work in this distribution.
If so, can someone tell me what I'm doing wrong with setting the options.
I built a -0.20-rc3 kernel with these debug options enabled, and the system boots fine.
As to the cause, it's hard to say. I see that you have a number of custom drivers enabled in your build - these are potential culprits.
I suggest you use XMD to connect to the microblaze when it has locked up like this - look at the registers, see where the PC is up to. Look this up in the output of `mb-objdump -S linux-2.6/linux`, basic forensic debugging.
A note - to build with all of these debug options I actually had to make a couple of small changes - in asm-microblaze/page.h, for example. The compile-time type checking also picked up some issues in the Xilinx EMAC driver. Did you find this as well?
Regards, John ___________________________ microblaze-uclinux mailing list microblaze-uclinux@xxxxxxxxxxxxxx Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/