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/