Subject: Re: tga2 + X
To: R. C. Dowdeswell <elric@imrryr.org>
From: Johan Danielsson <joda@pdc.kth.se>
List: port-alpha
Date: 10/12/2000 12:26:47
"R. C. Dowdeswell" <elric@mabelode.imrryr.org> writes:

> Try the attached patch. 

No cigar yet.

fatal kernel trap:

    trap entry = 0x2 (memory management fault)
    a0         = 0x0
    a1         = 0x1
    a2         = 0xffffffffffffffff
    pc         = 0x0
    ra         = 0xfffffc00004a82d4
    curproc    = 0xfffffc0000e8f900
        pid = 187, comm = XalphaNetBSD

panic: trap
Stopped in XalphaNetBSD at      cpu_Debugger+0x4:       ret     zero,(ra)
db> t
cpu_Debugger() at cpu_Debugger+0x4
panic() at panic+0xfc
trap() at trap+0x54c
XentMM() at XentMM+0x20
--- memory management fault (from ipl 4) ---
*ABS*() at          0
tga_intr() at tga_intr+0x134
alpha_shared_intr_dispatch() at alpha_shared_intr_dispatch+0x6c
dec_550_iointr() at dec_550_iointr+0x68
interrupt() at interrupt+0x1c8
XentInt() at XentInt+0x1c
--- interrupt (from ipl 0) ---
tga_ioctl() at tga_ioctl+0x1d4
wsdisplay_internal_ioctl() at wsdisplay_internal_ioctl+0x1ec
wsdisplayioctl() at wsdisplayioctl+0x11c
spec_ioctl() at spec_ioctl+0xc8
vn_ioctl() at vn_ioctl+0x138
sys_ioctl() at sys_ioctl+0x438
syscall() at syscall+0x1dc
XentSys() at XentSys+0x50
--- syscall (54, netbsd.sys_ioctl) ---
--- user mode ---
db> x/i tga_ioctl+0x128,5
tga_ioctl+0x128:        lda     t3,100(zero)
tga_ioctl+0x12c:        stl     t2,0(a2)
tga_ioctl+0x130:        ldq     t0,48(t4)
tga_ioctl+0x134:        ldl     t1,58(t0)
tga_ioctl+0x138:        stl     t1,4(a2)

But I can't find this instruction sequence in tga_intr with gdb.

> I'm a bit tired, and will continue to look at it, but it occurs to
> me that I probably need a spltty() in the code right around there.
> There may be additional problems and I'll scan around for them soon.

I appreciate it.


> Have you tried running the Xserver with the -noaccel option to see if this
> is being caused by the accelerations?  This would help track down the bug
> a bit.

That makes it go away.

/Johan