Subject: Re: Radeon server dying in -current
To: Mihai CHELARU <kefren@netbsd.ro>
From: Mihai CHELARU <kefren@netbsd.ro>
List: tech-x11
Date: 04/12/2005 10:32:23
Mihai CHELARU wrote:
> Mihai CHELARU wrote:
> 
>> Hello,
>>
>> I'm seeing something wrong with ati driver in Xfree 4.5.0, as well. 
>> XFree86 crashes with a SIGBUS when trying to probe the pci bus. Last 
>> line from XFree86.0.log:
>>
>> (II) PCI: Probing config type using method 1
>>
>> Last lines from XFree86 stdout/stderr:
>>
>> (++) Using config file: "/etc/X11/XF86config".
>> Bus error (core dumped)
>>
>> kdump says:
>>
>>    859 XFree86  GIO   fd 0 wrote 45 bytes
>>        "(II) PCI: Probing config type using method 1
>>        "
>>    859 XFree86  RET   write 45/0x2d
>>    859 XFree86  PSIG  SIGBUS SIG_DFL
>>    859 XFree86  NAMI  "XFree86.core"
>>
>> Sadly, I don't think I have enough time to compile -g XFree86 and to 
>> investigate further.
>>
>> My video card is ATI Radeon X600 and my arch is amd64.
>>
> 
> Ok, so I was wrong, I had time :)
> Here is a gdb bt:
> 
> #0  ix86PciSelectCfgmech () at compiler.h:1393
> 1393       __asm__ __volatile__("inl %1,%0" :
> (gdb) bt
> #0  ix86PciSelectCfgmech () at compiler.h:1393
> #1  0x00000000006a6d64 in ix86PciInit () at ix86Pci.c:704
> #2  0x00000000006a5ac7 in xf86scanpci (flags=14506304) at Pci.c:1028
> #3  0x0000000000669c10 in FindPCIVideoInfo () at xf86pciBus.c:207
> #4  0x00000000006625f5 in InitOutput (pScreenInfo=0xdcb320, argc=4, 
> argv=0x7f7fffffe9a0)
>     at xf86Init.c:569
> #5  0x00000000006d6b58 in main (argc=4, argv=0x7f7fffffe9a0, envp=0x0) 
> at main.c:355
> (gdb)
> 
> 

Hello again,

Looks like I found what's the problem (for me at least). Should we use 
netbsdPci.c instead of ix86Pci.c even for amd64 ? This patch makes pci 
probing to work (at least for me).

Index: xfree/xc/programs/Xserver/hw/xfree86/os-support/bus/Imakefile
===================================================================
RCS file: 
/cvsroot/xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bus/Imakefile,v
retrieving revision 1.15.6.1
diff -u -r1.15.6.1 Imakefile
--- xfree/xc/programs/Xserver/hw/xfree86/os-support/bus/Imakefile 
6 Apr 2005 20:00:
52 -0000        1.15.6.1
+++ xfree/xc/programs/Xserver/hw/xfree86/os-support/bus/Imakefile 
12 Apr 2005 06:58
:09 -0000
@@ -86,6 +86,13 @@
  PCIDRVRSRC = netbsdPci.c
  PCIDRVROBJ = netbsdPci.o

+#elif defined(NetBSDArchitecture) && defined(AMD64Architecture)
+
+XCOMM NetBSD/amd64
+
+PCIDRVRSRC = netbsdPci.c
+PCIDRVROBJ = netbsdPci.o
+
  #elif defined(LinuxArchitecture) && \
       (defined(i386Architecture) || defined(AMD64Architecture))


-- 
Mihai