-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, On Mar 21, 2010, at 7:19 PM, Taylor R Campbell wrote:
The other day I tried installing the X sets from the (now gone) 20100313 entry at <ftp://nyftp.NetBSD.org/pub/NetBSD-daily/netbsd-5/> to obtain an X server. I did this inside a pkg_comp chroot -- that may be relevant, but I doubt it. Upon running `X' (no arguments, no config file), the X server loaded up a number of modules and then segfaulted after mmap failed with EINVAL in pci_device_map_range in NVCommonSetup of xf86-video-nv. Here's the invocation of mmap from ktrace: 1067 1 Xorg CALL mmap(0,0x1000000,3,1,7,0,0,0x91000000) 1067 1 Xorg RET mmap -1 errno 22 Invalid argument Running `X' with a breakpoint on pci_device_map_range in gdb shows when the SIGSEGV is delivered. File descriptor 7 at that point is /dev/pci0. Any ideas on how to proceed?
Probably Yet Another Dumbass Linuxism - unlike NetBSD Linux lets you map unused PCI space, and apparently the driver doesn't bother checking if the mmap() succeeded. What we need is the pcictl dump output for the graphics chip ( or alternatively, your /var/log/Xorg. 0.log, it should provide the relevant information as well ), I'd almost bet the driver tries to map more than the graphic chip's BARs cover.
have fun Michael -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (Darwin) iQEVAwUBS6ar38pnzkX8Yg2nAQJkZgf/SXx0choY/CDH7qXiAt8mauKjSp1maJSl dftLG3nLZXyVTIhxub/FFlQ9Cm6fYAlX/nmmODwu6PfduZgCwEmw62YSJ8OzZwuB tBF4N2R0xq509owGIZZfY7Ybm+5CLymb5aRnM16cB/lixw2SngzK51TLeSaUVggL Mzv18TThh0/cHynL8CSYCaofK+ltXUq3NA9/YPvK4InLqjo7RAnAb+8oXcW1CsLW DlvjsC+k+6ZgOoVoXg/sbZJzmYqB2GvSTD+NcOCd9qLNoCPVnt6NcxKfZub429V8 QJr8drl8ZCopkw7clHWG14XKdonema6aXR9cRNMdfCeA+PcUG8CQOA== =P0GR -----END PGP SIGNATURE-----