4.9-RC + XFree86-4 + nvidia weirdness

Ade Lovett ade at FreeBSD.org
Thu Oct 16 18:20:10 PDT 2003


A few system details:

FreeBSD scythe.lovett.com 4.9-RC FreeBSD 4.9-RC #0: Thu Oct 16 14:02:55 
PDT 2003     root at scythe.lovett.com:/usr/obj/usr/src/sys/GENERIC  i386

Bootstrapped from a minimal install from the 4.9-RC2 ISO image.

Relevant devices:

agp0: <VIA Generic host to PCI bridge> mem 0xf8000000-0xfbffffff at 
device 0.0 on pci0
nvidia0: <GeForce4 MX 440 with AGP8X> mem 
0xf4000000-0xf7ffffff,0xf2000000-0xf2ffffff irq 11 at device 0.0 on pci1


Ports of the same vintage:

XFree86-4.3.0,1
XFree86-FontServer-4.3.0_2
XFree86-Server-4.3.0_11
XFree86-clients-4.3.0_3
XFree86-documents-4.3.0
XFree86-font100dpi-4.3.0
XFree86-font75dpi-4.3.0
XFree86-fontCyrillic-4.3.0
XFree86-fontDefaultBitmaps-4.3.0
XFree86-fontEncodings-4.3.0
XFree86-fontScalable-4.3.0
XFree86-libraries-4.3.0_6
XFree86-manuals-4.3.0
Xft-2.1.2
nvidia-driver-1.0.4365			(compiled with WITH_FREEBSD_AGP=YES)

The problem:

Using the 'nv' driver brings up X with no problems.  Switching to the 
'nvidia' driver, I get:

	(EE) NVIDIA(0): Failed to allocate a DMA push buffer context
	(EE) NVIDIA(0):  *** Aborting ***

The exact same configuration and set of ports works fine on the same 
hardware with -current.

After a quick conversation elsewhere, it was noted that USER_LDT, 
whilst the default in -current, is not present by default in -stable.  
Adding "options USER_LDT" to /sys/i386/conf/GENERIC, 
buildkernel/installkernel, and a rebuild of nvidia-driver later, I got 
a panic:

[...]
#11 0xc0702420 in ?? ()
#12 0xc026272a in spec_ioctl ()
#13 0xc0262455 in spec_vnoperate ()
#14 0xc033f06d in ufs_vnoperatespec ()
#15 0xc025ee1f in vn_ioctl ()
#16 0xc0238bae in ioctl ()
#17 0xc039e311 in syscall2 ()
#18 0xc038eec5 in Xint0x80_syscall ()
#19 0x8441a07 in ?? ()

Bugger.  No debugging kernel built with GENERIC.

Ok.  Add in "makeoptions DEBUG=-g # (growl, maim, slash, burn)", 
buildkernel/installkernel, rebuild nvidia-driver and reboot, we switch 
back to the previous behavior (no panic! gah!):

	(EE) NVIDIA(0): Failed to allocate a DMA push buffer context
	(EE) NVIDIA(0):  *** Aborting ***

Any suggestions?

-aDe (currently back to the 'nv' driver)



More information about the freebsd-stable mailing list