Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Jul 2000 15:12:59 +0200 (CEST)
From:      wilko@freebsd.org
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   alpha/20248: DEFPA FDDI on alpha panics system
Message-ID:  <200007281312.PAA05912@freebie.demon.nl>

next in thread | raw e-mail | index | archive | help

>Number:         20248
>Category:       alpha
>Synopsis:       DEFPA FDDI on alpha panics system
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-alpha
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jul 28 06:20:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Wilko Bulte
>Release:        FreeBSD 4.1-R alpha
>Organization:
Private FreeBSD site - The Netherlands
>Environment:

	4.1-R on a MiataGL-600au. System contains a DEC DEFPA FDDI PCI
	adapter

>Description:

presence of 'device fpa' in the kernel produces a panic on 
boot as follows:

isp0: interrupting at CIA irq 3
fpa0: <Digital DEFPA PCI FDDI Controller> port 0x8100-0x817f mem
0x80800000-0x8080ffff,0x80821000-0x8082107f irq 16 at device 9.0 on pci1
     
fatal kernel trap:
     
    trap entry = 0x2 (memory management fault)  
    a0         = 0x80821014
    a1         = 0x1
    a2         = 0x0
    pc         = 0xfffffc0000369158
    ra         = 0xfffffc0000368e98
    curproc    = 0xfffffc000057e988
        pid = 0, comm = swapper
     
ddbprinttrap from 0xfffffc0000369158
ddbprinttrap(0x80821014, 0x1, 0x0, 0x2)
panic: trap
panic
Stopped at      Debugger+0x2c:  ldq     ra,0(sp) <0xfffffc00005e5900>
<ra=0xfffffc00004c3ca0,sp=0xfffffc00005e5900>
db> t
Debugger() at Debugger+0x2c
panic() at panic+0x100
trap() at trap+0x610
XentMM() at XentMM+0x20
pdq_initialize() at pdq_initialize+0x278
(null)() at 0x6
db>
     
and
     
fffffc00003688e0 T pdq_interrupt
fffffc0000368c20 T pdq_initialize
fffffc00003691c0 T pdq_ifinit
fffffc0000369300 T pdq_ifwatchdog
fffffc0000369380 T pdq_ifstart
fffffc0000369520 T pdq_os_receive_pdu
fffffc0000369620 T pdq_os_restart_transmitter 
     
It seems something in pdq_initialize might be doing something wrong. At
least, it does on alpha. I tested with one DEFPA in a current i386 FreeBSD
box and the other one in the Miata running T64 4.0G. That works just fine.

>How-To-Repeat:

	See above

>Fix:

Thanks to Andrew Gallatin for:

Index: pci/pci_compat.c
===================================================================
RCS file: /home/ncvs/src/sys/pci/pci_compat.c,v
retrieving revision 1.35
diff -u -r1.35 pci_compat.c
--- pci/pci_compat.c    2000/02/28 08:12:24     1.35
+++ pci/pci_compat.c    2000/07/25 15:03:00
@@ -96,7 +96,7 @@
     
        rid = reg;
        res = bus_alloc_resource(cfg->dev, SYS_RES_MEMORY, &rid,
-                                0, ~0, 1, RF_ACTIVE);
+                                0, ~0, 1, RF_ACTIVE|PCI_RF_DENSE);
        if (res) {
                *pa = rman_get_start(res);
                *va = (vm_offset_t) rman_get_virtual(res);

This solves the panic condition. It does not, however result in a working
DEFPA/FDDI link. Note that de fpa driver in -current (I think this is the
same as in 4.1) on i386 works just fine. 

>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200007281312.PAA05912>