Package: nvidia-kernel-dkms
Version: 295.33-2
Severity: normal
Tags: upstream

Dear Maintainer,

I am attaching a patch to fix building the kernel module with recent kernels
like 3.4.0-rc1.

Thanks again for you work on this package.

Regards,
   Antonio Ospite
   http://ao2.it

-- Package-specific info:
uname -a:
Linux jcn 3.4.0-rc1-ao2 #1 SMP Thu Apr 5 13:37:34 CEST 2012 x86_64 GNU/Linux

/proc/version:
Linux version 3.4.0-rc1-ao2 (ao2@jcn) (gcc version 4.6.3 (Debian 4.6.3-1) ) #1 
SMP Thu Apr 5 13:37:34 CEST 2012

/proc/driver/nvidia/version:
NVRM version: NVIDIA UNIX x86_64 Kernel Module  295.33  Sat Mar 17 14:55:45 PDT 
2012
GCC version:  gcc version 4.6.3 (Debian 4.6.3-1) 

lspci 'VGA compatible controller [0300]':
02:00.0 VGA compatible controller [0300]: NVIDIA Corporation C77 [GeForce 8200] 
[10de:0849] (rev a2) (prog-if 00 [VGA controller])
        Subsystem: ASUSTeK Computer Inc. Device [1043:82f2]
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 20
        Region 0: Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
        Region 1: Memory at f0000000 (64-bit, prefetchable) [size=128M]
        Region 3: Memory at fa000000 (64-bit, prefetchable) [size=32M]
        Region 5: I/O ports at ec00 [size=128]
        [virtual] Expansion ROM at febe0000 [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: nvidia

dmesg:
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.4.0-rc1-ao2 
root=UUID=604c68ad-bd5f-4617-9f62-1e0cada91687 ro quiet vga=0x317
[    0.000000] No AGP bridge found
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.4.0-rc1-ao2 
root=UUID=604c68ad-bd5f-4617-9f62-1e0cada91687 ro quiet vga=0x317
[    0.000000] No AGP bridge found
[    0.120305] vgaarb: device added: 
PCI:0000:02:00.0,decodes=io+mem,owns=io+mem,locks=none
[    0.120308] vgaarb: loaded
[    0.120309] vgaarb: bridge control possible 0000:02:00.0
[    0.559798] PCI-DMA: Disabling AGP.
[    0.559878] PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture
[    0.590304] fb0: VESA VGA frame buffer device
[    0.631619] Linux agpgart interface v0.103
[   11.824320] nvidia: module license 'NVIDIA' taints kernel.
[   11.912832] nvidia 0000:02:00.0: setting latency timer to 64
[   11.912842] vgaarb: device changed decodes: 
PCI:0000:02:00.0,olddecodes=io+mem,decodes=none:owns=io+mem
[   11.914027] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  295.33  Sat Mar 
17 14:55:45 PDT 2012

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (900, 'unstable'), (600, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.4.0-rc1-ao2 (SMP w/1 CPU core)
Locale: LANG=it_IT.utf8, LC_CTYPE=it_IT.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages nvidia-kernel-dkms depends on:
ii  dkms                      2.2.0.3-1
ii  nvidia-installer-cleanup  20111111+3
ii  nvidia-kernel-common      20111111+3

Versions of packages nvidia-kernel-dkms recommends:
ii  nvidia-glx  295.33-2

nvidia-kernel-dkms suggests no packages.

Versions of packages nvidia-glx depends on:
ii  dpkg                                       1.16.2
ii  libgl1-nvidia-glx                          295.33-2
ii  nvidia-alternative                         295.33-2
ii  nvidia-installer-cleanup                   20111111+3
ii  nvidia-kernel-dkms [nvidia-kernel-295.33]  295.33-2
ii  nvidia-support                             20111111+3
ii  nvidia-vdpau-driver                        295.33-2
ii  xserver-xorg-video-nvidia                  295.33-2

Versions of packages nvidia-glx suggests:
ii  nvidia-settings  295.33-1

Versions of packages libgl1-nvidia-glx depends on:
ii  libc6                     2.13-27
ii  libx11-6                  2:1.4.4-4
ii  libxext6                  2:1.3.0-3
ii  libxv1                    2:1.0.6-2
ii  libxvmc1                  2:1.0.6-1
ii  multiarch-support         2.13-27
ii  nvidia-alternative        295.33-2
ii  nvidia-installer-cleanup  20111111+3
ii  nvidia-support            20111111+3

Versions of packages libgl1-nvidia-glx recommends:
ii  nvidia-kernel-dkms [nvidia-kernel-295.33]  295.33-2

libgl1-nvidia-glx suggests no packages.

Versions of packages xserver-xorg-video-nvidia depends on:
ii  libc6                                  2.13-27
ii  libgl1-nvidia-glx                      295.33-2
ii  nvidia-alternative                     295.33-2
ii  nvidia-installer-cleanup               20111111+3
ii  nvidia-support                         20111111+3
ii  xserver-xorg-core [xorg-video-abi-11]  2:1.11.4-1

Versions of packages xserver-xorg-video-nvidia recommends:
ii  nvidia-kernel-dkms [nvidia-kernel-295.33]  295.33-2
ii  nvidia-vdpau-driver                        295.33-2

Versions of packages xserver-xorg-video-nvidia suggests:
ii  nvidia-settings  295.33-1

Versions of packages nvidia-alternative depends on:
ii  glx-alternative-nvidia      0.2.1
ii  libgl1-nvidia-alternatives  295.33-2
ii  libglx-nvidia-alternatives  295.33-2

Versions of packages nvidia-kernel-source depends on:
ii  debhelper  9.20120322
ii  make       3.81-8.1
ii  quilt      0.60-2

Versions of packages nvidia-kernel-source recommends:
ii  kernel-package        12.036+nmu2
ii  module-assistant      0.11.4
ii  nvidia-kernel-common  20111111+3

Versions of packages nvidia-kernel-source suggests:
ii  nvidia-glx  295.33-2

Versions of packages glx-alternative-nvidia depends on:
ii  glx-alternative-mesa  0.2.1
ii  glx-diversions        0.2.1

Versions of packages glx-alternative-nvidia suggests:
ii  nvidia-glx  295.33-2

Versions of packages nvidia-kernel-dkms is related to:
ii  libdrm-nouveau1                              <none>
ii  libdrm-nouveau1a                             2.4.33-1
ii  libgl1-nvidia-glx [libgl1-nvidia-glx-any]    295.33-2
ii  libgl1-nvidia-glx-ia32-any                   <none>
ii  linux-headers-3.2.0-2-amd64 [linux-headers]  3.2.13-1
ii  linux-headers-3.3.0-trunk-amd64 [linux-head  3.3-1~experimental.1
ii  linux-headers-3.4.0-rc1-ao2 [linux-headers]  3.4.0-rc1-ao2-1
ii  linux-headers-amd64 [linux-headers]          3.2+44
ii  nvidia-glx [nvidia-glx-any]                  295.33-2
ii  nvidia-kernel-common                         20111111+3
ii  nvidia-kernel-dkms [nvidia-kernel-dkms]      295.33-2
ii  nvidia-kernel-source                         295.33-2
ii  nvidia-settings                              295.33-1
ii  nvidia-support                               20111111+3
ii  nvidia-xconfig                               <none>
ii  xserver-xorg                                 1:7.6+12
ii  xserver-xorg-core                            2:1.11.4-1
ii  xserver-xorg-video-nouveau                   1:0.0.16+git20111201+b5534a1-1
ii  xserver-xorg-video-nvidia [xserver-xorg-vid  295.33-2

-- no debconf information
Make the kernel module build against kernels >= 3.4

In newer kernels asm/system.h has been split into several other header files,
to let the including code bring in only what is strictly necessary.

In this case just asm/switch_to.h is needed to make the build complete.

Signed-off-by: Antonio Ospite <osp...@studenti.unina.it>

diff -pruN nvidia-295.33.orig/nv-linux.h nvidia-295.33/nv-linux.h
--- nvidia-295.33.orig/nv-linux.h	2012-04-06 08:53:45.000000000 +0200
+++ nvidia-295.33/nv-linux.h	2012-04-06 09:07:38.000000000 +0200
@@ -113,12 +113,18 @@

 
 #include <asm/div64.h>              /* do_div()                         */
-#include <asm/system.h>             /* cli, sli, save_flags             */
 #include <asm/io.h>                 /* ioremap, virt_to_phys            */
 #include <asm/uaccess.h>            /* access_ok                        */
 #include <asm/page.h>               /* PAGE_OFFSET                      */
 #include <asm/pgtable.h>            /* pte bit definitions              */
 
+/* Check for asm/system.h */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)
+#include <asm/switch_to.h>
+#else
+#include <asm/system.h>
+#endif
+
 #if defined(NVCPU_X86_64) && !defined(KERNEL_2_4) && !defined(HAVE_COMPAT_IOCTL)
 #include <linux/syscalls.h>         /* sys_ioctl()                      */
 #include <linux/ioctl32.h>          /* register_ioctl32_conversion()    */

Reply via email to