[PlanetCCRMA] Re: NVIDIA 1.0-6111 - latest kernel support

Shayne O'Connor forums@machinehasnoagenda.com
Mon Mar 7 12:53:02 2005

here's some info on what the patch does:

"The patch I referred to is light-weight and mostly unintrusive: it
exports the symbol __VMALLOC_RESERVE, which the 1.0-6111 NVIDIA kernel
module references implicitely through MAXMEM, implements
pci_find_class() using pci_get_class() (pci_find_class() was replaced by
pci_get_class()) and updates do_mmap_pgoff() to check for VM_IO before
calling make_pages_present(). The first change doesn't impact other
parts of the kernel functionally, but would be justly frowned upon since
drivers shouldn't need access to the symbol in question. The second
change would also be frowned upon, for two reasons: 1) pci_find_class()
was removed to ensure that the interface is no longer used and 2) the
reference count of the PCI device returned by pci_get_class() needs to
be decremented by the caller, which the 1.0-6111 driver release doesn't
do (since pci_find_class() behaved differently). The last change is not
actually needed in Linux 2.6.10+ (it was needed with some 2.6.10
pre-release kernels).

To summarize the above: the patch is OK as an interim solution to
restore backwards compatibility with 1.0-6111, but is not the correct
solution to the problem, which is to update the NVIDIA driver; this was
done for 1.0-6629, but the changes involved, if done correctly, are
fairly extensive. The upcoming NVIDIA driver release will address the
compatibility problem with older graphics cards and problems with
current Linux 2.6 kernels."

that is from an NVIDIA employee at their forums.