Subject: Re: AXP 3000-300X hangs
To: None <port-alpha@NetBSD.ORG>
From: John Birrell <jb@cimlogic.com.au>
List: port-alpha
Date: 03/06/1997 10:57:15
I managed to interrput the kernel to the SRM console which reported the
PC as FFFFFC00.003005DC. From the link map this looks like the idle loop?

                0xfffffc0000300000                __start
                0xfffffc0000300000                kernel_text
                0xfffffc0000300070                prom_dispatch
                0xfffffc00003000f0                alpha_rpcc
                0xfffffc00003000f8                alpha_mb
                0xfffffc0000300100                alpha_wmb
                0xfffffc0000300108                alpha_pal_imb
                0xfffffc0000300110                alpha_pal_draina
                0xfffffc0000300118                alpha_pal_halt
                0xfffffc0000300124                alpha_pal_rdmces
                0xfffffc000030012c                alpha_pal_rdusp
                0xfffffc0000300134                alpha_pal_swpipl
                0xfffffc000030013c                _alpha_pal_swpipl
                0xfffffc0000300144                alpha_pal_tbi
                0xfffffc000030014c                alpha_pal_whami
                0xfffffc0000300154                alpha_pal_wrent
                0xfffffc000030015c                alpha_pal_wrfen
                0xfffffc0000300164                alpha_pal_wrusp
                0xfffffc000030016c                alpha_pal_wrvptptr
                0xfffffc0000300174                alpha_pal_wrmces
                0xfffffc000030017c                sigcode
                0xfffffc00003001a4                esigcode
                0xfffffc00003001a4                exception_return
                0xfffffc000030023c                exception_save_regs
                0xfffffc00003002a0                exception_restore_regs
                0xfffffc0000300304                XentArith
                0xfffffc0000300334                XentIF
                0xfffffc0000300364                XentInt
                0xfffffc0000300390                XentMM
                0xfffffc00003003c0                XentSys
                0xfffffc0000300420                XentUna
                0xfffffc0000300450                savefpstate
                0xfffffc00003004e4                restorefpstate
                0xfffffc0000300578                savectx
                0xfffffc00003005b8                idle
                0xfffffc00003005f0                cpu_switch
                0xfffffc000030074c                switch_trampoline
                0xfffffc0000300760                switch_exit

(gdb) disassemble idle
Dump of assembler code for function idle:
0xfffffc00003005b8 <idle>:      br      t12,0xfffffc00003005bc <Lidle1>
0xfffffc00003005bc <Lidle1>:    ldah    gp,25(t12)
0xfffffc00003005c0 <Lidle1+4>:  lda     gp,26756(gp)
0xfffffc00003005c4 <Lidle1+8>:  ldq     at,-29512(gp)
0xfffffc00003005c8 <Lidle1+12>: stq     zero,0(at)
0xfffffc00003005cc <Lidle1+16>: clr     a0
0xfffffc00003005d0 <Lidle1+20>: call_pal        0x35
0xfffffc00003005d4 <Lidle2>:    ldq     t0,-29832(gp)
0xfffffc00003005d8 <Lidle2+4>:  ldl     t0,0(t0)
0xfffffc00003005dc <Lidle2+8>:  beq     t0,0xfffffc00003005d4 <Lidle2>
0xfffffc00003005e0 <Lidle2+12>: lda     a0,6(zero)
0xfffffc00003005e4 <Lidle2+16>: call_pal        0x35
0xfffffc00003005e8 <Lidle2+20>: ldq     t12,-15776(gp)
0xfffffc00003005ec <Lidle2+24>: jmp     zero,(t12),0xfffffc0000300648 <sw1>
End of assembler dump.

So, is it likely to be waiting on an interrupt that never arrives?

-- 
John Birrell - jb@cimlogic.com.au; jb@netbsd.org
CIMlogic Pty Ltd, 119 Cecil Street, South Melbourne Vic 3205, Australia
Tel +61 3 9690 6900 Fax +61 3 9690 6650 Mob +61 418 353 137