When using the 2.4.22-ac4 kernel, which (in theory) supports the nVidia nForce AGP GART on a nVidia nForce 2 motherboard, the following error pops up in dmesg when trying to load agpgart.o: Linux agpgart interface v0.99 (c) Jeff Hartmann agpgart: Maximum main memory to use for agp memory: 439M agpgart: unsupported bridge agpgart: no supported devices found I did some poking around and found that in 2.4.22-ac4, there's no entry for CONFIG_AGP_NVIDIA in the structure initialization of agp_bridge_info in /usr/src/linux/drivers/char/agp/agpgart_be.c Further investigation shows this code was in 2.4.22-ac2. The missing stuff seems to be: #ifdef CONFIG_AGP_NVIDIA { PCI_DEVICE_ID_NVIDIA_NFORCE, PCI_VENDOR_ID_NVIDIA, NVIDIA_NFORCE, "NVIDIA", "nForce", nvidia_generic_setup }, { PCI_DEVICE_ID_NVIDIA_NFORCE2, PCI_VENDOR_ID_NVIDIA, NVIDIA_NFORCE2, "NVIDIA", "nForce2", nvidia_generic_setup }, { 0, PCI_VENDOR_ID_NVIDIA, NVIDIA_GENERIC, "NVIDIA", "Generic", nvidia_generic_setup }, #endif /* CONFIG_AGP_NVIDIA */ It should be somewhere in the set of #ifdefs for different hardware support-- forgive me for not generating a diff; truth told I'm not quite sure how. Reproducible: Always Steps to Reproduce: 1. Have a nVidia nForce2 motherboard. I don't think it matters, but I have an Asus A7N8X Deluxe with an ATI Radeon 9000 plugged into the AGP socket 2.Compile up a 2.4.22-ac4 kernel. Be sure to enable agpgart support, and support for nForce motherboards 3.modprobe agpgart. Feel free to set agp_try_unsupported; it doesn't help. Actual Results: /lib/modules/2.4.22-ac4/kernel/drivers/char/agp/agpgart.o: init_module: No such Hint: insmod errors can be caused by incorrect module parameters, including invar IRQ parameters. You may find more information in syslog or the output from dmesg /lib/modules/2.4.22-ac4/kernel/drivers/char/agp/agpgart.o: insmod /lib/modules/24/kernel/drivers/char/agp/agpgart.o failed /lib/modules/2.4.22-ac4/kernel/drivers/char/agp/agpgart.o: insmod agpgart failed Checking dmesg shows: Linux agpgart interface v0.99 (c) Jeff Hartmann agpgart: Maximum main memory to use for agp memory: 439M agpgart: unsupported bridge agpgart: no supported devices found. Expected Results: Load the AGP GART module. :) Modprobe should return with no errors, dmesg should then say: Linux agpgart interface v0.99 (c) Jeff Hartmann agpgart: Maximum main memory to use for agp memory: 439M agpgart: Detected NVIDIA nForce2 chipset agpgart: AGP aperture is 256M @ 0xc0000000 Portage 2.0.49-r15 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r3, 2.4.22-ac4) ================================================================= System uname: 2.4.22-ac4 i686 AMD Athlon(tm) XP 1700+ Gentoo Base System version 1.4.3.10 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=athlon-xp -funroll-loops -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O3 -march=athlon-xp -funroll-loops -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="sandbox ccache autoaddcvs" GENTOO_MIRRORS="http://212.219.247.14/sites/www.ibiblio.org/gentoo/ http://mirror.clarkson.edu/pub/distributions/gentoo/ ftp://ftp.ussg.iu.edu/pub/linux/gentoo http://www.gtlib.cc.gatech.edu/pub/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 oss apm arts avi crypt cups encode foomaticdb gif gtk imlib jpeg kde libg++ libwww mad mikmod motif mpeg ncurses nls oggvorbis opengl pdflib png qt quicktime sdl spell svga truetype xml2 xmms xv zlib gdbm berkdb slang readline gpm tcpd pam ssl perl python X gtk2 gnome alsa video_cards_radeon"
Adding the lines mentioned above to agpgart_be.c sure enough yields me an agpgart.o that seems to load successfully, though I've not dug far enough to find if I broke anything else in the process.
We don't prepare the -ac patch, you should report this error to Alan Cox, bugzilla.kernel.org, or LKML. However, I wouldn't hold my breath, Alan Cox has gone on a year long hiatus.