Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Fixing hpcarm (all SA11x0?) to mostly work again



Rafal Boni wrote:
Folks:
Here's a patch to fix hpcarm to boot and be able to service interrupts post the ARMv6 merge. I suspect Shark has some of the same issues.

This lets me happily complete autoconfig and get a single-user shell (whereas before the machine panic'ed before finishing autoconfig or hung early), but once in single user my Jornada 720 will still lock up after less than a line of output... Any help debugging that would be appreciated. Even with LOCKDEBUG / DIAGNOSTIC I get no output after this point, and I can't get into DDB either.

Hmm, if I do a 'while [ 1 ]; do i=(($i + 1)); echo $i; done' in the shell I get a few hundred lines of output and then croak differently (CV interlock not held during wait), with the following backtrace:

Condition variable error: lockdebug_wakeup: interlocking mutex not held during wakeup

lock address : 0x00000000c2281298 type     :               spin
initialized  : 0x00000000c02446b8 interlock: 0x00000000c03da27c

panic: LOCKDEBUG
Stopped in pid 0.6 (system) at  0xc02a33e0:     mov     r15, r14
db> tr
0xc022b034
        scp=0xc022b034 rlv=0xc0222bb8 (netbsd:lockdebug_abort1+0x90)
        rsp=0xc226ceb0 rfp=0xc226ced0
netbsd:lockdebug_abort1+0xc
        scp=0xc0222b34 rlv=0xc0223a54 (0xc0223a54)
        rsp=0xc226ced4 rfp=0xc226cef8
        r8=0x00000001 r7=0xc024561c
        r6=0xc2265ed4 r5=0xc2281298 r4=0x00000000
0xc0223980
        scp=0xc0223980 rlv=0xc01e89c4 (netbsd:cv_broadcast+0x24)
        rsp=0xc226cefc rfp=0xc226cf0c
        r8=0xd000d000 r7=0xc2281200
        r6=0xc0cea200 r5=0xc21da0e4 r4=0xc2281298
netbsd:cv_broadcast+0xc
        scp=0xc01e89ac rlv=0xc024561c (0xc024561c)
        rsp=0xc226cf10 rfp=0xc226cf20
        r4=0xc2281200
0xc02455f4 (ttwakeup+??)
        scp=0xc02455f4 rlv=0xc02b6490 (0xc02b6490)
        rsp=0xc226cf24 rfp=0xc226cf4c
        r4=0x00000000
0xc02b6418 (sacomstart+??)
        scp=0xc02b6418 rlv=0xc0243e6c (0xc0243e6c)
        rsp=0xc226cf50 rfp=0xc226cf5c
        r10=0xc03ce4ac r9=0x00000000
        r8=0xc0386538 r7=0xc2281200 r6=0xc0cea200 r5=0xc21da0e4
        r4=0xc21da2cc
0xc0243e5c (??)
        scp=0xc0243e5c rlv=0xc02b6004 (0xc02b6004)
        rsp=0xc226cf60 rfp=0xc226cf88
0xc02b5e8c (sacomintr??)
        scp=0xc02b5e8c rlv=0xc020aca0 (netbsd:softint_thread+0x98)
        rsp=0xc226cf8c rfp=0xc226cfb0
        r10=0xc03ce4ac r9=0x00000000
        r8=0xc0386538 r7=0x00000000 r6=0xc180d260 r5=0xc21da0e4
        r4=0xc21da2cc
netbsd:softint_thread+0xc
        scp=0xc020ac14 rlv=0xc02aa9fc (netbsd:lwp_trampoline+0x14)
        rsp=0xc226cfb4 rfp=0x00000000
        r10=0x00000000 r8=0x00000000
        r7=0x00000000 r6=0x00000000 r5=0xc21da0e4 r4=0xc020ac08
db>


(This looks to be one of the CV's initialized in ttymalloc())


Home | Main Index | Thread Index | Old Index