--- xserver-xorg-video-nv-2.1.15.orig/autogen.sh +++ xserver-xorg-video-nv-2.1.15/autogen.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + +autoreconf -v --install || exit 1 +cd $ORIGDIR || exit $? + +$srcdir/configure --enable-maintainer-mode "$@" --- xserver-xorg-video-nv-2.1.15.orig/debian/xserver-xorg-video-nv.links +++ xserver-xorg-video-nv-2.1.15/debian/xserver-xorg-video-nv.links @@ -0,0 +1 @@ +usr/share/bug/xserver-xorg-core/script usr/share/bug/xserver-xorg-video-nv/script --- xserver-xorg-video-nv-2.1.15.orig/debian/copyright +++ xserver-xorg-video-nv-2.1.15/debian/copyright @@ -0,0 +1,41 @@ +This package was downloaded from +http://xorg.freedesktop.org/releases/individual/driver/ + + Copyright (C) 1993-2007 NVIDIA, Corporation + Copyright (C) 1994 X Consortium + Copyright (C) 1994, 1995, 1996 Video Electronics Standards + Copyright (C) 1996-1997 David J. McKay + Copyright (C) 1996 Stephen Early + Copyright (C) 1997 Mark Eichin + Copyright (C) 1997 Metro Link Incorporated + Copyright (C) 1998-2005, 2007 Branden Robinson + Copyright (C) 1999 The XFree86 Project Inc. + Copyright (C) 2001 Andy Ritger + Copyright (C) 2005 Adam Jackson + Copyright (C) 2005 David Nusinow + Copyright (C) 2005 Eugene Konev + Copyright (C) 2005 Sun Microsystems, Inc. + Copyright (C) 2005-2006 Luc Verhaegen. + Copyright (C) 2006 Keith Packard + Copyright (C) 2006 Intel Corporation + Copyright (C) 2006 Luc Verhaegen + Copyright (C) 2008 Red Hat, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --- xserver-xorg-video-nv-2.1.15.orig/debian/changelog +++ xserver-xorg-video-nv-2.1.15/debian/changelog @@ -0,0 +1,470 @@ +xserver-xorg-video-nv (1:2.1.15-1ubuntu1) lucid; urgency=low + + * Merge from Debian experimental, remaining changes: + - Re-enabled the patch system, we need that. Add quilt in build-deps. + - 100_fedora-panel-fix.patch: + Don't discard EDID blocks just because their input type bit + disagrees with the hardware connection sensing; this usually + just means the block is lying. (cf. LP: 188549). + - 105_gf7025_gf7050.patch: + Fedora patch to add support for 7025/7050 IGP chipsets. + (LP: 220364) + - 0001-Move-the-logic-for-matching-devices-out-of-probe-rou.patch + + Disable the logic for matching devices in the probe routine. + + Instead match explicitly on pci_id_match (LP: 385658) + - 0002-Run-the-parsing-script-to-generate-an-initial-list-o.patch + + Generate the list of devices to match once + + -- Timo Aaltonen Mon, 07 Dec 2009 17:48:09 +0200 + +xserver-xorg-video-nv (1:2.1.15-1) experimental; urgency=low + + [ Timo Aaltonen ] + * New upstream release. + * Bump Standards-Version to 3.8.3. + * Build against Xserver 1.7. + + [ Cyril Brulebois ] + * Upload to experimental. + + -- Cyril Brulebois Sun, 06 Dec 2009 02:35:34 +0100 + +xserver-xorg-video-nv (1:2.1.14-2ubuntu3) karmic; urgency=low + + * Add patches from f.d.o # 23870 + - 0001-Move-the-logic-for-matching-devices-out-of-probe-rou.patch + + Disable the logic for matching devices in the probe routine. + + Instead match explicitly on pci_id_match (LP: #385658) + - 0002-Run-the-parsing-script-to-generate-an-initial-list-o.patch + + Generate the list of devices to match once + * Refresh 105_gf7025_gf7050 to match the new way of doing things. + + -- Mario Limonciello Sat, 12 Sep 2009 10:04:05 -0500 + +xserver-xorg-video-nv (1:2.1.14-2ubuntu2) karmic; urgency=low + + * Drop patches 102, 104. According to Robert Hooker they are either + bogus or unnecessary. + + -- Timo Aaltonen Wed, 29 Jul 2009 17:41:20 +0300 + +xserver-xorg-video-nv (1:2.1.14-2ubuntu1) karmic; urgency=low + + * Merge from debian unstable, remaining changes: + - 100_fedora-panel-fix.patch: + Don't discard EDID blocks just because their input type bit + disagrees with the hardware connection sensing; this usually + just means the block is lying. (cf. LP: 188549). + - 102_geforce_7300_gt.patch: Adds pci id for GeForce 7300 GT + (LP: 320671) + - 104_geforce_6600gt_9100mg.patch: + + Support PCI ID for GeForce 6600 GT (LP: 219101) + + Support PCI ID for GeForce 9100M G (LP: 321613) + - Add 105_gf7025_gf7050.patch: + Fedora patch to add support for 7025/7050 IGP chipsets. + (LP: 220364) + * Refreshed the patches to apply cleanly. + * Re-enabled the patch system, we need that. Add quilt in build-deps. + * Dropped 103_geforce_gts_250.patch, upstream. + + -- Timo Aaltonen Wed, 29 Jul 2009 12:42:44 +0300 + +xserver-xorg-video-nv (1:2.1.14-2) unstable; urgency=low + + * Add README.source, bump Standards-Version to 3.8.2. + * Drop obsolete patch dependency from the build make target, + causing FTBFS since quilt has been removed from Build-depends, + closes: #539051. + + -- Brice Goglin Wed, 29 Jul 2009 01:55:30 +0200 + +xserver-xorg-video-nv (1:2.1.14-1) unstable; urgency=low + + [ David Nusinow ] + * Remove 01_gen_pci_ids.diff. The X server now uses an internal table to + choose a driver during autoconfiguration. + + Disable patch system and remove quilt from build-deps. + + [ Brice Goglin ] + * New upstream release. + + -- Brice Goglin Sun, 19 Jul 2009 21:58:45 +0200 + +xserver-xorg-video-nv (1:2.1.13-1ubuntu3) karmic; urgency=low + + * Add 105_gf7025_gf7050.patch: Fedora patch to add support for 7025/7050 + IGP chipsets. This patch may not take effect until we drop the + 01_gen_pci_ids.diff patch. + (LP: #220364) + + -- Bryce Harrington Tue, 23 Jun 2009 01:10:28 -0700 + +xserver-xorg-video-nv (1:2.1.13-1ubuntu2) karmic; urgency=low + + * Add 104_geforce_6600gt_9100mg.patch: + + Support PCI ID for GeForce 6600 GT (LP: #219101) + + Support PCI ID for GeForce 9100M G (LP: #321613) + + -- Bryce Harrington Mon, 08 Jun 2009 19:06:05 -0700 + +xserver-xorg-video-nv (1:2.1.13-1ubuntu1) karmic; urgency=low + + * Merge from Debian unstable, remaining changes: + + patches/100_fedora-panel-fix.patch from Timo Aaltonen: + Don't discard EDID blocks just because their input type bit + disagrees with the hardware connection sensing; this usually + just means the block is lying. (cf. LP #188549). + + patches/102_geforce_7300_gt.patch: Adds pci id for GeForce 7300 GT + (LP: #320671) + + patches/103_geforce_gts_250.patch: Adds pci id for GeForce GTS 250 + (LP: #348262) + * Drop 101_geforce_7100_gs.patch, included upstream. + + -- Bryce Harrington Tue, 28 Apr 2009 00:48:15 -0700 + +xserver-xorg-video-nv (1:2.1.13-1) unstable; urgency=low + + * New upstream release. + * Upload to unstable. + + -- Julien Cristau Thu, 09 Apr 2009 10:42:43 +0100 + +xserver-xorg-video-nv (1:2.1.12-2) experimental; urgency=low + + * Build against Xserver 1.6rc1. + + -- Brice Goglin Sun, 01 Feb 2009 19:38:09 +0100 + +xserver-xorg-video-nv (1:2.1.12-1ubuntu5) jaunty; urgency=low + + * Add 103_geforce_gts_250.patch: Adds pci id for GeForce GTS 250 + (LP: #348262) + + -- Bryce Harrington Fri, 03 Apr 2009 19:52:23 -0700 + +xserver-xorg-video-nv (1:2.1.12-1ubuntu4) jaunty; urgency=low + + * Add 102_geforce_7300_gt.patch: Adds pci id for GeForce 7300 GT + (LP: #320671) + + -- Bryce Harrington Tue, 24 Mar 2009 19:06:42 -0700 + +xserver-xorg-video-nv (1:2.1.12-1ubuntu3) jaunty; urgency=low + + * No-change rebuild to fix lpia shared library dependencies. + + -- Matthias Klose Sun, 22 Mar 2009 16:53:40 +0100 + +xserver-xorg-video-nv (1:2.1.12-1ubuntu2) jaunty; urgency=low + + * Add 101_geforce_7100_gs.patch: Adds pci id for GeForce 7100 GS + (LP: #309482) + + -- Bryce Harrington Thu, 12 Mar 2009 16:52:47 -0700 + +xserver-xorg-video-nv (1:2.1.12-1ubuntu1) jaunty; urgency=low + + * Merge from debian unstable, remaining changes: + + debian/patches/100_fedora-panel-fix.patch from Timo Aaltonen: + Don't discard EDID blocks just because their input type bit + disagrees with the hardware connection sensing; this usually + just means the block is lying. (cf. LP #188549). + + -- Timo Aaltonen Fri, 23 Jan 2009 12:11:01 +0200 + +xserver-xorg-video-nv (1:2.1.12-1) experimental; urgency=low + + * New upstream release. + * Switch to running autoreconf on build. Build-dep on xutils-dev, automake + and libtool. + * Add support for parallel builds. + * Build against xserver 1.5. + + -- Julien Cristau Fri, 05 Sep 2008 01:41:02 +0200 + +xserver-xorg-video-nv (1:2.1.10-3) experimental; urgency=low + + * Build against xserver 1.5 rc5. + + -- Julien Cristau Mon, 14 Jul 2008 01:49:15 +0200 + +xserver-xorg-video-nv (1:2.1.10-2) UNRELEASED; urgency=low + + [ Chris Lamb ] + * Update copyright holders in debian/copyright. + + [ Julien Cristau ] + * Install README.G80 in the package. + + -- Chris Lamb Thu, 03 Jul 2008 02:30:36 +0100 + +xserver-xorg-video-nv (1:2.1.10-1) unstable; urgency=low + + * New upstream release, closes: #484875. + * Run dpkg-shlibdeps with --warnings=6. Drivers reference symbols from + /usr/bin/Xorg and other modules, and that's not a bug, so we want + dpkg-shlibdeps to shut up about symbols it can't find. + + Build-depend on dpkg-dev >= 1.14.17 for dpkg-shlibdeps --warnings. + + -- Brice Goglin Tue, 01 Jul 2008 07:18:05 +0200 + +xserver-xorg-video-nv (1:2.1.9-1) unstable; urgency=low + + * New upstream release. + + -- Brice Goglin Sat, 10 May 2008 16:22:38 +0200 + +xserver-xorg-video-nv (1:2.1.8-3) unstable; urgency=low + + [ Timo Aaltonen ] + * Fix the PCI ID one-liner to use 'sort -u'. + + [ Julien Cristau ] + * Drop the XS- prefix from Vcs-* control fields. + + -- Julien Cristau Thu, 27 Mar 2008 22:12:36 +0100 + +xserver-xorg-video-nv (1:2.1.8-2) unstable; urgency=low + + * Add patch from Timo Aaltonen to include some missing PCI ID's + * Bump standards version to 3.7.3. No changes needed. + * Exclude .la files on dh_install + + -- David Nusinow Wed, 26 Mar 2008 20:59:15 -0400 + +xserver-xorg-video-nv (1:2.1.8-1) unstable; urgency=low + + * New upstream release. + + -- Brice Goglin Mon, 10 Mar 2008 23:19:29 +0100 + +xserver-xorg-video-nv (1:2.1.7-1) unstable; urgency=low + + * New upstream release. + + Delay after disabling cursor to avoid wedging the cursor hardware + on GeForce 6150, closes: #439194. + + -- Brice Goglin Sat, 26 Jan 2008 12:37:08 +0100 + +xserver-xorg-video-nv (1:2.1.6-1) unstable; urgency=low + + * New upstream release. + + Pull upstream commits up to d483ecd851bb84014f1fa86f0ada4540b3ad801e + for 8800 GT support and one bug fix. + + Unwedge the hardware if the BIOS left it stuck, closes: #444743. + + -- Brice Goglin Sun, 18 Nov 2007 12:26:47 +0100 + +xserver-xorg-video-nv (1:2.1.5-1) unstable; urgency=low + + * New upstream release. + + -- Julien Cristau Sat, 22 Sep 2007 09:54:06 +0200 + +xserver-xorg-video-nv (1:2.1.3-5) unstable; urgency=low + + * Upload to unstable + + -- David Nusinow Sun, 16 Sep 2007 15:43:46 -0400 + +xserver-xorg-video-nv (1:2.1.3-4) experimental; urgency=low + + * Build against xserver 1.4. + * Add upstream URL to debian/copyright. + * Add myself to Uploaders. + + -- Brice Goglin Thu, 13 Sep 2007 23:00:29 +0200 + +xserver-xorg-video-nv (1:2.1.3-3) experimental; urgency=low + + * Add quilt to build-depends + + -- David Nusinow Sun, 19 Aug 2007 15:02:48 -0400 + +xserver-xorg-video-nv (1:2.1.3-2) experimental; urgency=low + + * Build against X server 1.3.99.0 (build-dep on it) + * Add 01_gen_pci_ids.diff. This will ship a set of pci ids that this driver + supports so that the server can automatically load it under the right + conditions. + + Enable our patch system in debian/rules + + autoreconf because this patch touches src/Makefile.am + + -- David Nusinow Sun, 19 Aug 2007 12:20:31 -0400 + +xserver-xorg-video-nv (1:2.1.3-1) unstable; urgency=low + + [ Julien Cristau ] + * New upstream release. + * Add myself to Uploaders and remove Branden with his permission. + + [ Brice Goglin ] + * Update to a non-buggy xsfbs patching. + + -- Julien Cristau Thu, 16 Aug 2007 03:05:31 +0200 + +xserver-xorg-video-nv (1:2.1.2-2) unstable; urgency=low + + * Pull upstream commit ec78618d, to "fix a minor GeForceFX + flatpanel + + video overlay corruption issue" (closes: #425279). + + -- Julien Cristau Tue, 10 Jul 2007 21:22:10 +0200 + +xserver-xorg-video-nv (1:2.1.2-1) unstable; urgency=low + + * New upstream release. + + -- Julien Cristau Tue, 10 Jul 2007 20:04:13 +0200 + +xserver-xorg-video-nv (1:2.1.1-1) unstable; urgency=low + + * New upstream release. + + -- Brice Goglin Mon, 02 Jul 2007 22:34:40 +0200 + +xserver-xorg-video-nv (1:2.1.0-1) unstable; urgency=low + + [ Brice Goglin ] + * New upstream release. + + -- Julien Cristau Thu, 21 Jun 2007 23:56:15 +0100 + +xserver-xorg-video-nv (1:2.0.96-1) experimental; urgency=low + + [ Timo Aaltonen ] + * Replaces/Conflicts: xserver-xorg-driver-nv. + + [ Julien Cristau ] + * Install the upstream changelog (closes: #420006). Thanks, Bastian + Kleineidam! + + [ Brice Goglin ] + * New upstream release. + * Bump Build-depends on x11proto-randr-dev to >= 1.2. + * Bump Build-Depends: xserver-xorg-dev to >= 2:1.2.99.902 + (needed to let xsfbs get access to serverminver). + * Add XS-Vcs-*. + * Add a link to www.X.org and a reference to the xf86-video-nv + module in the long description. + * Remove Fabio from uploaders with his permission. He's always welcome back. + + -- Julien Cristau Sat, 09 Jun 2007 04:01:39 +0200 + +xserver-xorg-video-nv (1:2.0.2-1) unstable; urgency=low + + * New upstream release + * Update debian copyright to the new COPYING file + * Update standards version to 3.7.2.2. No changes needed. + + -- David Nusinow Wed, 18 Apr 2007 23:27:40 -0400 + +xserver-xorg-video-nv (1:1.2.2.1-1) experimental; urgency=low + + * New upstream version plus a git update that removes the riva128 module and + links support in to nv_drv.so directly + * Generate server dependencies automatically from the ABI + + -- David Nusinow Thu, 22 Feb 2007 21:33:15 -0500 + +xserver-xorg-video-nv (1:1.2.0-4) UNRELEASED; urgency=low + + * Add link to xserver-xorg-core bug script, so that bugreports contain + the user's config and log files. + * Bump dependency on xserver-xorg-core to >= 2:1.1.1-11, as previous + versions don't have the bug script. + + -- Julien Cristau Tue, 7 Nov 2006 07:30:42 +0100 + +xserver-xorg-video-nv (1:1.2.0-3) unstable; urgency=low + + [ Steve Langasek ] + * Upload to unstable + + -- David Nusinow Mon, 18 Sep 2006 19:57:45 -0400 + +xserver-xorg-video-nv (1:1.2.0-2) experimental; urgency=low + + [ David Nusinow ] + * Actually bump debhelper compat to 5 rather than just the build-depends + * Bump xserver (build-)depends epochs to 2: to deal with botched + server upload + + [ Drew Parsons ] + * Provides: xserver-xorg-video-1.0 not xserver-xorg-video. + + -- David Nusinow Tue, 22 Aug 2006 23:46:36 +0000 + +xserver-xorg-video-nv (1:1.2.0-1) experimental; urgency=low + + [ Andres Salomon ] + * Test for obj-$(DEB_BUILD_GNU_TYPE) before creating it during build; + idempotency fix. + * Run dh_install w/ --list-missing. + + [ David Nusinow ] + * New upstream release + * Bump dependency on xserver-xorg-core to >= 1:1.1.1. Do the same thing for + the build-dep on xserver-xorg-dev. + * Bump debhelper compat to 5 + + -- David Nusinow Tue, 15 Aug 2006 00:00:03 +0000 + +xserver-xorg-video-nv (1:1.0.1.5-2) unstable; urgency=low + + * Upload to modular + + -- David Nusinow Sun, 26 Mar 2006 20:25:48 -0500 + +xserver-xorg-video-nv (1:1.0.1.5-1) experimental; urgency=low + + * First upload to Debian + * Add copyright info + * Change source package, package, and provides names to denote the + type of driver and that they are for xserver-xorg + + -- David Nusinow Thu, 19 Jan 2006 20:29:12 -0500 + +xserver-xorg-driver-nv (1:1.0.1.5-0ubuntu1) dapper; urgency=low + + * New upstream release. + * Add provides on xserver-xorg-driver. + + -- Daniel Stone Wed, 4 Jan 2006 20:00:36 +1100 + +xserver-xorg-driver-nv (1:1.0.1.4-0ubuntu1) dapper; urgency=low + + * New upstream release. + + -- Daniel Stone Mon, 19 Dec 2005 09:09:26 +1100 + +xserver-xorg-driver-nv (1:1.0.1.3-0ubuntu1) dapper; urgency=low + + * New upstream release. + + -- Daniel Stone Mon, 12 Dec 2005 13:05:27 +1100 + +xserver-xorg-driver-nv (1:1.0.1.2-0ubuntu2) dapper; urgency=low + + * Add missing Build-Depends (x11proto-core-dev, x11proto-fonts-dev, + x11proto-randr-dev, x11proto-render-dev, x11proto-xext-dev). + + -- Daniel Stone Mon, 5 Dec 2005 12:56:00 +1100 + +xserver-xorg-driver-nv (1:1.0.1.2-0ubuntu1) dapper; urgency=low + + * New upstream release. + + -- Daniel Stone Tue, 22 Nov 2005 13:33:44 +1100 + +xserver-xorg-driver-nv (1:1.0.1.1-1) dapper; urgency=low + + * New upstream release. + + -- Daniel Stone Tue, 25 Oct 2005 17:08:20 +1000 + +xserver-xorg-driver-nv (1:1.0.1-1) breezy; urgency=low + + * First xserver-xorg-driver-nv release. + + -- Daniel Stone Wed, 6 Jul 2005 15:48:17 +1000 + --- xserver-xorg-video-nv-2.1.15.orig/debian/xserver-xorg-video-nv.install +++ xserver-xorg-video-nv-2.1.15/debian/xserver-xorg-video-nv.install @@ -0,0 +1,2 @@ +usr/lib/xorg/modules/drivers/*.so +usr/share/man/man4/* --- xserver-xorg-video-nv-2.1.15.orig/debian/control +++ xserver-xorg-video-nv-2.1.15/debian/control @@ -0,0 +1,44 @@ +Source: xserver-xorg-video-nv +Section: x11 +Priority: optional +Maintainer: Ubuntu X-SWAT +XSBC-Original-Maintainer: Debian X Strike Force +Uploaders: David Nusinow , Julien Cristau , Brice Goglin +Build-Depends: + debhelper (>= 5.0.0), + pkg-config, + xserver-xorg-dev (>= 2:1.7), + x11proto-video-dev, + x11proto-core-dev, + x11proto-fonts-dev, + x11proto-randr-dev (>= 1.2), + x11proto-render-dev, + x11proto-xext-dev, + dpkg-dev (>= 1.14.17), + automake, + libtool, + xutils-dev, + quilt +Standards-Version: 3.8.3 +Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-nv +Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-nv.git + +Package: xserver-xorg-video-nv +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, ${xserver:Depends} +Provides: ${xviddriver:Provides}, xf86-video-driver-riva128 +Conflicts: xserver-xorg-video-riva128, xserver-xorg-driver-nv +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-video-riva128, xserver-xorg-driver-nv +Description: X.Org X server -- NV display driver + This driver for the X.Org X server (see xserver-xorg for a further description) + provides support for NVIDIA Riva, TNT, GeForce, and Quadro cards. + . + Note that this is not the same as the binary-only 'nvidia' driver, which + adds 3D support, but is binary-only and not supported. + . + More information about X.Org can be found at: + + + + . + This package is built from the X.org xf86-video-nv driver module. --- xserver-xorg-video-nv-2.1.15.orig/debian/compat +++ xserver-xorg-video-nv-2.1.15/debian/compat @@ -0,0 +1 @@ +5 --- xserver-xorg-video-nv-2.1.15.orig/debian/watch +++ xserver-xorg-video-nv-2.1.15/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://xorg.freedesktop.org/releases/individual/driver/ xf86-video-nv-(.*)\.tar\.gz --- xserver-xorg-video-nv-2.1.15.orig/debian/rules +++ xserver-xorg-video-nv-2.1.15/debian/rules @@ -0,0 +1,100 @@ +#!/usr/bin/make -f +# debian/rules for the Debian xserver-xorg-driver-nv package. +# Copyright © 2004 Scott James Remnant +# Copyright © 2005 Daniel Stone +# Copyright © 2005 David Nusinow + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +include debian/xsfbs/xsfbs.mk + +CFLAGS = -Wall -g +ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + MAKEFLAGS += -j$(NUMJOBS) +endif + +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) + confflags += --build=$(DEB_HOST_GNU_TYPE) +else + confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) +endif + +# kbd_drv.a isn't phenomenally useful; kbd_drv.so more so +confflags += --disable-static + +configure: $(STAMP_DIR)/patch + dh_testdir + autoreconf -vfi + +obj-$(DEB_BUILD_GNU_TYPE)/config.status: configure + dh_testdir + mkdir -p obj-$(DEB_BUILD_GNU_TYPE) + cd obj-$(DEB_BUILD_GNU_TYPE) && \ + ../configure --prefix=/usr --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info $(confflags) \ + CFLAGS="$(CFLAGS)" + +build: patch build-stamp +build-stamp: obj-$(DEB_BUILD_GNU_TYPE)/config.status + dh_testdir + cd obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE) + >$@ + +clean: xsfclean + dh_testdir + dh_testroot + rm -f build-stamp + + rm -f config.cache config.log config.status + rm -f */config.cache */config.log */config.status + rm -f conftest* */conftest* + rm -rf autom4te.cache */autom4te.cache + rm -rf obj-* + rm -f $$(find -name Makefile.in) + rm -f compile config.guess config.sub configure depcomp install-sh + rm -f ltmain.sh missing INSTALL aclocal.m4 config.h.in mkinstalldirs + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + cd obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install + +# Build architecture-dependent files here. +binary-arch: build install serverabi + dh_testdir + dh_testroot + + dh_installdocs README.G80 + dh_installchangelogs ChangeLog + dh_install --sourcedir=debian/tmp --list-missing --exclude=.la + dh_link + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps -- --warnings=6 + dh_gencontrol + dh_md5sums + dh_builddeb + +# Build architecture-independent files here. +binary-indep: build install +# Nothing to do + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install --- xserver-xorg-video-nv-2.1.15.orig/debian/README.source +++ xserver-xorg-video-nv-2.1.15/debian/README.source @@ -0,0 +1,73 @@ +------------------------------------------------------ +Quick Guide To Patching This Package For The Impatient +------------------------------------------------------ + +1. Make sure you have quilt installed +2. Unpack the package as usual with "dpkg-source -x" +3. Run the "patch" target in debian/rules +4. Create a new patch with "quilt new" (see quilt(1)) +5. Edit all the files you want to include in the patch with "quilt edit" + (see quilt(1)). +6. Write the patch with "quilt refresh" (see quilt(1)) +7. Run the "clean" target in debian/rules + +Alternatively, instead of using quilt directly, you can drop the patch in to +debian/patches and add the name of the patch to debian/patches/series. + +------------------------------------ +Guide To The X Strike Force Packages +------------------------------------ + +The X Strike Force team maintains X packages in git repositories on +git.debian.org in the pkg-xorg subdirectory. Most upstream packages +are actually maintained in git repositories as well, so they often +just need to be pulled into git.debian.org in a "upstream-*" branch. +Otherwise, the upstream sources are manually installed in the Debian +git repository. + +The .orig.tar.gz upstream source file could be generated this +"upstream-*" branch in the Debian git repository but it is actually +copied from upstream tarballs directly. + +Due to X.org being highly modular, packaging all X.org applications +as their own independent packages would have created too many Debian +packages. For this reason, some X.org applications have been grouped +into larger packages: xutils, xutils-dev, x11-apps, x11-session-utils, +x11-utils, x11-xfs-utils, x11-xkb-utils, x11-xserver-utils. +Most packages, including the X.org server itself and all libraries +and drivers are, however maintained independently. + +The Debian packaging is added by creating the "debian-*" git branch +which contains the aforementioned "upstream-*" branch plus the debian/ +repository files. +When a patch has to be applied to the Debian package, two solutions +are involved: +* If the patch is available in one of the upstream branches, it + may be git'cherry-picked into the Debian repository. In this + case, it appears directly in the .diff.gz. +* Otherwise, the patch is added to debian/patches/ which is managed + with quilt as documented in /usr/share/doc/quilt/README.source. + +quilt is actually invoked by the Debian X packaging through a larger +set of scripts called XSFBS. XSFBS brings some other X specific +features such as managing dependencies and conflicts due to the video +and input driver ABIs. +XSFBS itself is maintained in a separate repository at + git://git.debian.org/pkg-xorg/xsfbs.git +and it is pulled inside the other Debian X repositories when needed. + +The XSFBS patching system requires a build dependency on quilt. Also +a dependency on $(STAMP_DIR)/patch has to be added to debian/rules +so that the XSFBS patching occurs before the actual build. So the +very first target of the build (likely the one running autoreconf) +should depend on $(STAMP_DIR)/patch. It should also not depend on +anything so that parallel builds are correctly supported (nothing +should probably run while patching is being done). And finally, the +clean target should depend on the xsfclean target so that patches +are unapplied on clean. + +When the upstream sources contain some DFSG-nonfree files, they are +listed in text files in debian/prune/ in the "debian-*" branch of +the Debian repository. XSFBS' scripts then take care of removing +these listed files during the build so as to generate a modified +DFSG-free .orig.tar.gz tarball. --- xserver-xorg-video-nv-2.1.15.orig/debian/xsfbs/repack.sh +++ xserver-xorg-video-nv-2.1.15/debian/xsfbs/repack.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +set -e + +if ! [ -d debian/prune ]; then + exit 0 +fi + +if [ "x$1" != x--upstream-version ]; then + exit 1 +fi + +version="$2" +filename="$3" + +if [ -z "$version" ] || ! [ -f "$filename" ]; then + exit 1 +fi + +dir="$(pwd)" +tempdir="$(mktemp -d)" + +cd "$tempdir" +tar xf "$dir/$filename" +cat "$dir"/debian/prune/* | while read file; do rm -f */$file; done + +tar czf "$dir/$filename" * +cd "$dir" +rm -rf "$tempdir" +echo "Done pruning upstream tarball" + +exit 0 --- xserver-xorg-video-nv-2.1.15.orig/debian/xsfbs/xsfbs.sh +++ xserver-xorg-video-nv-2.1.15/debian/xsfbs/xsfbs.sh @@ -0,0 +1,622 @@ +# This is the X Strike Force shell library for X Window System package +# maintainer scripts. It serves to define shell functions commonly used by +# such packages, and performs some error checking necessary for proper operation +# of those functions. By itself, it does not "do" much; the maintainer scripts +# invoke the functions defined here to accomplish package installation and +# removal tasks. + +# If you are reading this within a Debian package maintainer script (e.g., +# /var/lib/dpkg/info/PACKAGE.{config,preinst,postinst,prerm,postrm}), you can +# skip past this library by scanning forward in this file to the string +# "GOBSTOPPER". + +SOURCE_VERSION=@SOURCE_VERSION@ +OFFICIAL_BUILD=@OFFICIAL_BUILD@ + +# Use special abnormal exit codes so that problems with this library are more +# easily tracked down. +SHELL_LIB_INTERNAL_ERROR=86 +SHELL_LIB_THROWN_ERROR=74 +SHELL_LIB_USAGE_ERROR=99 + +# old -> new variable names +if [ -z "$DEBUG_XORG_PACKAGE" ] && [ -n "$DEBUG_XFREE86_PACKAGE" ]; then + DEBUG_XORG_PACKAGE="$DEBUG_XFREE86_PACKAGE" +fi +if [ -z "$DEBUG_XORG_DEBCONF" ] && [ -n "$DEBUG_XFREE86_DEBCONF" ]; then + DEBUG_XORG_DEBCONF="$DEBUG_XFREE86_DEBCONF" +fi + +# initial sanity checks +if [ -z "$THIS_PACKAGE" ]; then + cat >&2 < on the World Wide Web for +instructions, read the file /usr/share/doc/debian/bug-reporting.txt from the +"doc-debian" package, or install the "reportbug" package and use the command of +the same name to file a report against version $SOURCE_VERSION of this package. +EOF + exit $SHELL_LIB_USAGE_ERROR +fi + +if [ -z "$THIS_SCRIPT" ]; then + cat >&2 < on the World Wide Web for +instructions, read the file /usr/share/doc/debian/bug-reporting.txt from the +"doc-debian" package, or install the "reportbug" package and use the command of +the same name to file a report against version $SOURCE_VERSION of the +"$THIS_PACKAGE" package. +EOF + exit $SHELL_LIB_USAGE_ERROR +fi + +if [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then + RECONFIGURE="true" +else + RECONFIGURE= +fi + +if ([ "$1" = "install" ] || [ "$1" = "configure" ]) && [ -z "$2" ]; then + FIRSTINST="yes" +fi + +if [ -z "$RECONFIGURE" ] && [ -z "$FIRSTINST" ]; then + UPGRADE="yes" +fi + +trap "message;\ + message \"Received signal. Aborting $THIS_PACKAGE package $THIS_SCRIPT script.\";\ + message;\ + exit 1" HUP INT QUIT TERM + +reject_nondigits () { + # syntax: reject_nondigits [ operand ... ] + # + # scan operands (typically shell variables whose values cannot be trusted) for + # characters other than decimal digits and barf if any are found + while [ -n "$1" ]; do + # does the operand contain anything but digits? + if ! expr "$1" : "[[:digit:]]\+$" > /dev/null 2>&1; then + # can't use die(), because it wraps message() which wraps this function + echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_nondigits() encountered" \ + "possibly malicious garbage \"$1\"" >&2 + exit $SHELL_LIB_THROWN_ERROR + fi + shift + done +} + +reject_unlikely_path_chars () { + # syntax: reject_unlikely_path_chars [ operand ... ] + # + # scan operands (typically shell variables whose values cannot be trusted) for + # characters unlikely to be seen in a path and which the shell might + # interpret and barf if any are found + while [ -n "$1" ]; do + # does the operand contain any funny characters? + if expr "$1" : '.*[!$&()*;<>?|].*' > /dev/null 2>&1; then + # can't use die(), because I want to avoid forward references + echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_unlikely_path_chars()" \ + "encountered possibly malicious garbage \"$1\"" >&2 + exit $SHELL_LIB_THROWN_ERROR + fi + shift + done +} + +# Query the terminal to establish a default number of columns to use for +# displaying messages to the user. This is used only as a fallback in the +# event the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while +# the script is running, and this cannot, only being calculated once.) +DEFCOLUMNS=$(stty size 2> /dev/null | awk '{print $2}') || true +if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" > /dev/null 2>&1; then + DEFCOLUMNS=80 +fi + +message () { + # pretty-print messages of arbitrary length + reject_nondigits "$COLUMNS" + echo "$*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS} >&2 +} + +observe () { + # syntax: observe message ... + # + # issue observational message suitable for logging someday when support for + # it exists in dpkg + if [ -n "$DEBUG_XORG_PACKAGE" ]; then + message "$THIS_PACKAGE $THIS_SCRIPT note: $*" + fi +} + +warn () { + # syntax: warn message ... + # + # issue warning message suitable for logging someday when support for + # it exists in dpkg; also send to standard error + message "$THIS_PACKAGE $THIS_SCRIPT warning: $*" +} + +die () { + # syntax: die message ... + # + # exit script with error message + message "$THIS_PACKAGE $THIS_SCRIPT error: $*" + exit $SHELL_LIB_THROWN_ERROR +} + +internal_error () { + # exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message + message "internal error: $*" + if [ -n "$OFFICIAL_BUILD" ]; then + message "Please report a bug in the $THIS_SCRIPT script of the" \ + "$THIS_PACKAGE package, version $SOURCE_VERSION to the Debian Bug" \ + "Tracking System. Include all messages above that mention the" \ + "$THIS_PACKAGE package. Visit " \ + " on the World Wide Web for" \ + "instructions, read the file" \ + "/usr/share/doc/debian/bug-reporting.txt from the doc-debian" \ + "package, or install the reportbug package and use the command of" \ + "the same name to file a report." + fi + exit $SHELL_LIB_INTERNAL_ERROR +} + +usage_error () { + message "usage error: $*" + message "Please report a bug in the $THIS_SCRIPT script of the" \ + "$THIS_PACKAGE package, version $SOURCE_VERSION to the Debian Bug" \ + "Tracking System. Include all messages above that mention the" \ + "$THIS_PACKAGE package. Visit " \ + " on the World Wide Web for" \ + "instructions, read the file" \ + "/usr/share/doc/debian/bug-reporting.txt from the doc-debian" \ + "package, or install the reportbug package and use the command of" \ + "the same name to file a report." + exit $SHELL_LIB_USAGE_ERROR +} + +font_update () { + # run $UPDATECMDS in $FONTDIRS + + local dir cmd shortcmd x_font_dir_prefix + + x_font_dir_prefix="/usr/share/fonts/X11" + + if [ -z "$UPDATECMDS" ]; then + usage_error "font_update() called but \$UPDATECMDS not set" + fi + if [ -z "$FONTDIRS" ]; then + usage_error "font_update() called but \$FONTDIRS not set" + fi + + reject_unlikely_path_chars "$UPDATECMDS" + reject_unlikely_path_chars "$FONTDIRS" + + for dir in $FONTDIRS; do + if [ -d "$x_font_dir_prefix/$dir" ]; then + for cmd in $UPDATECMDS; do + if which "$cmd" > /dev/null 2>&1; then + shortcmd=${cmd##*/} + observe "running $shortcmd in $dir font directory" + cmd_opts= + if [ "$shortcmd" = "update-fonts-alias" ]; then + cmd_opts=--x11r7-layout + fi + if [ "$shortcmd" = "update-fonts-dir" ]; then + cmd_opts=--x11r7-layout + fi + if [ "$shortcmd" = "update-fonts-scale" ]; then + cmd_opts=--x11r7-layout + fi + $cmd $cmd_opts $dir || warn "$cmd $cmd_opts $dir" \ + "failed; font directory data may not" \ + "be up to date" + else + warn "$cmd not found; not updating corresponding $dir font" \ + "directory data" + fi + done + else + warn "$dir is not a directory; not updating font directory data" + fi + done +} + +remove_conffile_prepare () { + # syntax: remove_conffile_prepare filename official_md5sum ... + # + # Check a conffile "filename" against a list of canonical MD5 checksums. + # If the file's current MD5 checksum matches one of the "official_md5sum" + # operands provided, then prepare the conffile for removal from the system. + # We defer actual deletion until the package is configured so that we can + # roll this operation back if package installation fails. + # + # Call this function from a preinst script in the event $1 is "upgrade" or + # "install" and verify $2 to ensure the package is being upgraded from a + # version (or installed over a version removed-but-not-purged) prior to the + # one in which the conffile was obsoleted. + + local conffile current_checksum + + # validate arguments + if [ $# -lt 2 ]; then + usage_error "remove_conffile_prepare() called with wrong number of" \ + "arguments; expected at least 2, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + conffile="$1" + shift + + # does the conffile even exist? + if [ -e "$conffile" ]; then + # calculate its checksum + current_checksum=$(md5sum < "$conffile" | sed 's/[[:space:]].*//') + # compare it to each supplied checksum + while [ -n "$1" ]; do + if [ "$current_checksum" = "$1" ]; then + # we found a match; move the confffile and stop looking + observe "preparing obsolete conffile $conffile for removal" + mv "$conffile" "$conffile.$THIS_PACKAGE-tmp" + break + fi + shift + done + fi +} + +remove_conffile_lookup () { + # syntax: remove_conffile_lookup package filename + # + # Lookup the md5sum of a conffile in dpkg's database, and prepare for removal + # if it matches the actual file's md5sum. + # + # Call this function when you would call remove_conffile_prepare but only + # want to check against dpkg's status database instead of known checksums. + + local package conffile old_md5sum + + # validate arguments + if [ $# -ne 2 ]; then + usage_error "remove_conffile_lookup() called with wrong number of" \ + "arguments; expected 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + package="$1" + conffile="$2" + + if ! [ -e "$conffile" ]; then + return + fi + old_md5sum="$(dpkg-query -W -f='${Conffiles}' "$package" | \ + awk '{ if (match($0, "^ '"$conffile"' ")) print $2}')" + if [ -n "$old_md5sum" ]; then + remove_conffile_prepare "$conffile" "$old_md5sum" + fi +} + +remove_conffile_commit () { + # syntax: remove_conffile_commit filename + # + # Complete the removal of a conffile "filename" that has become obsolete. + # + # Call this function from a postinst script after having used + # remove_conffile_prepare() in the preinst. + + local conffile + + # validate arguments + if [ $# -ne 1 ]; then + usage_error "remove_conffile_commit() called with wrong number of" \ + "arguments; expected 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + conffile="$1" + + # if the temporary file created by remove_conffile_prepare() exists, remove it + if [ -e "$conffile.$THIS_PACKAGE-tmp" ]; then + observe "committing removal of obsolete conffile $conffile" + rm "$conffile.$THIS_PACKAGE-tmp" + fi +} + +remove_conffile_rollback () { + # syntax: remove_conffile_rollback filename + # + # Roll back the removal of a conffile "filename". + # + # Call this function from a postrm script in the event $1 is "abort-upgrade" + # or "abort-install" is after having used remove_conffile_prepare() in the + # preinst. + + local conffile + + # validate arguments + if [ $# -ne 1 ]; then + usage_error "remove_conffile_rollback() called with wrong number of" \ + "arguments; expected 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + conffile="$1" + + # if the temporary file created by remove_conffile_prepare() exists, move it + # back + if [ -e "$conffile.$THIS_PACKAGE-tmp" ]; then + observe "rolling back removal of obsolete conffile $conffile" + mv "$conffile.$THIS_PACKAGE-tmp" "$conffile" + fi +} + +replace_conffile_with_symlink_prepare () { + # syntax: replace_conffile_with_symlink_prepare oldfilename newfilename \ + # official_md5sum ... + # + # Check a conffile "oldfilename" against a list of canonical MD5 checksums. + # If the file's current MD5 checksum matches one of the "official_md5sum" + # operands provided, then prepare the conffile for removal from the system. + # We defer actual deletion until the package is configured so that we can + # roll this operation back if package installation fails. Otherwise copy it + # to newfilename and let dpkg handle it through conffiles mechanism. + # + # Call this function from a preinst script in the event $1 is "upgrade" or + # "install" and verify $2 to ensure the package is being upgraded from a + # version (or installed over a version removed-but-not-purged) prior to the + # one in which the conffile was obsoleted. + + local conffile current_checksum + + # validate arguments + if [ $# -lt 3 ]; then + usage_error "replace_conffile_with_symlink_prepare() called with wrong" \ + " number of arguments; expected at least 3, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + oldconffile="$1" + shift + newconffile="$1" + shift + + remove_conffile_prepare "$_oldconffile" "$@" + # If $oldconffile still exists, then md5sums didn't match. + # Copy it to new one. + if [ -f "$oldconffile" ]; then + cp "$oldconffile" "$newconffile" + fi + +} + +replace_conffile_with_symlink_commit () { + # syntax: replace_conffile_with_symlink_commit oldfilename + # + # Complete the removal of a conffile "oldfilename" that has been + # replaced by a symlink. + # + # Call this function from a postinst script after having used + # replace_conffile_with_symlink_prepare() in the preinst. + + local conffile + + # validate arguments + if [ $# -ne 1 ]; then + usage_error "replace_conffile_with_symlink_commit() called with wrong" \ + "number of arguments; expected 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + conffile="$1" + + remove_conffile_commit "$conffile" +} + +replace_conffile_with_symlink_rollback () { + # syntax: replace_conffile_with_symlink_rollback oldfilename newfilename + # + # Roll back the replacing of a conffile "oldfilename" with symlink to + # "newfilename". + # + # Call this function from a postrm script in the event $1 is "abort-upgrade" + # or "abort-install" and verify $2 to ensure the package failed to upgrade + # from a version (or install over a version removed-but-not-purged) prior + # to the one in which the conffile was obsoleted. + # You should have used replace_conffile_with_symlink_prepare() in the + # preinst. + + local conffile + + # validate arguments + if [ $# -ne 2 ]; then + usage_error "replace_conffile_with_symlink_rollback() called with wrong" \ + "number of arguments; expected 2, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + oldconffile="$1" + newconffile="$2" + + remove_conffile_rollback "$_oldconffile" + if [ -f "$newconffile" ]; then + rm "$newconffile" + fi +} + +run () { + # syntax: run command [ argument ... ] + # + # Run specified command with optional arguments and report its exit status. + # Useful for commands whose exit status may be nonzero, but still acceptable, + # or commands whose failure is not fatal to us. + # + # NOTE: Do *not* use this function with db_get or db_metaget commands; in + # those cases the return value of the debconf command *must* be checked + # before the string returned by debconf is used for anything. + + local retval + + # validate arguments + if [ $# -lt 1 ]; then + usage_error "run() called with wrong number of arguments; expected at" \ + "least 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + "$@" || retval=$? + + if [ ${retval:-0} -ne 0 ]; then + observe "command \"$*\" exited with status $retval" + fi +} + +make_symlink_sane () { + # syntax: make_symlink_sane symlink target + # + # Ensure that the symbolic link symlink exists, and points to target. + # + # If symlink does not exist, create it and point it at target. + # + # If symlink exists but is not a symbolic link, back it up. + # + # If symlink exists, is a symbolic link, but points to the wrong location, fix + # it. + # + # If symlink exists, is a symbolic link, and already points to target, do + # nothing. + # + # This function wouldn't be needed if ln had an -I, --idempotent option. + + # Validate arguments. + if [ $# -ne 2 ]; then + usage_error "make_symlink_sane() called with wrong number of arguments;" \ + "expected 2, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + # We could just use the positional parameters as-is, but that makes things + # harder to follow. + local symlink target + + symlink="$1" + target="$2" + + if [ -L "$symlink" ] && [ "$(readlink "$symlink")" = "$target" ]; then + observe "link from $symlink to $target already exists" + else + observe "creating symbolic link from $symlink to $target" + mkdir -p "${target%/*}" "${symlink%/*}" + ln -s -b -S ".dpkg-old" "$target" "$symlink" + fi +} + +migrate_dir_to_symlink () { + # syntax: migrate_dir_to_symlink old_location new_location + # + # Per Debian Policy section 6.5.4, "A directory will never be replaced by a + # symbolic link to a directory or vice versa; instead, the existing state + # (symlink or not) will be left alone and dpkg will follow the symlink if + # there is one." + # + # We have to do it ourselves. + # + # This function moves the contents of old_location, a directory, into + # new_location, a directory, then makes old_location a symbolic link to + # new_location. + # + # old_location need not exist, but if it does, it must be a directory (or a + # symlink to a directory). If it is not, it is backed up. If new_location + # exists already and is not a directory, it is backed up. + # + # This function should be called from a package's preinst so that other + # packages unpacked after this one --- but before this package's postinst runs + # --- are unpacked into new_location even if their payloads contain + # old_location filespecs. + + # Validate arguments. + if [ $# -ne 2 ]; then + usage_error "migrate_dir_to_symlink() called with wrong number of" + "arguments; expected 2, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + # We could just use the positional parameters as-is, but that makes things + # harder to follow. + local new old + + old="$1" + new="$2" + + # Is old location a symlink? + if [ -L "$old" ]; then + # Does it already point to new location? + if [ "$(readlink "$old")" = "$new" ]; then + # Nothing to do; migration has already been done. + observe "migration of $old to $new already done" + return 0 + else + # Back it up. + warn "backing up symbolic link $old as $old.dpkg-old" + mv -b "$old" "$old.dpkg-old" + fi + fi + + # Does old location exist, but is not a directory? + if [ -e "$old" ] && ! [ -d "$old" ]; then + # Back it up. + warn "backing up non-directory $old as $old.dpkg-old" + mv -b "$old" "$old.dpkg-old" + fi + + observe "migrating $old to $new" + + # Is new location a symlink? + if [ -L "$new" ]; then + # Does it point the wrong way, i.e., back to where we're migrating from? + if [ "$(readlink "$new")" = "$old" ]; then + # Get rid of it. + observe "removing symbolic link $new which points to $old" + rm "$new" + else + # Back it up. + warn "backing up symbolic link $new as $new.dpkg-old" + mv -b "$new" "$new.dpkg-old" + fi + fi + + # Does new location exist, but is not a directory? + if [ -e "$new" ] && ! [ -d "$new" ]; then + warn "backing up non-directory $new as $new.dpkg-old" + mv -b "$new" "$new.dpkg-old" + fi + + # Create new directory if it does not yet exist. + if ! [ -e "$new" ]; then + observe "creating $new" + mkdir -p "$new" + fi + + # Copy files in old location to new location. Back up any filenames that + # already exist in the new location with the extension ".dpkg-old". + observe "copying files from $old to $new" + if ! (cd "$old" && cp -a -b -S ".dpkg-old" . "$new"); then + die "error(s) encountered while copying files from $old to $new" + fi + + # Remove files at old location. + observe "removing $old" + rm -r "$old" + + # Create symlink from old location to new location. + make_symlink_sane "$old" "$new" +} + +# vim:set ai et sw=2 ts=2 tw=80: + +# GOBSTOPPER: The X Strike Force shell library ends here. --- xserver-xorg-video-nv-2.1.15.orig/debian/xsfbs/xsfbs.mk +++ xserver-xorg-video-nv-2.1.15/debian/xsfbs/xsfbs.mk @@ -0,0 +1,276 @@ +#!/usr/bin/make -f + +# Debian X Strike Force Build System (XSFBS): Make portion + +# Copyright 1996 Stephen Early +# Copyright 1997 Mark Eichin +# Copyright 1998-2005, 2007 Branden Robinson +# Copyright 2005 David Nusinow +# +# Licensed under the GNU General Public License, version 2. See the file +# /usr/share/common-licenses/GPL or . + +# Originally by Stephen Early +# Modified by Mark W. Eichin +# Modified by Adam Heath +# Modified by Branden Robinson +# Modified by Fabio Massimo Di Nitto +# Modified by David Nusinow +# Acknowledgements to Manoj Srivastava. + +# Pass $(DH_OPTIONS) into the environment for debhelper's benefit. +export DH_OPTIONS + +# force quilt to not use ~/.quiltrc and to use debian/patches +QUILT = QUILT_PATCHES=debian/patches quilt --quiltrc /dev/null + +# Set up parameters for the upstream build environment. + +# Determine (source) package name from Debian changelog. +SOURCE_NAME:=$(shell dpkg-parsechangelog -ldebian/changelog \ + | grep '^Source:' | awk '{print $$2}') + +# Determine package version from Debian changelog. +SOURCE_VERSION:=$(shell dpkg-parsechangelog -ldebian/changelog \ + | grep '^Version:' | awk '{print $$2}') + +# Determine upstream version number. +UPSTREAM_VERSION:=$(shell echo $(SOURCE_VERSION) | sed 's/-.*//') + +# Determine the source version without the epoch for make-orig-tar-gz +NO_EPOCH_VER:=$(shell echo $(UPSTREAM_VERSION) | sed 's/^.://') + +# Figure out who's building this package. +BUILDER:=$(shell echo $${DEBEMAIL:-$${EMAIL:-$$(echo $$LOGNAME@$$(cat /etc/mailname 2>/dev/null))}}) + +# Find out if this is an official build; an official build has nothing but +# digits, dots, and/or the codename of a release in the Debian part of the +# version number. Anything else indicates an unofficial build. +OFFICIAL_BUILD:=$(shell VERSION=$(SOURCE_VERSION); if ! expr "$$(echo $${VERSION\#\#*-} | sed 's/\(woody\|sarge\|etch\|lenny\)//g')" : ".*[^0-9.].*" >/dev/null 2>&1; then echo yes; fi) + +# Set up parameters for the Debian build environment. + +# Determine our architecture. +BUILD_ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH) +# Work around some old-time dpkg braindamage. +BUILD_ARCH:=$(subst i486,i386,$(BUILD_ARCH)) +# The DEB_HOST_ARCH variable may be set per the Debian cross-compilation policy. +ifdef DEB_HOST_ARCH + ARCH:=$(DEB_HOST_ARCH) +else + # dpkg-cross sets the ARCH environment variable; if set, use it. + ifdef ARCH + ARCH:=$(ARCH) + else + ARCH:=$(BUILD_ARCH) + endif +endif + +# $(STAMP_DIR) houses stamp files for complex targets. +STAMP_DIR:=stampdir + +# $(DEBTREEDIR) is where all install rules are told (via $(DESTDIR)) to place +# their files. +DEBTREEDIR:=$(CURDIR)/debian/tmp + +# All "important" targets have four lines: +# 1) A target name that is invoked by a package-building tool or the user. +# This consists of a dependency on a "$(STAMP_DIR)/"-prefixed counterpart. +# 2) A line delcaring 1) as a phony target (".PHONY:"). +# 3) A "$(STAMP_DIR)/"-prefixed target which does the actual work, and may +# depend on other targets. +# 4) A line declaring 3) as a member of the $(stampdir_targets) variable; the +# "$(STAMP_DIR)/" prefix is omitted. +# +# This indirection is needed so that the "stamp" files that signify when a rule +# is done can be located in a separate "stampdir". Recall that make has no way +# to know when a goal has been met for a phony target (like "build" or +# "install"). +# +# At the end of each "$(STAMP_DIR)/" target, be sure to run the command ">$@" +# so that the target will not be run again. Removing the file will make Make +# run the target over. + +# All phony targets should be declared as dependencies of .PHONY, even if they +# do not have "($STAMP_DIR)/"-prefixed counterparts. + +# Define a harmless default rule to keep things from going nuts by accident. +.PHONY: default +default: + +# Set up the $(STAMP_DIR) directory. +.PHONY: stampdir +stampdir_targets+=stampdir +stampdir: $(STAMP_DIR)/stampdir +$(STAMP_DIR)/stampdir: + mkdir $(STAMP_DIR) + >$@ + +# Set up the package build directory as quilt expects to find it. +.PHONY: prepare +stampdir_targets+=prepare +prepare: $(STAMP_DIR)/prepare +$(STAMP_DIR)/prepare: $(STAMP_DIR)/log $(STAMP_DIR)/genscripts + >$@ + +.PHONY: log +stampdir_targets+=log +log: $(STAMP_DIR)/log +$(STAMP_DIR)/log: $(STAMP_DIR)/stampdir + mkdir -p $(STAMP_DIR)/log + +# Apply all patches to the upstream source. +.PHONY: patch +stampdir_targets+=patch +patch: $(STAMP_DIR)/patch +$(STAMP_DIR)/patch: $(STAMP_DIR)/prepare + if ! [ `which quilt` ]; then \ + echo "Couldn't find quilt. Please install it or add it to the build-depends for this package."; \ + exit 1; \ + fi; \ + if $(QUILT) next >/dev/null 2>&1; then \ + echo -n "Applying patches..."; \ + if $(QUILT) push -a -v >$(STAMP_DIR)/log/patch 2>&1; then \ + cat $(STAMP_DIR)/log/patch; \ + echo "successful."; \ + else \ + cat $(STAMP_DIR)/log/patch; \ + echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \ + exit 1; \ + fi; \ + else \ + echo "No patches to apply"; \ + fi; \ + >$@ + +# Revert all patches to the upstream source. +.PHONY: unpatch +unpatch: $(STAMP_DIR)/log + rm -f $(STAMP_DIR)/patch + @echo -n "Unapplying patches..."; \ + if $(QUILT) applied >/dev/null 2>/dev/null; then \ + if $(QUILT) pop -a -v >$(STAMP_DIR)/log/unpatch 2>&1; then \ + cat $(STAMP_DIR)/log/unpatch; \ + echo "successful."; \ + else \ + cat $(STAMP_DIR)/log/unpatch; \ + echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \ + exit 1; \ + fi; \ + else \ + echo "nothing to do."; \ + fi + +# Clean the generated maintainer scripts. +.PHONY: cleanscripts +cleanscripts: + rm -f $(STAMP_DIR)/genscripts + rm -f debian/*.config \ + debian/*.postinst \ + debian/*.postrm \ + debian/*.preinst \ + debian/*.prerm + +# Clean the package build tree. +.PHONY: xsfclean +xsfclean: cleanscripts unpatch + dh_testdir + rm -rf .pc + rm -rf $(STAMP_DIR) + dh_clean + +# Remove files from the upstream source tree that we don't need, or which have +# licensing problems. It must be run before creating the .orig.tar.gz. +# +# Note: This rule is for Debian package maintainers' convenience, and is not +# needed for conventional build scenarios. +.PHONY: prune-upstream-tree +prune-upstream-tree: + # Ensure we're in the correct directory. + dh_testdir + grep -rvh '^#' debian/prune/ | xargs --no-run-if-empty rm -rf + +# Verify that there are no offsets or fuzz in the patches we apply. +# +# Note: This rule is for Debian package maintainers' convenience, and is not +# needed for conventional build scenarios. +.PHONY: patch-audit +patch-audit: prepare unpatch + @echo -n "Auditing patches..."; \ + >$(STAMP_DIR)/log/patch; \ + FUZZY=; \ + while [ -n "$$($(QUILT) next)" ]; do \ + RESULT=$$($(QUILT) push -v | tee -a $(STAMP_DIR)/log/patch | grep ^Hunk | sed 's/^Hunk.*\(succeeded\|FAILED\).*/\1/');\ + case "$$RESULT" in \ + succeeded) \ + echo "fuzzy patch: $$($(QUILT) top)" \ + | tee -a $(STAMP_DIR)/log/$$($(QUILT) top); \ + FUZZY=yes; \ + ;; \ + FAILED) \ + echo "broken patch: $$($(QUILT) next)" \ + | tee -a $(STAMP_DIR)/log/$$($(QUILT) next); \ + exit 1; \ + ;; \ + esac; \ + done; \ + if [ -n "$$FUZZY" ]; then \ + echo "there were fuzzy patches; please fix."; \ + exit 1; \ + else \ + echo "done."; \ + fi + +# Generate the maintainer scripts. +.PHONY: genscripts +stampdir_targets+=genscripts +genscripts: $(STAMP_DIR)/genscripts +$(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir + for FILE in debian/*.config.in \ + debian/*.postinst.in \ + debian/*.postrm.in \ + debian/*.preinst.in \ + debian/*.prerm.in; do \ + if [ -e "$$FILE" ]; then \ + MAINTSCRIPT=$$(echo $$FILE | sed 's/.in$$//'); \ + sed -n '1,/^#INCLUDE_SHELL_LIB#$$/p' <$$FILE \ + | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >$$MAINTSCRIPT.tmp; \ + cat debian/xsfbs/xsfbs.sh >>$$MAINTSCRIPT.tmp; \ + sed -n '/^#INCLUDE_SHELL_LIB#$$/,$$p' <$$FILE \ + | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >>$$MAINTSCRIPT.tmp; \ + sed -e 's/@SOURCE_VERSION@/$(SOURCE_VERSION)/' \ + -e 's/@OFFICIAL_BUILD@/$(OFFICIAL_BUILD)/' \ + <$$MAINTSCRIPT.tmp >$$MAINTSCRIPT; \ + rm $$MAINTSCRIPT.tmp; \ + fi; \ + done + # Validate syntax of generated shell scripts. + #sh debian/scripts/validate-posix-sh debian/*.config \ + # debian/*.postinst \ + # debian/*.postrm \ + # debian/*.preinst \ + # debian/*.prerm + >$@ + +SERVERMINVERS = $(shell cat /usr/share/xserver-xorg/serverminver 2>/dev/null) +VIDEOABI = $(shell cat /usr/share/xserver-xorg/videoabiver 2>/dev/null) +INPUTABI = $(shell cat /usr/share/xserver-xorg/inputabiver 2>/dev/null) +SERVER_DEPENDS = xserver-xorg-core (>= $(SERVERMINVERS)) +VIDDRIVER_PROVIDES = xserver-xorg-video-$(VIDEOABI) +INPDRIVER_PROVIDES = xserver-xorg-input-$(INPUTABI) +ifeq ($(PACKAGE),) +PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control) +endif + +.PHONY: serverabi +serverabi: install +ifeq ($(SERVERMINVERS),) + @echo error: xserver-xorg-dev needs to be installed + @exit 1 +else + echo "xserver:Depends=$(SERVER_DEPENDS)" >> debian/$(PACKAGE).substvars + echo "xviddriver:Provides=$(VIDDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars + echo "xinpdriver:Provides=$(INPDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars +endif + +# vim:set noet ai sts=8 sw=8 tw=0: --- xserver-xorg-video-nv-2.1.15.orig/debian/patches/series +++ xserver-xorg-video-nv-2.1.15/debian/patches/series @@ -0,0 +1,4 @@ +0001-Move-the-logic-for-matching-devices-out-of-probe-rou.patch +0002-Run-the-parsing-script-to-generate-an-initial-list-o.patch +100_fedora-panel-fix.patch +105_gf7025_gf7050.patch --- xserver-xorg-video-nv-2.1.15.orig/debian/patches/100_fedora-panel-fix.patch +++ xserver-xorg-video-nv-2.1.15/debian/patches/100_fedora-panel-fix.patch @@ -0,0 +1,37 @@ +Index: xserver-xorg-video-nv-2.1.14-2ubuntu1/src/nv_setup.c +=================================================================== +--- xserver-xorg-video-nv-2.1.14-2ubuntu1.orig/src/nv_setup.c 2009-07-29 12:52:14.000000000 +0300 ++++ xserver-xorg-video-nv-2.1.14-2ubuntu1/src/nv_setup.c 2009-07-29 12:57:15.000000000 +0300 +@@ -664,27 +664,14 @@ + } + + if(monitorA) { +- if((monitorA->features.input_type && pNv->FlatPanel) || +- (!monitorA->features.input_type && !pNv->FlatPanel)) +- { +- if(monitorB) { +- xfree(monitorB); +- monitorB = NULL; +- } +- } else { +- xfree(monitorA); +- monitorA = NULL; +- } ++ if(monitorB) { ++ xfree(monitorB); ++ monitorB = NULL; ++ } + } + + if(monitorB) { +- if((monitorB->features.input_type && !pNv->FlatPanel) || +- (!monitorB->features.input_type && pNv->FlatPanel)) +- { +- xfree(monitorB); +- } else { +- monitorA = monitorB; +- } ++ monitorA = monitorB; + monitorB = NULL; + } + --- xserver-xorg-video-nv-2.1.15.orig/debian/patches/0002-Run-the-parsing-script-to-generate-an-initial-list-o.patch +++ xserver-xorg-video-nv-2.1.15/debian/patches/0002-Run-the-parsing-script-to-generate-an-initial-list-o.patch @@ -0,0 +1,1007 @@ +From bf594e812dfe573a3331eb3d95e36d7accbcab0a Mon Sep 17 00:00:00 2001 +From: Mario Limonciello +Date: Sat, 12 Sep 2009 09:13:02 -0500 +Subject: [PATCH] Run the parsing script to generate an initial list of devices. + +In the future, run this script from the "src" directory like this: +./pcidb/parse_pci_ids.pl ./pcidb/nv_list.csv +--- + src/nvidia_chipset_gen.h | 328 +++++++++++++++++++ + src/nvidia_pci_device_match_gen.h | 654 +++++++++++++++++++++++++++++++++++++ + 2 files changed, 982 insertions(+), 0 deletions(-) + +diff --git a/src/nvidia_chipset_gen.h b/src/nvidia_chipset_gen.h +index e69de29..6b73019 100644 +--- a/src/nvidia_chipset_gen.h ++++ b/src/nvidia_chipset_gen.h +@@ -0,0 +1,328 @@ ++/* This file is autogenerated please do not edit */ ++static SymTabRec NVKnownChipsets[] = { ++ { 0x12D20018, " RIVA 128" }, ++ { 0x10DE0020, " RIVA TNT" }, ++ { 0x10DE0028, " RIVA TNT2" }, ++ { 0x10DE0029, " RIVA TNT2 Ultra" }, ++ { 0x10DE002A, " Unknown TNT2" }, ++ { 0x10DE002C, " Vanta" }, ++ { 0x10DE002D, " RIVA TNT2 Model 64" }, ++ { 0x10DE0040, " GeForce 6800 Ultra" }, ++ { 0x10DE0041, " GeForce 6800" }, ++ { 0x10DE0042, " GeForce 6800 LE" }, ++ { 0x10DE0043, " GeForce 6800 XE" }, ++ { 0x10DE0044, " GeForce 6800 XT" }, ++ { 0x10DE0045, " GeForce 6800 GT" }, ++ { 0x10DE0046, " GeForce 6800 GT" }, ++ { 0x10DE0047, " GeForce 6800 GS" }, ++ { 0x10DE0048, " GeForce 6800 XT" }, ++ { 0x10DE004E, " Quadro FX 4000" }, ++ { 0x10DE0090, " GeForce 7800 GTX" }, ++ { 0x10DE0091, " GeForce 7800 GTX" }, ++ { 0x10DE0092, " GeForce 7800 GT" }, ++ { 0x10DE0093, " GeForce 7800 GS" }, ++ { 0x10DE0095, " GeForce 7800 SLI" }, ++ { 0x10DE0098, " GeForce Go 7800" }, ++ { 0x10DE0099, " GeForce Go 7800 GTX" }, ++ { 0x10DE009D, " Quadro FX 4500" }, ++ { 0x10DE00A0, " Aladdin TNT2" }, ++ { 0x10DE00C0, " GeForce 6800 GS" }, ++ { 0x10DE00C1, " GeForce 6800" }, ++ { 0x10DE00C2, " GeForce 6800 LE" }, ++ { 0x10DE00C3, " GeForce 6800 XT" }, ++ { 0x10DE00C8, " GeForce Go 6800" }, ++ { 0x10DE00C9, " GeForce Go 6800 Ultra" }, ++ { 0x10DE00CC, " Quadro FX Go1400" }, ++ { 0x10DE00CD, " Quadro FX 3450/4000 SDI" }, ++ { 0x10DE00CE, " Quadro FX 1400" }, ++ { 0x10DE0100, " GeForce 256" }, ++ { 0x10DE0101, " GeForce DDR" }, ++ { 0x10DE0103, " Quadro" }, ++ { 0x10DE0110, " GeForce2 MX/MX 400" }, ++ { 0x10DE0111, " GeForce2 MX 100/200" }, ++ { 0x10DE0112, " GeForce2 Go" }, ++ { 0x10DE0113, " Quadro2 MXR/EX/Go" }, ++ { 0x10DE0140, " GeForce 6600 GT" }, ++ { 0x10DE0141, " GeForce 6600" }, ++ { 0x10DE0142, " GeForce 6600 LE" }, ++ { 0x10DE0143, " GeForce 6600 VE" }, ++ { 0x10DE0144, " GeForce Go 6600" }, ++ { 0x10DE0145, " GeForce 6610 XL" }, ++ { 0x10DE0146, " GeForce Go 6600 TE/6200 TE" }, ++ { 0x10DE0147, " GeForce 6700 XL" }, ++ { 0x10DE0148, " GeForce Go 6600" }, ++ { 0x10DE0149, " GeForce Go 6600 GT" }, ++ { 0x10DE014A, " Quadro NVS 440" }, ++ { 0x10DE014C, " Quadro FX 550" }, ++ { 0x10DE014D, " Quadro FX 550" }, ++ { 0x10DE014E, " Quadro FX 540" }, ++ { 0x10DE014F, " GeForce 6200" }, ++ { 0x10DE0150, " GeForce2 GTS" }, ++ { 0x10DE0151, " GeForce2 Ti" }, ++ { 0x10DE0152, " GeForce2 Ultra" }, ++ { 0x10DE0153, " Quadro2 Pro" }, ++ { 0x10DE0160, " GeForce 6500" }, ++ { 0x10DE0161, " GeForce 6200 TurboCache(TM)" }, ++ { 0x10DE0162, " GeForce 6200SE TurboCache(TM)" }, ++ { 0x10DE0163, " GeForce 6200 LE" }, ++ { 0x10DE0164, " GeForce Go 6200" }, ++ { 0x10DE0165, " Quadro NVS 285" }, ++ { 0x10DE0166, " GeForce Go 6400" }, ++ { 0x10DE0167, " GeForce Go 6200" }, ++ { 0x10DE0168, " GeForce Go 6400" }, ++ { 0x10DE0169, " GeForce 6250" }, ++ { 0x10DE016A, " GeForce 7100 GS" }, ++ { 0x10DE0170, " GeForce4 MX 460" }, ++ { 0x10DE0171, " GeForce4 MX 440" }, ++ { 0x10DE0172, " GeForce4 MX 420" }, ++ { 0x10DE0173, " GeForce4 MX 440-SE" }, ++ { 0x10DE0174, " GeForce4 440 Go" }, ++ { 0x10DE0175, " GeForce4 420 Go" }, ++ { 0x10DE0176, " GeForce4 420 Go 32M" }, ++ { 0x10DE0177, " GeForce4 460 Go" }, ++ { 0x10DE0178, " Quadro4 550 XGL" }, ++#if !defined(__powerpc__) ++ { 0x10DE0179, " GeForce4 440 Go 64M" }, ++#endif ++#if defined(__powerpc__) ++ { 0x10DE0179, " GeForce4 MX (Mac)" }, ++#endif ++ { 0x10DE017A, " Quadro NVS" }, ++ { 0x10DE017C, " Quadro4 500 GoGL" }, ++ { 0x10DE017D, " GeForce4 410 Go 16M" }, ++ { 0x10DE0181, " GeForce4 MX 440 with AGP8X" }, ++ { 0x10DE0182, " GeForce4 MX 440SE with AGP8X" }, ++ { 0x10DE0183, " GeForce4 MX 420 with AGP8X" }, ++ { 0x10DE0185, " GeForce4 MX 4000" }, ++ { 0x10DE0186, " GeForce4 448 Go" }, ++ { 0x10DE0187, " GeForce4 488 Go" }, ++ { 0x10DE0188, " Quadro4 580 XGL" }, ++#if defined(__powerpc__) ++ { 0x10DE0189, " GeForce4 MX with AGP8X (Mac)" }, ++#endif ++ { 0x10DE018A, " Quadro4 NVS 280 SD" }, ++ { 0x10DE018B, " Quadro4 380 XGL" }, ++ { 0x10DE018C, " Quadro NVS 50 PCI" }, ++ { 0x10DE018D, " GeForce4 448 Go" }, ++ { 0x10DE0191, " GeForce 8800 GTX" }, ++ { 0x10DE0193, " GeForce 8800 GTS" }, ++ { 0x10DE0194, " GeForce 8800 Ultra" }, ++ { 0x10DE019D, " Quadro FX 5600" }, ++ { 0x10DE019E, " Quadro FX 4600" }, ++ { 0x10DE01A0, " GeForce2 Integrated GPU" }, ++ { 0x10DE01D0, " GeForce 7350 LE" }, ++ { 0x10DE01D1, " GeForce 7300 LE" }, ++ { 0x10DE01D3, " GeForce 7300 SE" }, ++ { 0x10DE01D6, " GeForce Go 7200" }, ++ { 0x10DE01D7, " GeForce Go 7300" }, ++ { 0x10DE01D8, " GeForce Go 7400" }, ++ { 0x10DE01D9, " GeForce Go 7400 GS" }, ++ { 0x10DE01DA, " Quadro NVS 110M" }, ++ { 0x10DE01DB, " Quadro NVS 120M" }, ++ { 0x10DE01DC, " Quadro FX 350M" }, ++ { 0x10DE01DD, " GeForce 7500 LE" }, ++ { 0x10DE01DE, " Quadro FX 350" }, ++ { 0x10DE01DF, " GeForce 7300 GS" }, ++ { 0x10DE01F0, " GeForce4 MX Integrated GPU" }, ++ { 0x10DE0200, " GeForce3" }, ++ { 0x10DE0201, " GeForce3 Ti 200" }, ++ { 0x10DE0202, " GeForce3 Ti 500" }, ++ { 0x10DE0203, " Quadro DCC" }, ++ { 0x10DE0211, " GeForce 6800" }, ++ { 0x10DE0212, " GeForce 6800 LE" }, ++ { 0x10DE0215, " GeForce 6800 GT" }, ++ { 0x10DE0218, " GeForce 6800 XT" }, ++ { 0x10DE0221, " GeForce 6200" }, ++ { 0x10DE0222, " GeForce 6200 A-LE" }, ++ { 0x10DE0240, " GeForce 6150" }, ++ { 0x10DE0241, " GeForce 6150 LE" }, ++ { 0x10DE0242, " GeForce 6100" }, ++ { 0x10DE0244, " GeForce Go 6150" }, ++ { 0x10DE0245, " Quadro NVS 210S / NVIDIA GeForce 6150LE" }, ++ { 0x10DE0247, " GeForce Go 6100" }, ++ { 0x10DE0250, " GeForce4 Ti 4600" }, ++ { 0x10DE0251, " GeForce4 Ti 4400" }, ++ { 0x10DE0253, " GeForce4 Ti 4200" }, ++ { 0x10DE0258, " Quadro4 900 XGL" }, ++ { 0x10DE0259, " Quadro4 750 XGL" }, ++ { 0x10DE025B, " Quadro4 700 XGL" }, ++ { 0x10DE0280, " GeForce4 Ti 4800" }, ++ { 0x10DE0281, " GeForce4 Ti 4200 with AGP8X" }, ++ { 0x10DE0282, " GeForce4 Ti 4800 SE" }, ++ { 0x10DE0286, " GeForce4 4200 Go" }, ++ { 0x10DE0288, " Quadro4 980 XGL" }, ++ { 0x10DE0289, " Quadro4 780 XGL" }, ++ { 0x10DE028C, " Quadro4 700 GoGL" }, ++ { 0x10DE0290, " GeForce 7900 GTX" }, ++ { 0x10DE0291, " GeForce 7900 GT" }, ++ { 0x10DE0292, " GeForce 7900 GS" }, ++ { 0x10DE0293, " GeForce 7950 GX2" }, ++ { 0x10DE0294, " GeForce 7950 GX2" }, ++ { 0x10DE0295, " GeForce 7950 GT}" }, ++ { 0x10DE0297, " GeForce Go 7950 GTX" }, ++ { 0x10DE0298, " GeForce Go 7900 GS" }, ++ { 0x10DE0299, " GeForce Go 7900 GTX" }, ++ { 0x10DE029A, " Quadro FX 2500M" }, ++ { 0x10DE029B, " Quadro FX 1500M" }, ++ { 0x10DE029C, " Quadro FX 5500" }, ++ { 0x10DE029D, " Quadro FX 3500" }, ++ { 0x10DE029E, " Quadro FX 1500" }, ++ { 0x10DE029F, " Quadro FX 4500 X2" }, ++ { 0x10DE0301, " GeForce FX 5800 Ultra" }, ++ { 0x10DE0302, " GeForce FX 5800" }, ++ { 0x10DE0308, " Quadro FX 2000" }, ++ { 0x10DE0309, " Quadro FX 1000" }, ++ { 0x10DE0311, " GeForce FX 5600 Ultra" }, ++ { 0x10DE0312, " GeForce FX 5600" }, ++ { 0x10DE0314, " GeForce FX 560T" }, ++ { 0x10DE031A, " GeForce FX Go5600" }, ++ { 0x10DE031B, " GeForce FX Go5650" }, ++ { 0x10DE031C, " Quadro FX Go700" }, ++ { 0x10DE0320, " GeForce FX 5200" }, ++ { 0x10DE0321, " GeForce FX 5200 Ultra" }, ++ { 0x10DE0322, " GeForce FX 5200" }, ++ { 0x10DE0323, " GeForce FX 5200LE" }, ++ { 0x10DE0324, " GeForce FX Go5200" }, ++ { 0x10DE0325, " GeForce FX Go5250" }, ++ { 0x10DE0326, " GeForce FX 5500" }, ++ { 0x10DE0327, " GeForce FX 5100" }, ++ { 0x10DE0328, " GeForce FX Go5200 32M/64M" }, ++#if defined(__powerpc__) ++ { 0x10DE0329, " GeForce FX 5200 (Mac)" }, ++#endif ++ { 0x10DE032A, " Quadro NVS 55/280 PCI" }, ++ { 0x10DE032B, " Quadro FX 500/600 PCI" }, ++ { 0x10DE032C, " GeForce FX Go53xx Series" }, ++ { 0x10DE032D, " GeForce FX Go5100" }, ++ { 0x10DE0330, " GeForce FX 5900 Ultra" }, ++ { 0x10DE0331, " GeForce FX 5900" }, ++ { 0x10DE0332, " GeForce FX 590T" }, ++ { 0x10DE0333, " GeForce FX 5950 Ultra" }, ++ { 0x10DE0334, " GeForce FX 5900ZT" }, ++ { 0x10DE0338, " Quadro FX 3000" }, ++ { 0x10DE033F, " Quadro FX 700" }, ++ { 0x10DE0341, " GeForce FX 5700 Ultra" }, ++ { 0x10DE0342, " GeForce FX 5700" }, ++ { 0x10DE0343, " GeForce FX 5700LE" }, ++ { 0x10DE0344, " GeForce FX 5700VE" }, ++ { 0x10DE0347, " GeForce FX Go5700" }, ++ { 0x10DE0348, " GeForce FX Go5700" }, ++ { 0x10DE034C, " Quadro FX Go1000" }, ++ { 0x10DE034E, " Quadro FX 1100" }, ++ { 0x10DE0390, " GeForce 7650 GS" }, ++ { 0x10DE0391, " GeForce 7600 GT" }, ++ { 0x10DE0392, " GeForce 7600 GS" }, ++ { 0x10DE0393, " GeForce 7300 GT" }, ++ { 0x10DE0394, " GeForce 7600 LE" }, ++ { 0x10DE0395, " GeForce 7300 GT" }, ++ { 0x10DE0397, " GeForce Go 7700" }, ++ { 0x10DE0398, " GeForce Go 7600" }, ++ { 0x10DE0399, " GeForce Go 7600 GT}" }, ++ { 0x10DE039A, " Quadro NVS 300M" }, ++ { 0x10DE039B, " GeForce Go 7900 SE" }, ++ { 0x10DE039C, " Quadro FX 550M" }, ++ { 0x10DE039E, " Quadro FX 560" }, ++ { 0x10DE03D0, " GeForce 6150SE" }, ++ { 0x10DE03D1, " GeForce 6100 nForce 405" }, ++ { 0x10DE03D2, " GeForce 6100 nForce 400" }, ++ { 0x10DE03D5, " GeForce 6100 nForce 420" }, ++ { 0x10DE0400, " GeForce 8600 GTS" }, ++ { 0x10DE0401, " GeForce 8600 GT" }, ++ { 0x10DE0402, " GeForce 8600 GT" }, ++ { 0x10DE0403, " GeForce 8600 GS" }, ++ { 0x10DE0404, " GeForce 8400 GS" }, ++ { 0x10DE0405, " GeForce 9500M GS" }, ++ { 0x10DE0407, " GeForce 8600M GT" }, ++ { 0x10DE0408, " GeForce 9650M GS" }, ++ { 0x10DE0409, " GeForce 8700M GT" }, ++ { 0x10DE040A, " Quadro FX 370" }, ++ { 0x10DE040B, " Quadro NVS 320M" }, ++ { 0x10DE040C, " Quadro FX 570M" }, ++ { 0x10DE040D, " Quadro FX 1600M" }, ++ { 0x10DE040E, " Quadro FX 570" }, ++ { 0x10DE040F, " Quadro FX 1700" }, ++ { 0x10DE0420, " GeForce 8400 SE" }, ++ { 0x10DE0421, " GeForce 8500 GT" }, ++ { 0x10DE0422, " GeForce 8400 GS" }, ++ { 0x10DE0423, " GeForce 8300 GS" }, ++ { 0x10DE0424, " GeForce 8400 GS" }, ++ { 0x10DE0425, " GeForce 8600M GS" }, ++ { 0x10DE0426, " GeForce 8400M GT" }, ++ { 0x10DE0427, " GeForce 8400M GS" }, ++ { 0x10DE0428, " GeForce 8400M G" }, ++ { 0x10DE0429, " Quadro NVS 140M" }, ++ { 0x10DE042A, " Quadro NVS 130M" }, ++ { 0x10DE042B, " Quadro NVS 135M" }, ++ { 0x10DE042C, " GeForce 9400 GT" }, ++ { 0x10DE042D, " Quadro FX 360M" }, ++ { 0x10DE042E, " GeForce 9300M G" }, ++ { 0x10DE042F, " Quadro NVS 290" }, ++ { 0x10DE05E0, " GeForce GTX 295" }, ++ { 0x10DE05E1, " GeForce GTX 280" }, ++ { 0x10DE05E2, " GeForce GTX 260" }, ++ { 0x10DE05E3, " GeForce GTX 285" }, ++ { 0x10DE05F9, " Quadro CX" }, ++ { 0x10DE05FD, " Quadro FX 5800" }, ++ { 0x10DE05FE, " Quadro FX 4800" }, ++ { 0x10DE05FF, " Quadro FX 3800" }, ++ { 0x10DE0600, " GeForce 8800 GTS 512" }, ++ { 0x10DE0601, " GeForce 9800 GT" }, ++ { 0x10DE0602, " GeForce 8800 GT" }, ++ { 0x10DE0604, " GeForce 9800 GX2" }, ++ { 0x10DE0605, " GeForce 9800 GT" }, ++ { 0x10DE0606, " GeForce 8800 GS" }, ++ { 0x10DE0608, " GeForce 9800M GTX" }, ++ { 0x10DE0609, " GeForce 8800M GTS" }, ++ { 0x10DE060B, " GeForce 9800M GT" }, ++ { 0x10DE060C, " GeForce 8800M GTX" }, ++ { 0x10DE060D, " GeForce 8800 GS" }, ++ { 0x10DE0610, " GeForce 9600 GSO" }, ++ { 0x10DE0611, " GeForce 8800 GT" }, ++ { 0x10DE0612, " GeForce 9800 GTX" }, ++ { 0x10DE0613, " GeForce 9800 GTX+" }, ++ { 0x10DE0614, " GeForce 9800 GT" }, ++ { 0x10DE0615, " GeForce GTS 250" }, ++ { 0x10DE0617, " GeForce 9800M GTX" }, ++ { 0x10DE061A, " Quadro FX 3700" }, ++ { 0x10DE061C, " Quadro FX 3600M" }, ++ { 0x10DE061E, " Quadro FX 3700M" }, ++ { 0x10DE0622, " GeForce 9600 GT" }, ++ { 0x10DE0623, " GeForce 9600 GS" }, ++ { 0x10DE0625, " GeForce 9600 GSO 512" }, ++ { 0x10DE0626, " GeForce GT 130" }, ++ { 0x10DE0627, " GeForce GT 140" }, ++ { 0x10DE0628, " GeForce 9800M GTS" }, ++ { 0x10DE062A, " GeForce 9700M GTS" }, ++ { 0x10DE062B, " GeForce 9800M GS" }, ++ { 0x10DE062C, " GeForce 9800M GTS" }, ++ { 0x10DE0638, " Quadro FX 1800" }, ++ { 0x10DE063A, " Quadro FX 2700M" }, ++ { 0x10DE0640, " GeForce 9500 GT" }, ++ { 0x10DE0641, " GeForce 9400 GT" }, ++ { 0x10DE0643, " GeForce 9500 GT" }, ++ { 0x10DE0646, " GeForce GT 120" }, ++ { 0x10DE0647, " GeForce 9600M GT" }, ++ { 0x10DE0648, " GeForce 9600M GS" }, ++ { 0x10DE0649, " GeForce 9600M GT" }, ++ { 0x10DE064A, " GeForce 9700M GT" }, ++ { 0x10DE064B, " GeForce 9500M G" }, ++ { 0x10DE064C, " GeForce 9650M GT" }, ++ { 0x10DE0656, " GeForce 9500 GT" }, ++ { 0x10DE0658, " Quadro FX 380" }, ++ { 0x10DE0659, " Quadro FX 580" }, ++ { 0x10DE065C, " Quadro FX 770M" }, ++ { 0x10DE06E0, " GeForce 9300 GE" }, ++ { 0x10DE06E1, " GeForce 9300 GS" }, ++ { 0x10DE06E4, " GeForce 8400 GS" }, ++ { 0x10DE06E5, " GeForce 9300M GS" }, ++ { 0x10DE06E6, " GeForce G100" }, ++ { 0x10DE06E8, " GeForce 9200M GS" }, ++ { 0x10DE06E9, " GeForce 9300M GS" }, ++ { 0x10DE06EA, " Quadro NVS 150M" }, ++ { 0x10DE06EB, " Quadro NVS 160M" }, ++ { 0x10DE06F8, " Quadro NVS 420" }, ++ { 0x10DE06F9, " Quadro FX 370 LP" }, ++ { 0x10DE06FA, " Quadro NVS 450" }, ++ { 0x10DE06FD, " Quadro NVS 295" }, ++ { -1, NULL } ++}; +diff --git a/src/nvidia_pci_device_match_gen.h b/src/nvidia_pci_device_match_gen.h +index e69de29..a3b34e8 100644 +--- a/src/nvidia_pci_device_match_gen.h ++++ b/src/nvidia_pci_device_match_gen.h +@@ -0,0 +1,654 @@ ++/* This file is autogenerated please do not edit */ ++#if XSERVER_LIBPCIACCESS ++#define LIBPCIACCESS_CLASS_SHIFT (PCI_CLASS_SHIFT - 8) ++#define LIBPCIACCESS_CLASS_MASK (PCI_CLASS_MASK >> 8) ++#define NVIDIA_DEVICE_MATCH(v, d, i) \ ++ { (v), (d), PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_CLASS_DISPLAY << LIBPCIACCESS_CLASS_SHIFT, LIBPCIACCESS_CLASS_MASK, (i) } ++static const struct pci_id_match NVPciIdMatchList[] = { ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA_SGS, 0x0018, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0020, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0028, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0029, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x002A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x002C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x002D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0040, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0041, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0042, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0043, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0044, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0045, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0046, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0047, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0048, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0049, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x004A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x004B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x004C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x004D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x004E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x004F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0090, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0091, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0092, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0093, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0094, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0095, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0096, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0097, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0098, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0099, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x009A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x009B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x009C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x009D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x009E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x009F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00A0, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00C0, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00C1, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00C2, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00C3, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00C4, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00C5, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00C6, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00C7, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00C8, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00C9, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00CA, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00CB, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00CC, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00CD, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00CE, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x00CF, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0100, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0101, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0103, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0110, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0111, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0112, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0113, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0120, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0121, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0122, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0123, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0124, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0125, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0126, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0127, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0128, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0129, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x012A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x012B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x012C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x012D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x012E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x012F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0140, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0141, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0142, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0143, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0144, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0145, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0146, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0147, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0148, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0149, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x014A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x014B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x014C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x014D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x014E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x014F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0150, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0151, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0152, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0153, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0160, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0161, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0162, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0163, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0164, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0165, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0166, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0167, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0168, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0169, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x016A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x016B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x016C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x016D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x016E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x016F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0170, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0171, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0172, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0173, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0174, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0175, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0176, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0177, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0178, 0 ), ++#if !defined(__powerpc__) ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0179, 0 ), ++#endif ++#if defined(__powerpc__) ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0179, 0 ), ++#endif ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x017A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x017B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x017C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x017D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x017E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x017F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0180, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0181, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0182, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0183, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0184, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0185, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0186, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0187, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0188, 0 ), ++#if defined(__powerpc__) ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0189, 0 ), ++#endif ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x018A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x018B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x018C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x018D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x018E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x018F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0190, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0191, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0192, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0193, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0194, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0194, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0195, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0196, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0197, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0198, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0199, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x019A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x019B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x019C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x019D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x019D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x019E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x019E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x019F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01A0, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01D0, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01D1, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01D2, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01D3, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01D4, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01D5, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01D6, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01D7, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01D8, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01D9, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01DA, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01DB, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01DC, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01DD, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01DE, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01DF, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x01F0, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0200, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0201, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0202, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0203, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0210, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0211, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0212, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0213, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0214, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0215, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0216, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0217, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0218, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0219, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x021A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x021B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x021C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x021D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x021E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x021F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0220, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0221, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0222, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0223, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0224, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0225, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0226, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0227, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0228, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0229, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x022A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x022B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x022C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x022D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x022E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x022F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0240, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0241, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0242, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0243, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0244, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0245, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0246, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0247, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0248, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0249, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x024A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x024B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x024C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x024D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x024E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x024F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0250, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0251, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0252, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0253, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0254, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0255, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0256, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0257, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0258, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0259, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x025A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x025B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x025C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x025D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x025E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x025F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0280, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0281, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0282, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0283, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0284, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0285, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0286, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0287, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0288, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0289, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x028A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x028B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x028C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x028D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x028E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x028F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0290, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0291, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0292, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0293, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0294, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0295, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0296, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0297, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0298, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0299, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x029A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x029B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x029C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x029D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x029E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x029F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0300, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0301, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0302, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0303, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0304, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0305, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0306, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0307, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0308, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0309, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x030A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x030B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x030C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x030D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x030E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x030F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0310, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0311, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0312, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0313, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0314, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0315, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0316, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0317, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0318, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0319, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x031A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x031B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x031C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x031D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x031E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x031F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0320, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0321, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0322, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0323, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0324, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0325, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0326, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0327, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0328, 0 ), ++#if defined(__powerpc__) ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0329, 0 ), ++#endif ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x032A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x032B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x032C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x032D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x032E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x032F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0330, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0331, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0332, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0333, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0334, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0335, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0336, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0337, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0338, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0339, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x033A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x033B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x033C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x033D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x033E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x033F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0340, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0341, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0342, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0343, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0344, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0345, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0346, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0347, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0348, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0349, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x034A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x034B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x034C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x034D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x034E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x034F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0390, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0391, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0392, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0393, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0394, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0395, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0396, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0397, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0398, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0399, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x039A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x039B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x039C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x039D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x039E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x039F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x03D0, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x03D1, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x03D2, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x03D3, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x03D4, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x03D5, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x03D6, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x03D7, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x03D8, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x03D9, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x03DA, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x03DB, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x03DC, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x03DD, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x03DE, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x03DF, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0400, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0401, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0402, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0403, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0404, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0405, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0406, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0407, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0408, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0409, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x040A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x040B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x040C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x040D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x040E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x040F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0420, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0421, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0422, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0423, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0424, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0425, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0426, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0427, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0428, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0429, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x042A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x042B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x042C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x042D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x042E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x042F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05E0, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05E1, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05E2, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05E3, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05E4, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05E5, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05E6, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05E7, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05E8, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05E9, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05EA, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05EB, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05EC, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05ED, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05EE, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05EF, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05F0, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05F1, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05F2, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05F3, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05F4, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05F5, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05F6, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05F7, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05F8, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05F9, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05FA, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05FB, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05FC, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05FD, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05FE, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05FF, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0600, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0601, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0602, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0603, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0604, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0605, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0606, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0607, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0608, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0609, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x060A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x060B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x060C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x060D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x060E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x060F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0610, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0611, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0612, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0613, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0614, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0615, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0617, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0618, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0619, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x061A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x061B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x061C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x061D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x061E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x061F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0620, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0621, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0622, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0623, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0624, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0625, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0626, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0627, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0628, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0629, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x062A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x062B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x062C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x062D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x062E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x062F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0630, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0631, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0632, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0633, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0634, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0635, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0636, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0637, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0638, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0639, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x063A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x063B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x063C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x063D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x063E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x063F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0640, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0641, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0642, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0643, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0644, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0645, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0646, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0647, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0648, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0649, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x064A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x064B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x064C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x064D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x064E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x064F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0650, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0651, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0652, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0653, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0654, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0655, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0656, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0657, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0658, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0659, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x065A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x065B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x065C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x065D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x065E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x065F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06E0, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06E1, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06E2, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06E3, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06E4, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06E5, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06E6, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06E7, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06E8, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06E9, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06EA, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06EB, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06EC, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06ED, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06EE, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06EF, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06F0, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06F1, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06F2, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06F3, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06F4, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06F5, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06F6, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06F7, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06F8, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06F9, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06FA, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06FB, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06FC, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06FD, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06FE, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x06FF, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A60, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A61, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A62, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A63, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A64, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A65, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A66, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A67, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A68, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A69, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A6A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A6B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A6C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A6D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A6E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A6F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A70, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A71, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A72, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A73, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A74, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A75, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A76, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A77, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A78, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A79, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A7A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A7B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A7C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A7D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A7E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0A7F, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0CA0, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0CA1, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0CA2, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0CA3, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0CA4, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0CA5, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0CA6, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0CA7, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0CA8, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0CA9, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0CAA, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0CAB, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0CAC, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0CAD, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0CAE, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0CAF, 0 ), ++ { 0, 0, 0 } ++}; ++#endif +-- +1.6.0.4 + --- xserver-xorg-video-nv-2.1.15.orig/debian/patches/105_gf7025_gf7050.patch +++ xserver-xorg-video-nv-2.1.15/debian/patches/105_gf7025_gf7050.patch @@ -0,0 +1,111 @@ +Index: xserver-xorg-video-nv-2.1.14/src/nv_driver.c +=================================================================== +--- xserver-xorg-video-nv-2.1.14.orig/src/nv_driver.c 2009-09-12 10:14:08.000000000 -0500 ++++ xserver-xorg-video-nv-2.1.14/src/nv_driver.c 2009-09-12 10:14:08.000000000 -0500 +@@ -1250,6 +1250,7 @@ + case 0x0290: /* GeForce 7900 */ + case 0x0390: /* GeForce 7600 */ + case 0x0240: /* GeForce 6100 */ ++ case 0x0530: /* GeForce 7050, 7025 */ + case 0x03D0: + pNv->Architecture = NV_ARCH_40; + break; +Index: xserver-xorg-video-nv-2.1.14/src/nv_hw.c +=================================================================== +--- xserver-xorg-video-nv-2.1.14.orig/src/nv_hw.c 2009-05-06 21:14:11.000000000 -0500 ++++ xserver-xorg-video-nv-2.1.14/src/nv_hw.c 2009-09-12 10:14:08.000000000 -0500 +@@ -890,7 +890,8 @@ + case NV_ARCH_30: + default: + if(((pNv->Chipset & 0xfff0) == 0x0240) || +- ((pNv->Chipset & 0xfff0) == 0x03D0)) ++ ((pNv->Chipset & 0xfff0) == 0x03D0) || ++ ((pNv->Chipset & 0xfff0) == 0x0530)) + { + state->arbitration0 = 128; + state->arbitration1 = 0x0480; +@@ -1226,6 +1227,7 @@ + case 0x01D0: + case 0x0240: + case 0x03D0: ++ case 0x0530: + pNv->PMC[0x1700/4] = pNv->PFB[0x020C/4]; + pNv->PMC[0x1704/4] = 0; + pNv->PMC[0x1708/4] = 0; +@@ -1316,7 +1318,8 @@ + pNv->PGRAPH[(0x0900/4) + i] = pNv->PFB[(0x0600/4) + i]; + if(((pNv->Chipset & 0xfff0) != 0x0160) && + ((pNv->Chipset & 0xfff0) != 0x0220) && +- ((pNv->Chipset & 0xfff0) != 0x0240)) ++ ((pNv->Chipset & 0xfff0) != 0x0240) && ++ ((pNv->Chipset & 0xfff0) != 0x0530)) + { + pNv->PGRAPH[(0x6900/4) + i] = pNv->PFB[(0x0600/4) + i]; + } +Index: xserver-xorg-video-nv-2.1.14/src/nvidia_chipset_gen.h +=================================================================== +--- xserver-xorg-video-nv-2.1.14.orig/src/nvidia_chipset_gen.h 2009-09-12 10:14:28.000000000 -0500 ++++ xserver-xorg-video-nv-2.1.14/src/nvidia_chipset_gen.h 2009-09-12 10:14:46.000000000 -0500 +@@ -261,6 +261,8 @@ + { 0x10DE05E1, " GeForce GTX 280" }, + { 0x10DE05E2, " GeForce GTX 260" }, + { 0x10DE05E3, " GeForce GTX 285" }, ++ { 0x10DE053B, " GeForce 7050" }, ++ { 0x10DE053E, " GeForce 7025" }, + { 0x10DE05F9, " Quadro CX" }, + { 0x10DE05FD, " Quadro FX 5800" }, + { 0x10DE05FE, " Quadro FX 4800" }, +Index: xserver-xorg-video-nv-2.1.14/src/nvidia_pci_device_match_gen.h +=================================================================== +--- xserver-xorg-video-nv-2.1.14.orig/src/nvidia_pci_device_match_gen.h 2009-09-12 10:14:28.000000000 -0500 ++++ xserver-xorg-video-nv-2.1.14/src/nvidia_pci_device_match_gen.h 2009-09-12 10:14:46.000000000 -0500 +@@ -446,6 +446,22 @@ + NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05E1, 0 ), + NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05E2, 0 ), + NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05E3, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0530, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0531, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0532, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0533, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0534, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0535, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0536, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0537, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0538, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x0539, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x053A, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x053B, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x053C, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x053D, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x053E, 0 ), ++ NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x053F, 0 ), + NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05E4, 0 ), + NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05E5, 0 ), + NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x05E6, 0 ), +Index: xserver-xorg-video-nv-2.1.14/src/pcidb/nv_list.csv +=================================================================== +--- xserver-xorg-video-nv-2.1.14.orig/src/pcidb/nv_list.csv 2009-09-12 10:14:14.000000000 -0500 ++++ xserver-xorg-video-nv-2.1.14/src/pcidb/nv_list.csv 2009-09-12 10:13:05.000000000 -0500 +@@ -433,6 +433,22 @@ + "10DE","05E1",," GeForce GTX 280" + "10DE","05E2",," GeForce GTX 260" + "10DE","05E3",," GeForce GTX 285" ++"10DE","0530",, ++"10DE","0531",, ++"10DE","0532",, ++"10DE","0533",, ++"10DE","0534",, ++"10DE","0535",, ++"10DE","0536",, ++"10DE","0537",, ++"10DE","0538",, ++"10DE","0539",, ++"10DE","053A",, ++"10DE","053B",," GeForce 7050" ++"10DE","053C",, ++"10DE","053D",, ++"10DE","053E",," GeForce 7025" ++"10DE","053F",, + "10DE","05E4",, + "10DE","05E5",, + "10DE","05E6",, --- xserver-xorg-video-nv-2.1.15.orig/debian/patches/0001-Move-the-logic-for-matching-devices-out-of-probe-rou.patch +++ xserver-xorg-video-nv-2.1.15/debian/patches/0001-Move-the-logic-for-matching-devices-out-of-probe-rou.patch @@ -0,0 +1,1264 @@ +From eaa2ba0e31ea40f6d1cab60594fad3a90f6181ce Mon Sep 17 00:00:00 2001 +From: Mario Limonciello +Date: Sat, 12 Sep 2009 09:11:48 -0500 +Subject: [PATCH] Move the logic for matching devices out of probe routine. + +This prevents the X server from "claiming" a slot but not +freeing it up since the driver used to abort on the probe routine. + +To achieve this a few things had to be done: + 1) Move the list of devices into a parsable CSV file. + 2) Add a parsing perl script for generating the two static + arrays that contain all the device lists. This came from + initially xf86-video-ati with some modifications. + 3) Disable any code in the probe routine that was "ignoring" + devices. +--- + src/nv_driver.c | 452 +------------------------- + src/pcidb/nv_list.csv | 638 +++++++++++++++++++++++++++++++++++++ + src/pcidb/parse_pci_ids.pl | 82 +++++ + 3 files changed, 729 insertions(+), 443 deletions(-) + create mode 100644 src/nvidia_chipset_gen.h + create mode 100644 src/nvidia_pci_device_match_gen.h + create mode 100644 src/pcidb/nv_list.csv + create mode 100755 src/pcidb/parse_pci_ids.pl + +diff --git a/src/nv_driver.c b/src/nv_driver.c +index a7cf2dc..1dd1b3e 100644 +--- a/src/nv_driver.c ++++ b/src/nv_driver.c +@@ -32,6 +32,9 @@ + #include "xf86int10.h" + #include "vbeModes.h" + ++#include "nvidia_chipset_gen.h" ++#include "nvidia_pci_device_match_gen.h" ++ + const OptionInfoRec * RivaAvailableOptions(int chipid, int busid); + Bool RivaGetScrnInfoRec(PciChipsets *chips, int chip); + Bool G80GetScrnInfoRec(PciChipsets *chips, int chip); +@@ -76,27 +79,6 @@ static void NVRestore(ScrnInfoPtr pScrn); + static Bool NVModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode); + static Bool NVSetModeVBE(ScrnInfoPtr pScrn, DisplayModePtr pMode); + +-#if XSERVER_LIBPCIACCESS +-/* For now, just match any NVIDIA display device and sort through them in the +- * probe routine */ +- +-/* +- * libpciaccess's masks are shifted by 8 bits compared to the ones in xf86Pci.h. +- */ +-#define LIBPCIACCESS_CLASS_SHIFT (PCI_CLASS_SHIFT - 8) +-#define LIBPCIACCESS_CLASS_MASK (PCI_CLASS_MASK >> 8) +- +-static const struct pci_id_match NVPciIdMatchList[] = { +- { PCI_VENDOR_NVIDIA, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, +- PCI_CLASS_DISPLAY << LIBPCIACCESS_CLASS_SHIFT, LIBPCIACCESS_CLASS_MASK, 0 }, +- +- { PCI_VENDOR_NVIDIA_SGS, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, +- PCI_CLASS_DISPLAY << LIBPCIACCESS_CLASS_SHIFT, LIBPCIACCESS_CLASS_MASK, 0 }, +- +- { 0, 0, 0 } +-}; +-#endif +- + /* + * This contains the functions needed by the server after loading the + * driver module. It must be supplied, and gets added the driver list by +@@ -124,369 +106,6 @@ _X_EXPORT DriverRec NV = { + #endif + }; + +-/* Known cards as of 2009/05/15 */ +- +-static SymTabRec NVKnownChipsets[] = +-{ +- { 0x12D20018, "RIVA 128" }, +- +- { 0x10DE0020, "RIVA TNT" }, +- +- { 0x10DE0028, "RIVA TNT2" }, +- { 0x10DE002A, "Unknown TNT2" }, +- { 0x10DE002C, "Vanta" }, +- { 0x10DE0029, "RIVA TNT2 Ultra" }, +- { 0x10DE002D, "RIVA TNT2 Model 64" }, +- +- { 0x10DE00A0, "Aladdin TNT2" }, +- +- { 0x10DE0100, "GeForce 256" }, +- { 0x10DE0101, "GeForce DDR" }, +- { 0x10DE0103, "Quadro" }, +- +- { 0x10DE0110, "GeForce2 MX/MX 400" }, +- { 0x10DE0111, "GeForce2 MX 100/200" }, +- { 0x10DE0112, "GeForce2 Go" }, +- { 0x10DE0113, "Quadro2 MXR/EX/Go" }, +- +- { 0x10DE01A0, "GeForce2 Integrated GPU" }, +- +- { 0x10DE0150, "GeForce2 GTS" }, +- { 0x10DE0151, "GeForce2 Ti" }, +- { 0x10DE0152, "GeForce2 Ultra" }, +- { 0x10DE0153, "Quadro2 Pro" }, +- +- { 0x10DE0170, "GeForce4 MX 460" }, +- { 0x10DE0171, "GeForce4 MX 440" }, +- { 0x10DE0172, "GeForce4 MX 420" }, +- { 0x10DE0173, "GeForce4 MX 440-SE" }, +- { 0x10DE0174, "GeForce4 440 Go" }, +- { 0x10DE0175, "GeForce4 420 Go" }, +- { 0x10DE0176, "GeForce4 420 Go 32M" }, +- { 0x10DE0177, "GeForce4 460 Go" }, +- { 0x10DE0178, "Quadro4 550 XGL" }, +-#if defined(__powerpc__) +- { 0x10DE0179, "GeForce4 MX (Mac)" }, +-#else +- { 0x10DE0179, "GeForce4 440 Go 64M" }, +-#endif +- { 0x10DE017A, "Quadro NVS" }, +- { 0x10DE017C, "Quadro4 500 GoGL" }, +- { 0x10DE017D, "GeForce4 410 Go 16M" }, +- +- { 0x10DE0181, "GeForce4 MX 440 with AGP8X" }, +- { 0x10DE0182, "GeForce4 MX 440SE with AGP8X" }, +- { 0x10DE0183, "GeForce4 MX 420 with AGP8X" }, +- { 0x10DE0185, "GeForce4 MX 4000" }, +- { 0x10DE0186, "GeForce4 448 Go" }, +- { 0x10DE0187, "GeForce4 488 Go" }, +- { 0x10DE0188, "Quadro4 580 XGL" }, +-#if defined(__powerpc__) +- { 0x10DE0189, "GeForce4 MX with AGP8X (Mac)" }, +-#endif +- { 0x10DE018A, "Quadro4 NVS 280 SD" }, +- { 0x10DE018B, "Quadro4 380 XGL" }, +- { 0x10DE018C, "Quadro NVS 50 PCI" }, +- { 0x10DE018D, "GeForce4 448 Go" }, +- +- { 0x10DE01F0, "GeForce4 MX Integrated GPU" }, +- +- { 0x10DE0200, "GeForce3" }, +- { 0x10DE0201, "GeForce3 Ti 200" }, +- { 0x10DE0202, "GeForce3 Ti 500" }, +- { 0x10DE0203, "Quadro DCC" }, +- +- { 0x10DE0250, "GeForce4 Ti 4600" }, +- { 0x10DE0251, "GeForce4 Ti 4400" }, +- { 0x10DE0253, "GeForce4 Ti 4200" }, +- { 0x10DE0258, "Quadro4 900 XGL" }, +- { 0x10DE0259, "Quadro4 750 XGL" }, +- { 0x10DE025B, "Quadro4 700 XGL" }, +- +- { 0x10DE0280, "GeForce4 Ti 4800" }, +- { 0x10DE0281, "GeForce4 Ti 4200 with AGP8X" }, +- { 0x10DE0282, "GeForce4 Ti 4800 SE" }, +- { 0x10DE0286, "GeForce4 4200 Go" }, +- { 0x10DE028C, "Quadro4 700 GoGL" }, +- { 0x10DE0288, "Quadro4 980 XGL" }, +- { 0x10DE0289, "Quadro4 780 XGL" }, +- +- { 0x10DE0301, "GeForce FX 5800 Ultra" }, +- { 0x10DE0302, "GeForce FX 5800" }, +- { 0x10DE0308, "Quadro FX 2000" }, +- { 0x10DE0309, "Quadro FX 1000" }, +- +- { 0x10DE0311, "GeForce FX 5600 Ultra" }, +- { 0x10DE0312, "GeForce FX 5600" }, +- { 0x10DE0314, "GeForce FX 5600XT" }, +- { 0x10DE031A, "GeForce FX Go5600" }, +- { 0x10DE031B, "GeForce FX Go5650" }, +- { 0x10DE031C, "Quadro FX Go700" }, +- +- { 0x10DE0320, "GeForce FX 5200" }, +- { 0x10DE0321, "GeForce FX 5200 Ultra" }, +- { 0x10DE0322, "GeForce FX 5200" }, +- { 0x10DE0323, "GeForce FX 5200LE" }, +- { 0x10DE0324, "GeForce FX Go5200" }, +- { 0x10DE0325, "GeForce FX Go5250" }, +- { 0x10DE0326, "GeForce FX 5500" }, +- { 0x10DE0327, "GeForce FX 5100" }, +- { 0x10DE0328, "GeForce FX Go5200 32M/64M" }, +-#if defined(__powerpc__) +- { 0x10DE0329, "GeForce FX 5200 (Mac)" }, +-#endif +- { 0x10DE032A, "Quadro NVS 55/280 PCI" }, +- { 0x10DE032B, "Quadro FX 500/600 PCI" }, +- { 0x10DE032C, "GeForce FX Go53xx Series" }, +- { 0x10DE032D, "GeForce FX Go5100" }, +- +- { 0x10DE0330, "GeForce FX 5900 Ultra" }, +- { 0x10DE0331, "GeForce FX 5900" }, +- { 0x10DE0332, "GeForce FX 5900XT" }, +- { 0x10DE0333, "GeForce FX 5950 Ultra" }, +- { 0x10DE0334, "GeForce FX 5900ZT" }, +- { 0x10DE0338, "Quadro FX 3000" }, +- { 0x10DE033F, "Quadro FX 700" }, +- +- { 0x10DE0341, "GeForce FX 5700 Ultra" }, +- { 0x10DE0342, "GeForce FX 5700" }, +- { 0x10DE0343, "GeForce FX 5700LE" }, +- { 0x10DE0344, "GeForce FX 5700VE" }, +- { 0x10DE0347, "GeForce FX Go5700" }, +- { 0x10DE0348, "GeForce FX Go5700" }, +- { 0x10DE034C, "Quadro FX Go1000" }, +- { 0x10DE034E, "Quadro FX 1100" }, +- +- { 0x10DE0040, "GeForce 6800 Ultra" }, +- { 0x10DE0041, "GeForce 6800" }, +- { 0x10DE0042, "GeForce 6800 LE" }, +- { 0x10DE0043, "GeForce 6800 XE" }, +- { 0x10DE0044, "GeForce 6800 XT" }, +- { 0x10DE0045, "GeForce 6800 GT" }, +- { 0x10DE0046, "GeForce 6800 GT" }, +- { 0x10DE0047, "GeForce 6800 GS" }, +- { 0x10DE0048, "GeForce 6800 XT" }, +- { 0x10DE004E, "Quadro FX 4000" }, +- +- { 0x10DE00C0, "GeForce 6800 GS" }, +- { 0x10DE00C1, "GeForce 6800" }, +- { 0x10DE00C2, "GeForce 6800 LE" }, +- { 0x10DE00C3, "GeForce 6800 XT" }, +- { 0x10DE00C8, "GeForce Go 6800" }, +- { 0x10DE00C9, "GeForce Go 6800 Ultra" }, +- { 0x10DE00CC, "Quadro FX Go1400" }, +- { 0x10DE00CD, "Quadro FX 3450/4000 SDI" }, +- { 0x10DE00CE, "Quadro FX 1400" }, +- +- { 0x10DE0140, "GeForce 6600 GT" }, +- { 0x10DE0141, "GeForce 6600" }, +- { 0x10DE0142, "GeForce 6600 LE" }, +- { 0x10DE0143, "GeForce 6600 VE" }, +- { 0x10DE0144, "GeForce Go 6600" }, +- { 0x10DE0145, "GeForce 6610 XL" }, +- { 0x10DE0146, "GeForce Go 6600 TE/6200 TE" }, +- { 0x10DE0147, "GeForce 6700 XL" }, +- { 0x10DE0148, "GeForce Go 6600" }, +- { 0x10DE0149, "GeForce Go 6600 GT" }, +- { 0x10DE014A, "Quadro NVS 440" }, +- { 0x10DE014C, "Quadro FX 550" }, +- { 0x10DE014D, "Quadro FX 550" }, +- { 0x10DE014E, "Quadro FX 540" }, +- { 0x10DE014F, "GeForce 6200" }, +- +- { 0x10DE0160, "GeForce 6500" }, +- { 0x10DE0161, "GeForce 6200 TurboCache(TM)" }, +- { 0x10DE0162, "GeForce 6200SE TurboCache(TM)" }, +- { 0x10DE0163, "GeForce 6200 LE" }, +- { 0x10DE0164, "GeForce Go 6200" }, +- { 0x10DE0165, "Quadro NVS 285" }, +- { 0x10DE0166, "GeForce Go 6400" }, +- { 0x10DE0167, "GeForce Go 6200" }, +- { 0x10DE0168, "GeForce Go 6400" }, +- { 0x10DE0169, "GeForce 6250" }, +- { 0x10DE016A, "GeForce 7100 GS" }, +- +- { 0x10DE0211, "GeForce 6800" }, +- { 0x10DE0212, "GeForce 6800 LE" }, +- { 0x10DE0215, "GeForce 6800 GT" }, +- { 0x10DE0218, "GeForce 6800 XT" }, +- +- { 0x10DE0221, "GeForce 6200" }, +- { 0x10DE0222, "GeForce 6200 A-LE" }, +- +- { 0x10DE0090, "GeForce 7800 GTX" }, +- { 0x10DE0091, "GeForce 7800 GTX" }, +- { 0x10DE0092, "GeForce 7800 GT" }, +- { 0x10DE0093, "GeForce 7800 GS" }, +- { 0x10DE0095, "GeForce 7800 SLI" }, +- { 0x10DE0098, "GeForce Go 7800" }, +- { 0x10DE0099, "GeForce Go 7800 GTX" }, +- { 0x10DE009D, "Quadro FX 4500" }, +- +- { 0x10DE01D0, "GeForce 7350 LE" }, +- { 0x10DE01D1, "GeForce 7300 LE" }, +- { 0x10DE01D3, "GeForce 7300 SE" }, +- { 0x10DE01D6, "GeForce Go 7200" }, +- { 0x10DE01D7, "GeForce Go 7300" }, +- { 0x10DE01D8, "GeForce Go 7400" }, +- { 0x10DE01D9, "GeForce Go 7400 GS" }, +- { 0x10DE01DA, "Quadro NVS 110M" }, +- { 0x10DE01DB, "Quadro NVS 120M" }, +- { 0x10DE01DC, "Quadro FX 350M" }, +- { 0x10DE01DD, "GeForce 7500 LE" }, +- { 0x10DE01DE, "Quadro FX 350" }, +- { 0x10DE01DF, "GeForce 7300 GS" }, +- +- { 0x10DE0390, "GeForce 7650 GS" }, +- { 0x10DE0391, "GeForce 7600 GT" }, +- { 0x10DE0392, "GeForce 7600 GS" }, +- { 0x10DE0393, "GeForce 7300 GT" }, +- { 0x10DE0394, "GeForce 7600 LE" }, +- { 0x10DE0395, "GeForce 7300 GT" }, +- { 0x10DE0397, "GeForce Go 7700" }, +- { 0x10DE0398, "GeForce Go 7600" }, +- { 0x10DE0399, "GeForce Go 7600 GT"}, +- { 0x10DE039A, "Quadro NVS 300M" }, +- { 0x10DE039B, "GeForce Go 7900 SE" }, +- { 0x10DE039C, "Quadro FX 550M" }, +- { 0x10DE039E, "Quadro FX 560" }, +- +- { 0x10DE0290, "GeForce 7900 GTX" }, +- { 0x10DE0291, "GeForce 7900 GT" }, +- { 0x10DE0292, "GeForce 7900 GS" }, +- { 0x10DE0293, "GeForce 7950 GX2" }, +- { 0x10DE0294, "GeForce 7950 GX2" }, +- { 0x10DE0295, "GeForce 7950 GT"}, +- { 0x10DE0297, "GeForce Go 7950 GTX" }, +- { 0x10DE0298, "GeForce Go 7900 GS" }, +- { 0x10DE0299, "GeForce Go 7900 GTX" }, +- { 0x10DE029A, "Quadro FX 2500M" }, +- { 0x10DE029B, "Quadro FX 1500M" }, +- { 0x10DE029C, "Quadro FX 5500" }, +- { 0x10DE029D, "Quadro FX 3500" }, +- { 0x10DE029E, "Quadro FX 1500" }, +- { 0x10DE029F, "Quadro FX 4500 X2" }, +- +- { 0x10DE0240, "GeForce 6150" }, +- { 0x10DE0241, "GeForce 6150 LE" }, +- { 0x10DE0242, "GeForce 6100" }, +- { 0x10DE0244, "GeForce Go 6150" }, +- { 0x10DE0245, "Quadro NVS 210S / NVIDIA GeForce 6150LE" }, +- { 0x10DE0247, "GeForce Go 6100" }, +- +- { 0x10DE03D0, "GeForce 6150SE" }, +- { 0x10DE03D1, "GeForce 6100 nForce 405" }, +- { 0x10DE03D2, "GeForce 6100 nForce 400" }, +- { 0x10DE03D5, "GeForce 6100 nForce 420" }, +- +-/*************** G8x ***************/ +- { 0x10DE0191, "GeForce 8800 GTX" }, +- { 0x10DE0193, "GeForce 8800 GTS" }, +- { 0x10DE0194, "GeForce 8800 Ultra" }, +- { 0x10DE019D, "Quadro FX 5600" }, +- { 0x10DE019E, "Quadro FX 4600" }, +- { 0x10DE0400, "GeForce 8600 GTS" }, +- { 0x10DE0401, "GeForce 8600 GT" }, +- { 0x10DE0402, "GeForce 8600 GT" }, +- { 0x10DE0403, "GeForce 8600 GS" }, +- { 0x10DE0404, "GeForce 8400 GS" }, +- { 0x10DE0405, "GeForce 9500M GS" }, +- { 0x10DE0407, "GeForce 8600M GT" }, +- { 0x10DE0408, "GeForce 9650M GS" }, +- { 0x10DE0409, "GeForce 8700M GT" }, +- { 0x10DE040A, "Quadro FX 370" }, +- { 0x10DE040B, "Quadro NVS 320M" }, +- { 0x10DE040C, "Quadro FX 570M" }, +- { 0x10DE040D, "Quadro FX 1600M" }, +- { 0x10DE040E, "Quadro FX 570" }, +- { 0x10DE040F, "Quadro FX 1700" }, +- { 0x10DE0420, "GeForce 8400 SE" }, +- { 0x10DE0421, "GeForce 8500 GT" }, +- { 0x10DE0422, "GeForce 8400 GS" }, +- { 0x10DE0423, "GeForce 8300 GS" }, +- { 0x10DE0424, "GeForce 8400 GS" }, +- { 0x10DE0425, "GeForce 8600M GS" }, +- { 0x10DE0426, "GeForce 8400M GT" }, +- { 0x10DE0427, "GeForce 8400M GS" }, +- { 0x10DE0428, "GeForce 8400M G" }, +- { 0x10DE0429, "Quadro NVS 140M" }, +- { 0x10DE042A, "Quadro NVS 130M" }, +- { 0x10DE042B, "Quadro NVS 135M" }, +- { 0x10DE042C, "GeForce 9400 GT" }, +- { 0x10DE042D, "Quadro FX 360M" }, +- { 0x10DE042E, "GeForce 9300M G" }, +- { 0x10DE042F, "Quadro NVS 290" }, +- { 0x10DE05E0, "GeForce GTX 295" }, +- { 0x10DE05E1, "GeForce GTX 280" }, +- { 0x10DE05E2, "GeForce GTX 260" }, +- { 0x10DE05E3, "GeForce GTX 285" }, +- { 0x10DE05F9, "Quadro CX" }, +- { 0x10DE05FD, "Quadro FX 5800" }, +- { 0x10DE05FE, "Quadro FX 4800" }, +- { 0x10DE05FF, "Quadro FX 3800" }, +- { 0x10DE0600, "GeForce 8800 GTS 512" }, +- { 0x10DE0601, "GeForce 9800 GT" }, +- { 0x10DE0602, "GeForce 8800 GT" }, +- { 0x10DE0604, "GeForce 9800 GX2" }, +- { 0x10DE0605, "GeForce 9800 GT" }, +- { 0x10DE0606, "GeForce 8800 GS" }, +- { 0x10DE0608, "GeForce 9800M GTX" }, +- { 0x10DE0609, "GeForce 8800M GTS" }, +- { 0x10DE060B, "GeForce 9800M GT" }, +- { 0x10DE060C, "GeForce 8800M GTX" }, +- { 0x10DE060D, "GeForce 8800 GS" }, +- { 0x10DE0610, "GeForce 9600 GSO" }, +- { 0x10DE0611, "GeForce 8800 GT" }, +- { 0x10DE0612, "GeForce 9800 GTX" }, +- { 0x10DE0613, "GeForce 9800 GTX+" }, +- { 0x10DE0614, "GeForce 9800 GT" }, +- { 0x10DE0615, "GeForce GTS 250" }, +- { 0x10DE0617, "GeForce 9800M GTX" }, +- { 0x10DE061A, "Quadro FX 3700" }, +- { 0x10DE061C, "Quadro FX 3600M" }, +- { 0x10DE061E, "Quadro FX 3700M" }, +- { 0x10DE0622, "GeForce 9600 GT" }, +- { 0x10DE0623, "GeForce 9600 GS" }, +- { 0x10DE0625, "GeForce 9600 GSO 512" }, +- { 0x10DE0626, "GeForce GT 130" }, +- { 0x10DE0627, "GeForce GT 140" }, +- { 0x10DE0628, "GeForce 9800M GTS" }, +- { 0x10DE062A, "GeForce 9700M GTS" }, +- { 0x10DE062B, "GeForce 9800M GS" }, +- { 0x10DE062C, "GeForce 9800M GTS" }, +- { 0x10DE0638, "Quadro FX 1800" }, +- { 0x10DE063A, "Quadro FX 2700M" }, +- { 0x10DE0640, "GeForce 9500 GT" }, +- { 0x10DE0641, "GeForce 9400 GT" }, +- { 0x10DE0643, "GeForce 9500 GT" }, +- { 0x10DE0646, "GeForce GT 120" }, +- { 0x10DE0647, "GeForce 9600M GT" }, +- { 0x10DE0648, "GeForce 9600M GS" }, +- { 0x10DE0649, "GeForce 9600M GT" }, +- { 0x10DE064A, "GeForce 9700M GT" }, +- { 0x10DE064B, "GeForce 9500M G" }, +- { 0x10DE064C, "GeForce 9650M GT" }, +- { 0x10DE0656, "GeForce 9500 GT" }, +- { 0x10DE0658, "Quadro FX 380" }, +- { 0x10DE0659, "Quadro FX 580" }, +- { 0x10DE065C, "Quadro FX 770M" }, +- { 0x10DE06E0, "GeForce 9300 GE" }, +- { 0x10DE06E1, "GeForce 9300 GS" }, +- { 0x10DE06E4, "GeForce 8400 GS" }, +- { 0x10DE06E5, "GeForce 9300M GS" }, +- { 0x10DE06E6, "GeForce G100" }, +- { 0x10DE06E8, "GeForce 9200M GS" }, +- { 0x10DE06E9, "GeForce 9300M GS" }, +- { 0x10DE06EA, "Quadro NVS 150M" }, +- { 0x10DE06EB, "Quadro NVS 160M" }, +- { 0x10DE06F8, "Quadro NVS 420" }, +- { 0x10DE06F9, "Quadro FX 370 LP" }, +- { 0x10DE06FA, "Quadro NVS 450" }, +- { 0x10DE06FD, "Quadro NVS 295" }, +- +- {-1, NULL} +-}; +- + #ifdef XFree86LOADER + + static MODULESETUPPROTO(nvSetup); +@@ -736,40 +355,6 @@ NVIsG80(int chipType) + return FALSE; + } + +-static Bool +-NVIsSupported(CARD32 id) +-{ +- /* look for a compatible devices which may be newer than +- the NVKnownChipsets list above. */ +- switch(id & 0xfff0) { +- case 0x0040: +- case 0x0090: +- case 0x00C0: +- case 0x0120: +- case 0x0140: +- case 0x0160: +- case 0x0170: +- case 0x0180: +- case 0x01D0: +- case 0x0210: +- case 0x0220: +- case 0x0240: +- case 0x0250: +- case 0x0280: +- case 0x0290: +- case 0x0300: +- case 0x0310: +- case 0x0320: +- case 0x0330: +- case 0x0340: +- case 0x0390: +- case 0x03D0: +- return TRUE; +- } +- +- return FALSE; +-} +- + /* Mandatory */ + #if XSERVER_LIBPCIACCESS + static Bool +@@ -780,21 +365,6 @@ NVPciProbe(DriverPtr drv, int entity, struct pci_device *dev, intptr_t data) + NVGetPCIXpressChip(dev) : dev->vendor_id << 16 | dev->device_id; + const char *name = xf86TokenToString(NVKnownChipsets, id); + +- if(dev->vendor_id == PCI_VENDOR_NVIDIA && !name && +- !NVIsSupported(id) && !NVIsG80(id)) { +- /* See if pci.ids knows what the heck this thing is */ +- name = pci_device_get_device_name(dev); +- if(name) +- xf86DrvMsg(0, X_WARNING, +- NV_NAME ": Ignoring unsupported device 0x%x (%s) at %2.2x@%2.2x:%2.2x:%1.1x\n", +- id, name, dev->bus, dev->domain, dev->dev, dev->func); +- else +- xf86DrvMsg(0, X_WARNING, +- NV_NAME ": Ignoring unsupported device 0x%x at %2.2x@%2.2x:%2.2x:%1.1x\n", +- id, dev->bus, dev->domain, dev->dev, dev->func); +- return FALSE; +- } +- + if(!name) + name = pci_device_get_device_name(dev); + if(!name) +@@ -855,16 +425,12 @@ NVProbe(DriverPtr drv, int flags) + nvchips++; + } + +- if(nvchips->name || +- ((*ppPci)->vendor == PCI_VENDOR_NVIDIA && +- (NVIsSupported(token) || NVIsG80((*ppPci)->chipType)))) { +- NVChipsets[numUsed].token = pciid; +- NVChipsets[numUsed].name = nvchips->name ? nvchips->name : "Unknown NVIDIA chip"; +- NVPciChipsets[numUsed].numChipset = pciid; +- NVPciChipsets[numUsed].PCIid = pciid; +- NVPciChipsets[numUsed].resList = RES_SHARED_VGA; +- numUsed++; +- } ++ NVChipsets[numUsed].token = pciid; ++ NVChipsets[numUsed].name = nvchips->name ? nvchips->name : "Unknown NVIDIA chip"; ++ NVPciChipsets[numUsed].numChipset = pciid; ++ NVPciChipsets[numUsed].PCIid = pciid; ++ NVPciChipsets[numUsed].resList = RES_SHARED_VGA; ++ numUsed++; + } + ppPci++; + } +diff --git a/src/nvidia_chipset_gen.h b/src/nvidia_chipset_gen.h +new file mode 100644 +index 0000000..e69de29 +diff --git a/src/nvidia_pci_device_match_gen.h b/src/nvidia_pci_device_match_gen.h +new file mode 100644 +index 0000000..e69de29 +diff --git a/src/pcidb/nv_list.csv b/src/pcidb/nv_list.csv +new file mode 100644 +index 0000000..06dd95d +--- /dev/null ++++ b/src/pcidb/nv_list.csv +@@ -0,0 +1,638 @@ ++"#last updated 2009/05/15","","","" ++"#vendor_id","device_id","special_case_data","Name" ++"12D2","0018",," RIVA 128" ++"10DE","0020",," RIVA TNT" ++"10DE","0028",," RIVA TNT2" ++"10DE","0029",," RIVA TNT2 Ultra" ++"10DE","002A",," Unknown TNT2" ++"10DE","002C",," Vanta" ++"10DE","002D",," RIVA TNT2 Model 64" ++"10DE","0040",," GeForce 6800 Ultra" ++"10DE","0041",," GeForce 6800" ++"10DE","0042",," GeForce 6800 LE" ++"10DE","0043",," GeForce 6800 XE" ++"10DE","0044",," GeForce 6800 XT" ++"10DE","0045",," GeForce 6800 GT" ++"10DE","0046",," GeForce 6800 GT" ++"10DE","0047",," GeForce 6800 GS" ++"10DE","0048",," GeForce 6800 XT" ++"10DE","0049",, ++"10DE","004A",, ++"10DE","004B",, ++"10DE","004C",, ++"10DE","004D",, ++"10DE","004E",," Quadro FX 4000" ++"10DE","004F",, ++"10DE","0090",," GeForce 7800 GTX" ++"10DE","0091",," GeForce 7800 GTX" ++"10DE","0092",," GeForce 7800 GT" ++"10DE","0093",," GeForce 7800 GS" ++"10DE","0094",, ++"10DE","0095",," GeForce 7800 SLI" ++"10DE","0096",, ++"10DE","0097",, ++"10DE","0098",," GeForce Go 7800" ++"10DE","0099",," GeForce Go 7800 GTX" ++"10DE","009A",, ++"10DE","009B",, ++"10DE","009C",, ++"10DE","009D",," Quadro FX 4500" ++"10DE","009E",, ++"10DE","009F",, ++"10DE","00A0",," Aladdin TNT2" ++"10DE","00C0",," GeForce 6800 GS" ++"10DE","00C1",," GeForce 6800" ++"10DE","00C2",," GeForce 6800 LE" ++"10DE","00C3",," GeForce 6800 XT" ++"10DE","00C4",, ++"10DE","00C5",, ++"10DE","00C6",, ++"10DE","00C7",, ++"10DE","00C8",," GeForce Go 6800" ++"10DE","00C9",," GeForce Go 6800 Ultra" ++"10DE","00CA",, ++"10DE","00CB",, ++"10DE","00CC",," Quadro FX Go1400" ++"10DE","00CD",," Quadro FX 3450/4000 SDI" ++"10DE","00CE",," Quadro FX 1400" ++"10DE","00CF",, ++"10DE","0100",," GeForce 256" ++"10DE","0101",," GeForce DDR" ++"10DE","0103",," Quadro" ++"10DE","0110",," GeForce2 MX/MX 400" ++"10DE","0111",," GeForce2 MX 100/200" ++"10DE","0112",," GeForce2 Go" ++"10DE","0113",," Quadro2 MXR/EX/Go" ++"10DE","0120",, ++"10DE","0121",, ++"10DE","0122",, ++"10DE","0123",, ++"10DE","0124",, ++"10DE","0125",, ++"10DE","0126",, ++"10DE","0127",, ++"10DE","0128",, ++"10DE","0129",, ++"10DE","012A",, ++"10DE","012B",, ++"10DE","012C",, ++"10DE","012D",, ++"10DE","012E",, ++"10DE","012F",, ++"10DE","0140",," GeForce 6600 GT" ++"10DE","0141",," GeForce 6600" ++"10DE","0142",," GeForce 6600 LE" ++"10DE","0143",," GeForce 6600 VE" ++"10DE","0144",," GeForce Go 6600" ++"10DE","0145",," GeForce 6610 XL" ++"10DE","0146",," GeForce Go 6600 TE/6200 TE" ++"10DE","0147",," GeForce 6700 XL" ++"10DE","0148",," GeForce Go 6600" ++"10DE","0149",," GeForce Go 6600 GT" ++"10DE","014A",," Quadro NVS 440" ++"10DE","014B",, ++"10DE","014C",," Quadro FX 550" ++"10DE","014D",," Quadro FX 550" ++"10DE","014E",," Quadro FX 540" ++"10DE","014F",," GeForce 6200" ++"10DE","0150",," GeForce2 GTS" ++"10DE","0151",," GeForce2 Ti" ++"10DE","0152",," GeForce2 Ultra" ++"10DE","0153",," Quadro2 Pro" ++"10DE","0160",," GeForce 6500" ++"10DE","0161",," GeForce 6200 TurboCache(TM)" ++"10DE","0162",," GeForce 6200SE TurboCache(TM)" ++"10DE","0163",," GeForce 6200 LE" ++"10DE","0164",," GeForce Go 6200" ++"10DE","0165",," Quadro NVS 285" ++"10DE","0166",," GeForce Go 6400" ++"10DE","0167",," GeForce Go 6200" ++"10DE","0168",," GeForce Go 6400" ++"10DE","0169",," GeForce 6250" ++"10DE","016A",," GeForce 7100 GS" ++"10DE","016B",, ++"10DE","016C",, ++"10DE","016D",, ++"10DE","016E",, ++"10DE","016F",, ++"10DE","0170",," GeForce4 MX 460" ++"10DE","0171",," GeForce4 MX 440" ++"10DE","0172",," GeForce4 MX 420" ++"10DE","0173",," GeForce4 MX 440-SE" ++"10DE","0174",," GeForce4 440 Go" ++"10DE","0175",," GeForce4 420 Go" ++"10DE","0176",," GeForce4 420 Go 32M" ++"10DE","0177",," GeForce4 460 Go" ++"10DE","0178",," Quadro4 550 XGL" ++"10DE","0179","#if !defined(__powerpc__)"," GeForce4 440 Go 64M" ++"10DE","0179","#if defined(__powerpc__)"," GeForce4 MX (Mac)" ++"10DE","017A",," Quadro NVS" ++"10DE","017B",, ++"10DE","017C",," Quadro4 500 GoGL" ++"10DE","017D",," GeForce4 410 Go 16M" ++"10DE","017E",, ++"10DE","017F",, ++"10DE","0180",, ++"10DE","0181",," GeForce4 MX 440 with AGP8X" ++"10DE","0182",," GeForce4 MX 440SE with AGP8X" ++"10DE","0183",," GeForce4 MX 420 with AGP8X" ++"10DE","0184",, ++"10DE","0185",," GeForce4 MX 4000" ++"10DE","0186",," GeForce4 448 Go" ++"10DE","0187",," GeForce4 488 Go" ++"10DE","0188",," Quadro4 580 XGL" ++"10DE","0189","#if defined(__powerpc__)"," GeForce4 MX with AGP8X (Mac)" ++"10DE","018A",," Quadro4 NVS 280 SD" ++"10DE","018B",," Quadro4 380 XGL" ++"10DE","018C",," Quadro NVS 50 PCI" ++"10DE","018D",," GeForce4 448 Go" ++"10DE","018E",, ++"10DE","018F",, ++"10DE","0190",, ++"10DE","0191",," GeForce 8800 GTX" ++"10DE","0192",, ++"10DE","0193",," GeForce 8800 GTS" ++"10DE","0194",," GeForce 8800 Ultra" ++"10DE","0194",, ++"10DE","0195",, ++"10DE","0196",, ++"10DE","0197",, ++"10DE","0198",, ++"10DE","0199",, ++"10DE","019A",, ++"10DE","019B",, ++"10DE","019C",, ++"10DE","019D",," Quadro FX 5600" ++"10DE","019D",, ++"10DE","019E",, ++"10DE","019E",," Quadro FX 4600" ++"10DE","019F",, ++"10DE","01A0",," GeForce2 Integrated GPU" ++"10DE","01D0",," GeForce 7350 LE" ++"10DE","01D1",," GeForce 7300 LE" ++"10DE","01D2",, ++"10DE","01D3",," GeForce 7300 SE" ++"10DE","01D4",, ++"10DE","01D5",, ++"10DE","01D6",," GeForce Go 7200" ++"10DE","01D7",," GeForce Go 7300" ++"10DE","01D8",," GeForce Go 7400" ++"10DE","01D9",," GeForce Go 7400 GS" ++"10DE","01DA",," Quadro NVS 110M" ++"10DE","01DB",," Quadro NVS 120M" ++"10DE","01DC",," Quadro FX 350M" ++"10DE","01DD",," GeForce 7500 LE" ++"10DE","01DE",," Quadro FX 350" ++"10DE","01DF",," GeForce 7300 GS" ++"10DE","01F0",," GeForce4 MX Integrated GPU" ++"10DE","0200",," GeForce3" ++"10DE","0201",," GeForce3 Ti 200" ++"10DE","0202",," GeForce3 Ti 500" ++"10DE","0203",," Quadro DCC" ++"10DE","0210",, ++"10DE","0211",," GeForce 6800" ++"10DE","0212",," GeForce 6800 LE" ++"10DE","0213",, ++"10DE","0214",, ++"10DE","0215",," GeForce 6800 GT" ++"10DE","0216",, ++"10DE","0217",, ++"10DE","0218",," GeForce 6800 XT" ++"10DE","0219",, ++"10DE","021A",, ++"10DE","021B",, ++"10DE","021C",, ++"10DE","021D",, ++"10DE","021E",, ++"10DE","021F",, ++"10DE","0220",, ++"10DE","0221",," GeForce 6200" ++"10DE","0222",," GeForce 6200 A-LE" ++"10DE","0223",, ++"10DE","0224",, ++"10DE","0225",, ++"10DE","0226",, ++"10DE","0227",, ++"10DE","0228",, ++"10DE","0229",, ++"10DE","022A",, ++"10DE","022B",, ++"10DE","022C",, ++"10DE","022D",, ++"10DE","022E",, ++"10DE","022F",, ++"10DE","0240",," GeForce 6150" ++"10DE","0241",," GeForce 6150 LE" ++"10DE","0242",," GeForce 6100" ++"10DE","0243",, ++"10DE","0244",," GeForce Go 6150" ++"10DE","0245",," Quadro NVS 210S / NVIDIA GeForce 6150LE" ++"10DE","0246",, ++"10DE","0247",," GeForce Go 6100" ++"10DE","0248",, ++"10DE","0249",, ++"10DE","024A",, ++"10DE","024B",, ++"10DE","024C",, ++"10DE","024D",, ++"10DE","024E",, ++"10DE","024F",, ++"10DE","0250",," GeForce4 Ti 4600" ++"10DE","0251",," GeForce4 Ti 4400" ++"10DE","0252",, ++"10DE","0253",," GeForce4 Ti 4200" ++"10DE","0254",, ++"10DE","0255",, ++"10DE","0256",, ++"10DE","0257",, ++"10DE","0258",," Quadro4 900 XGL" ++"10DE","0259",," Quadro4 750 XGL" ++"10DE","025A",, ++"10DE","025B",," Quadro4 700 XGL" ++"10DE","025C",, ++"10DE","025D",, ++"10DE","025E",, ++"10DE","025F",, ++"10DE","0280",," GeForce4 Ti 4800" ++"10DE","0281",," GeForce4 Ti 4200 with AGP8X" ++"10DE","0282",," GeForce4 Ti 4800 SE" ++"10DE","0283",, ++"10DE","0284",, ++"10DE","0285",, ++"10DE","0286",," GeForce4 4200 Go" ++"10DE","0287",, ++"10DE","0288",," Quadro4 980 XGL" ++"10DE","0289",," Quadro4 780 XGL" ++"10DE","028A",, ++"10DE","028B",, ++"10DE","028C",," Quadro4 700 GoGL" ++"10DE","028D",, ++"10DE","028E",, ++"10DE","028F",, ++"10DE","0290",," GeForce 7900 GTX" ++"10DE","0291",," GeForce 7900 GT" ++"10DE","0292",," GeForce 7900 GS" ++"10DE","0293",," GeForce 7950 GX2" ++"10DE","0294",," GeForce 7950 GX2" ++"10DE","0295",," GeForce 7950 GT}" ++"10DE","0296",, ++"10DE","0297",," GeForce Go 7950 GTX" ++"10DE","0298",," GeForce Go 7900 GS" ++"10DE","0299",," GeForce Go 7900 GTX" ++"10DE","029A",," Quadro FX 2500M" ++"10DE","029B",," Quadro FX 1500M" ++"10DE","029C",," Quadro FX 5500" ++"10DE","029D",," Quadro FX 3500" ++"10DE","029E",," Quadro FX 1500" ++"10DE","029F",," Quadro FX 4500 X2" ++"10DE","0300",, ++"10DE","0301",," GeForce FX 5800 Ultra" ++"10DE","0302",," GeForce FX 5800" ++"10DE","0303",, ++"10DE","0304",, ++"10DE","0305",, ++"10DE","0306",, ++"10DE","0307",, ++"10DE","0308",," Quadro FX 2000" ++"10DE","0309",," Quadro FX 1000" ++"10DE","030A",, ++"10DE","030B",, ++"10DE","030C",, ++"10DE","030D",, ++"10DE","030E",, ++"10DE","030F",, ++"10DE","0310",, ++"10DE","0311",," GeForce FX 5600 Ultra" ++"10DE","0312",," GeForce FX 5600" ++"10DE","0313",, ++"10DE","0314",," GeForce FX 560T" ++"10DE","0315",, ++"10DE","0316",, ++"10DE","0317",, ++"10DE","0318",, ++"10DE","0319",, ++"10DE","031A",," GeForce FX Go5600" ++"10DE","031B",," GeForce FX Go5650" ++"10DE","031C",," Quadro FX Go700" ++"10DE","031D",, ++"10DE","031E",, ++"10DE","031F",, ++"10DE","0320",," GeForce FX 5200" ++"10DE","0321",," GeForce FX 5200 Ultra" ++"10DE","0322",," GeForce FX 5200" ++"10DE","0323",," GeForce FX 5200LE" ++"10DE","0324",," GeForce FX Go5200" ++"10DE","0325",," GeForce FX Go5250" ++"10DE","0326",," GeForce FX 5500" ++"10DE","0327",," GeForce FX 5100" ++"10DE","0328",," GeForce FX Go5200 32M/64M" ++"10DE","0329","#if defined(__powerpc__)"," GeForce FX 5200 (Mac)" ++"10DE","032A",," Quadro NVS 55/280 PCI" ++"10DE","032B",," Quadro FX 500/600 PCI" ++"10DE","032C",," GeForce FX Go53xx Series" ++"10DE","032D",," GeForce FX Go5100" ++"10DE","032E",, ++"10DE","032F",, ++"10DE","0330",," GeForce FX 5900 Ultra" ++"10DE","0331",," GeForce FX 5900" ++"10DE","0332",," GeForce FX 590T" ++"10DE","0333",," GeForce FX 5950 Ultra" ++"10DE","0334",," GeForce FX 5900ZT" ++"10DE","0335",, ++"10DE","0336",, ++"10DE","0337",, ++"10DE","0338",," Quadro FX 3000" ++"10DE","0339",, ++"10DE","033A",, ++"10DE","033B",, ++"10DE","033C",, ++"10DE","033D",, ++"10DE","033E",, ++"10DE","033F",," Quadro FX 700" ++"10DE","0340",, ++"10DE","0341",," GeForce FX 5700 Ultra" ++"10DE","0342",," GeForce FX 5700" ++"10DE","0343",," GeForce FX 5700LE" ++"10DE","0344",," GeForce FX 5700VE" ++"10DE","0345",, ++"10DE","0346",, ++"10DE","0347",," GeForce FX Go5700" ++"10DE","0348",," GeForce FX Go5700" ++"10DE","0349",, ++"10DE","034A",, ++"10DE","034B",, ++"10DE","034C",," Quadro FX Go1000" ++"10DE","034D",, ++"10DE","034E",," Quadro FX 1100" ++"10DE","034F",, ++"10DE","0390",," GeForce 7650 GS" ++"10DE","0391",," GeForce 7600 GT" ++"10DE","0392",," GeForce 7600 GS" ++"10DE","0393",," GeForce 7300 GT" ++"10DE","0394",," GeForce 7600 LE" ++"10DE","0395",," GeForce 7300 GT" ++"10DE","0396",, ++"10DE","0397",," GeForce Go 7700" ++"10DE","0398",," GeForce Go 7600" ++"10DE","0399",," GeForce Go 7600 GT}" ++"10DE","039A",," Quadro NVS 300M" ++"10DE","039B",," GeForce Go 7900 SE" ++"10DE","039C",," Quadro FX 550M" ++"10DE","039D",, ++"10DE","039E",," Quadro FX 560" ++"10DE","039F",, ++"10DE","03D0",," GeForce 6150SE" ++"10DE","03D1",," GeForce 6100 nForce 405" ++"10DE","03D2",," GeForce 6100 nForce 400" ++"10DE","03D3",, ++"10DE","03D4",, ++"10DE","03D5",," GeForce 6100 nForce 420" ++"10DE","03D6",, ++"10DE","03D7",, ++"10DE","03D8",, ++"10DE","03D9",, ++"10DE","03DA",, ++"10DE","03DB",, ++"10DE","03DC",, ++"10DE","03DD",, ++"10DE","03DE",, ++"10DE","03DF",, ++"10DE","0400",," GeForce 8600 GTS" ++"10DE","0401",," GeForce 8600 GT" ++"10DE","0402",," GeForce 8600 GT" ++"10DE","0403",," GeForce 8600 GS" ++"10DE","0404",," GeForce 8400 GS" ++"10DE","0405",," GeForce 9500M GS" ++"10DE","0406",, ++"10DE","0407",," GeForce 8600M GT" ++"10DE","0408",," GeForce 9650M GS" ++"10DE","0409",," GeForce 8700M GT" ++"10DE","040A",," Quadro FX 370" ++"10DE","040B",," Quadro NVS 320M" ++"10DE","040C",," Quadro FX 570M" ++"10DE","040D",," Quadro FX 1600M" ++"10DE","040E",," Quadro FX 570" ++"10DE","040F",," Quadro FX 1700" ++"10DE","0420",," GeForce 8400 SE" ++"10DE","0421",," GeForce 8500 GT" ++"10DE","0422",," GeForce 8400 GS" ++"10DE","0423",," GeForce 8300 GS" ++"10DE","0424",," GeForce 8400 GS" ++"10DE","0425",," GeForce 8600M GS" ++"10DE","0426",," GeForce 8400M GT" ++"10DE","0427",," GeForce 8400M GS" ++"10DE","0428",," GeForce 8400M G" ++"10DE","0429",," Quadro NVS 140M" ++"10DE","042A",," Quadro NVS 130M" ++"10DE","042B",," Quadro NVS 135M" ++"10DE","042C",," GeForce 9400 GT" ++"10DE","042D",," Quadro FX 360M" ++"10DE","042E",," GeForce 9300M G" ++"10DE","042F",," Quadro NVS 290" ++"10DE","05E0",," GeForce GTX 295" ++"10DE","05E1",," GeForce GTX 280" ++"10DE","05E2",," GeForce GTX 260" ++"10DE","05E3",," GeForce GTX 285" ++"10DE","05E4",, ++"10DE","05E5",, ++"10DE","05E6",, ++"10DE","05E7",, ++"10DE","05E8",, ++"10DE","05E9",, ++"10DE","05EA",, ++"10DE","05EB",, ++"10DE","05EC",, ++"10DE","05ED",, ++"10DE","05EE",, ++"10DE","05EF",, ++"10DE","05F0",, ++"10DE","05F1",, ++"10DE","05F2",, ++"10DE","05F3",, ++"10DE","05F4",, ++"10DE","05F5",, ++"10DE","05F6",, ++"10DE","05F7",, ++"10DE","05F8",, ++"10DE","05F9",," Quadro CX" ++"10DE","05FA",, ++"10DE","05FB",, ++"10DE","05FC",, ++"10DE","05FD",," Quadro FX 5800" ++"10DE","05FE",," Quadro FX 4800" ++"10DE","05FF",," Quadro FX 3800" ++"10DE","0600",," GeForce 8800 GTS 512" ++"10DE","0601",," GeForce 9800 GT" ++"10DE","0602",," GeForce 8800 GT" ++"10DE","0603",, ++"10DE","0604",," GeForce 9800 GX2" ++"10DE","0605",," GeForce 9800 GT" ++"10DE","0606",," GeForce 8800 GS" ++"10DE","0607",, ++"10DE","0608",," GeForce 9800M GTX" ++"10DE","0609",," GeForce 8800M GTS" ++"10DE","060A",, ++"10DE","060B",," GeForce 9800M GT" ++"10DE","060C",," GeForce 8800M GTX" ++"10DE","060D",," GeForce 8800 GS" ++"10DE","060E",, ++"10DE","060F",, ++"10DE","0610",," GeForce 9600 GSO" ++"10DE","0611",," GeForce 8800 GT" ++"10DE","0612",," GeForce 9800 GTX" ++"10DE","0613",," GeForce 9800 GTX+" ++"10DE","0614",," GeForce 9800 GT" ++"10DE","0615",," GeForce GTS 250" ++"10DE","0617",," GeForce 9800M GTX" ++"10DE","0618",, ++"10DE","0619",, ++"10DE","061A",," Quadro FX 3700" ++"10DE","061B",, ++"10DE","061C",," Quadro FX 3600M" ++"10DE","061D",, ++"10DE","061E",," Quadro FX 3700M" ++"10DE","061F",, ++"10DE","0620",, ++"10DE","0621",, ++"10DE","0622",," GeForce 9600 GT" ++"10DE","0623",," GeForce 9600 GS" ++"10DE","0624",, ++"10DE","0625",," GeForce 9600 GSO 512" ++"10DE","0626",," GeForce GT 130" ++"10DE","0627",," GeForce GT 140" ++"10DE","0628",," GeForce 9800M GTS" ++"10DE","0629",, ++"10DE","062A",," GeForce 9700M GTS" ++"10DE","062B",," GeForce 9800M GS" ++"10DE","062C",," GeForce 9800M GTS" ++"10DE","062D",, ++"10DE","062E",, ++"10DE","062F",, ++"10DE","0630",, ++"10DE","0631",, ++"10DE","0632",, ++"10DE","0633",, ++"10DE","0634",, ++"10DE","0635",, ++"10DE","0636",, ++"10DE","0637",, ++"10DE","0638",," Quadro FX 1800" ++"10DE","0639",, ++"10DE","063A",," Quadro FX 2700M" ++"10DE","063B",, ++"10DE","063C",, ++"10DE","063D",, ++"10DE","063E",, ++"10DE","063F",, ++"10DE","0640",," GeForce 9500 GT" ++"10DE","0641",," GeForce 9400 GT" ++"10DE","0642",, ++"10DE","0643",," GeForce 9500 GT" ++"10DE","0644",, ++"10DE","0645",, ++"10DE","0646",," GeForce GT 120" ++"10DE","0647",," GeForce 9600M GT" ++"10DE","0648",," GeForce 9600M GS" ++"10DE","0649",," GeForce 9600M GT" ++"10DE","064A",," GeForce 9700M GT" ++"10DE","064B",," GeForce 9500M G" ++"10DE","064C",," GeForce 9650M GT" ++"10DE","064D",, ++"10DE","064E",, ++"10DE","064F",, ++"10DE","0650",, ++"10DE","0651",, ++"10DE","0652",, ++"10DE","0653",, ++"10DE","0654",, ++"10DE","0655",, ++"10DE","0656",," GeForce 9500 GT" ++"10DE","0657",, ++"10DE","0658",," Quadro FX 380" ++"10DE","0659",," Quadro FX 580" ++"10DE","065A",, ++"10DE","065B",, ++"10DE","065C",," Quadro FX 770M" ++"10DE","065D",, ++"10DE","065E",, ++"10DE","065F",, ++"10DE","06E0",," GeForce 9300 GE" ++"10DE","06E1",," GeForce 9300 GS" ++"10DE","06E2",, ++"10DE","06E3",, ++"10DE","06E4",," GeForce 8400 GS" ++"10DE","06E5",," GeForce 9300M GS" ++"10DE","06E6",," GeForce G100" ++"10DE","06E7",, ++"10DE","06E8",," GeForce 9200M GS" ++"10DE","06E9",," GeForce 9300M GS" ++"10DE","06EA",," Quadro NVS 150M" ++"10DE","06EB",," Quadro NVS 160M" ++"10DE","06EC",, ++"10DE","06ED",, ++"10DE","06EE",, ++"10DE","06EF",, ++"10DE","06F0",, ++"10DE","06F1",, ++"10DE","06F2",, ++"10DE","06F3",, ++"10DE","06F4",, ++"10DE","06F5",, ++"10DE","06F6",, ++"10DE","06F7",, ++"10DE","06F8",," Quadro NVS 420" ++"10DE","06F9",," Quadro FX 370 LP" ++"10DE","06FA",," Quadro NVS 450" ++"10DE","06FB",, ++"10DE","06FC",, ++"10DE","06FD",," Quadro NVS 295" ++"10DE","06FE",, ++"10DE","06FF",, ++"10DE","0A60",, ++"10DE","0A61",, ++"10DE","0A62",, ++"10DE","0A63",, ++"10DE","0A64",, ++"10DE","0A65",, ++"10DE","0A66",, ++"10DE","0A67",, ++"10DE","0A68",, ++"10DE","0A69",, ++"10DE","0A6A",, ++"10DE","0A6B",, ++"10DE","0A6C",, ++"10DE","0A6D",, ++"10DE","0A6E",, ++"10DE","0A6F",, ++"10DE","0A70",, ++"10DE","0A71",, ++"10DE","0A72",, ++"10DE","0A73",, ++"10DE","0A74",, ++"10DE","0A75",, ++"10DE","0A76",, ++"10DE","0A77",, ++"10DE","0A78",, ++"10DE","0A79",, ++"10DE","0A7A",, ++"10DE","0A7B",, ++"10DE","0A7C",, ++"10DE","0A7D",, ++"10DE","0A7E",, ++"10DE","0A7F",, ++"10DE","0CA0",, ++"10DE","0CA1",, ++"10DE","0CA2",, ++"10DE","0CA3",, ++"10DE","0CA4",, ++"10DE","0CA5",, ++"10DE","0CA6",, ++"10DE","0CA7",, ++"10DE","0CA8",, ++"10DE","0CA9",, ++"10DE","0CAA",, ++"10DE","0CAB",, ++"10DE","0CAC",, ++"10DE","0CAD",, ++"10DE","0CAE",, ++"10DE","0CAF",, +diff --git a/src/pcidb/parse_pci_ids.pl b/src/pcidb/parse_pci_ids.pl +new file mode 100755 +index 0000000..4afe4f2 +--- /dev/null ++++ b/src/pcidb/parse_pci_ids.pl +@@ -0,0 +1,82 @@ ++#!/usr/bin/perl ++# ++# Copyright 2007 Red Hat Inc. ++# This crappy script written by Dave Airlie to avoid hassle of adding ++# ids in every place. ++# ++# Modified by Mario Limonciello to handle nv ++# ++use strict; ++use warnings; ++use Text::CSV_XS; ++ ++my $file = $ARGV[0]; ++ ++my $nvidiapcidevicematchfile = 'nvidia_pci_device_match_gen.h'; ++my $nvidiachipsetfile = 'nvidia_chipset_gen.h'; ++ ++my $csv = Text::CSV_XS->new(); ++ ++open (CSV, "<", $file) or die $!; ++ ++open (PCIDEVICEMATCH, ">", $nvidiapcidevicematchfile) or die; ++open (NVIDIACHIPSET, ">", $nvidiachipsetfile) or die; ++ ++print NVIDIACHIPSET "/* This file is autogenerated please do not edit */\n"; ++print NVIDIACHIPSET "static SymTabRec NVKnownChipsets[] = {\n"; ++ ++print PCIDEVICEMATCH "/* This file is autogenerated please do not edit */\n"; ++ ++print PCIDEVICEMATCH "#if XSERVER_LIBPCIACCESS\n"; ++print PCIDEVICEMATCH "#define LIBPCIACCESS_CLASS_SHIFT (PCI_CLASS_SHIFT - 8)\n"; ++print PCIDEVICEMATCH "#define LIBPCIACCESS_CLASS_MASK (PCI_CLASS_MASK >> 8)\n"; ++ ++print PCIDEVICEMATCH "#define NVIDIA_DEVICE_MATCH(v, d, i) \\\n"; ++print PCIDEVICEMATCH " { (v), (d), PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_CLASS_DISPLAY << LIBPCIACCESS_CLASS_SHIFT, LIBPCIACCESS_CLASS_MASK, (i) }\n"; ++ ++print PCIDEVICEMATCH "static const struct pci_id_match NVPciIdMatchList[] = {\n"; ++ ++while () { ++ if ($csv->parse($_)) { ++ my @columns = $csv->fields(); ++ ++ if ((substr($columns[0], 0, 1) ne "#")) { ++ ++ #for special case ++ if ($columns[2] ne "") { ++ print NVIDIACHIPSET "$columns[2]\n"; ++ print PCIDEVICEMATCH "$columns[2]\n"; ++ } ++ ++ if ($columns[0] eq "12D2") { ++ print PCIDEVICEMATCH " NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA_SGS, 0x$columns[1], 0 ),\n"; ++ } ++ ++ if ($columns[0] eq "10DE") { ++ print PCIDEVICEMATCH " NVIDIA_DEVICE_MATCH( PCI_VENDOR_NVIDIA, 0x$columns[1], 0 ),\n"; ++ } ++ ++ if ($columns[3] ne "") { ++ print NVIDIACHIPSET " { 0x$columns[0]$columns[1], \"$columns[3]\" },\n"; ++ } ++ ++ #for special case ++ if ($columns[2] ne "") { ++ print NVIDIACHIPSET "#endif\n"; ++ print PCIDEVICEMATCH "#endif\n"; ++ } ++ ++ ++ } ++ } else { ++ my $err = $csv->error_input; ++ print "Failed to parse line: $err"; ++ } ++} ++ ++print NVIDIACHIPSET " { -1, NULL }\n};\n"; ++print PCIDEVICEMATCH " { 0, 0, 0 }\n};\n"; ++print PCIDEVICEMATCH "#endif\n"; ++close CSV; ++close PCIDEVICEMATCH; ++close NVIDIACHIPSET; +-- +1.6.0.4 +