Subject: sparc64 and defpa fddi
To: None <port-sparc64@netbsd.org>
From: William Waites <ww@styx.org>
List: port-sparc64
Date: 12/16/2001 18:00:19
having just got my hands on an ultra5, i decided to install the 
20011205 snapshot on it and it seems significantly more stable
than the last time i tried (about half a year) ago. a 'make 
build' has just finished with sources from friday with only
a minor problem relating to a header file not being put in
the right place (dev/ir/irdaio.h). many thanks to everyone
working to make sparc64 useable and stable.

a third party symbios logic 53c860 scsi card in one of the
pci slots is also working flawlessly so far.

but i have run into a problem most likely because nobody has
tried to get a fddi card to work in a pci ultrasparc.
when support for the pci defpa fddi card is compiled in,
the kernel drops into the debugger with a data access
exception apparently in the pciattach phase. here is
part of a cut-and-paste from the serial console
(complete boot messages and backtrace from my current
kerlen as well as the 20011205 snapshot kernel are in
ftp://ftp.styx.org/users/ww/anaphora.txt):

fpa0 at pci1 dev 3 function 0data fault: pc=12ef440 addr=57620256000
kernel trap 30: data access exception                               
Stopped in pid 0 (swapper) at   iommu_dvmamem_map+0x80: ldx             [%i2 + 0
x50], %o2                                                                       


db> trace                                        
psycho_dmamem_map(1dd7c00, 1c08820, 1, 40, 1de20c8, 5) at psycho_dmamem_map+0x24
                                                                                
pdq_os_memalloc_contig(0, 10, fffffffffffffff8, 1, 1de2000, 1000000) at pdq_os_m
emalloc_contig+0x270                                                            
pdq_initialize(1de2000, e002e000, 1dd5480, 0, 1dd5400, 0) at pdq_initialize+0x50
                                                                                
pdq_pci_attach(1dc7900, 1dd5400, 1c08ce0, 12c03b8, 0, 1dd5427) at pdq_pci_attach
+0x158                                                                          
config_attach(1dd5400, 18083c8, 187b400, 129f48c, 1c08ce0, 1806800) at config_at
tach+0x2a0                                                                      
config_found_sm(1dc7900, 1c08ce0, 129f48c, 129f65c, 1dc7b00, f008732000021800) a
t config_found_sm+0x24                                                          
pci_probe_bus(1dc7900, 1, 0, 1dc7900, 2, ffff) at pci_probe_bus+0x30c
pciattach(13b8e40, 1dc7900, 1c09170, 129f274, 0, 1dc7927) at pciattach+0x208

   
the behaviour persists with and without DEFPA_IOMAPPED defined
in if_fpa.c and the offending call to pdq_initialize seems
to be at line 473 in that file, but i can't make it much further
because i'm not clear on the semantics of the pdq_* calls...
can anyone tell what's happening?

thanks,
-w
--
ww@STYX.ORG