summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schlemmer <azarah@gentoo.org>2003-01-20 19:33:41 +0000
committerMartin Schlemmer <azarah@gentoo.org>2003-01-20 19:33:41 +0000
commit51c3fbff25b9826a2d1be3c6465e4c5e8264ba20 (patch)
tree3181852b3f9d16e290edc654ff929498518b7cdb /media-video/nvidia-kernel
parentsmall fix (diff)
downloadgentoo-2-51c3fbff25b9826a2d1be3c6465e4c5e8264ba20.tar.gz
gentoo-2-51c3fbff25b9826a2d1be3c6465e4c5e8264ba20.tar.bz2
gentoo-2-51c3fbff25b9826a2d1be3c6465e4c5e8264ba20.zip
update 2.5 patches
Diffstat (limited to 'media-video/nvidia-kernel')
-rw-r--r--media-video/nvidia-kernel/ChangeLog6
-rw-r--r--media-video/nvidia-kernel/files/NVIDIA_kernel-1.0-3123-2.5-module.diff206
-rw-r--r--media-video/nvidia-kernel/files/NVIDIA_kernel-1.0-3123-2.5-tl.diff63
-rw-r--r--media-video/nvidia-kernel/files/NVIDIA_kernel-1.0-3123-2.5.54.diff25
-rw-r--r--media-video/nvidia-kernel/nvidia-kernel-1.0.3123-r2.ebuild11
5 files changed, 282 insertions, 29 deletions
diff --git a/media-video/nvidia-kernel/ChangeLog b/media-video/nvidia-kernel/ChangeLog
index 10daa03f4a6b..e05fdb8f7b35 100644
--- a/media-video/nvidia-kernel/ChangeLog
+++ b/media-video/nvidia-kernel/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for media-video/nvidia-kernel
# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/ChangeLog,v 1.19 2003/01/19 08:58:17 azarah Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/ChangeLog,v 1.20 2003/01/20 19:33:41 azarah Exp $
+
+ 20 Jan 2003; Martin Schlemmer <azarah@gentoo.org> nvidia-kernel-1.0.3123-r2.ebuild :
+
+ Update modules for kernel 2.5.54 or later, closing bug #13915.
19 Jan 2003; Martin Schlemmer <azarah@gentoo.org> nvidia-kernel-1.0.4191-r1.ebuild :
diff --git a/media-video/nvidia-kernel/files/NVIDIA_kernel-1.0-3123-2.5-module.diff b/media-video/nvidia-kernel/files/NVIDIA_kernel-1.0-3123-2.5-module.diff
new file mode 100644
index 000000000000..3bf3f41f91d8
--- /dev/null
+++ b/media-video/nvidia-kernel/files/NVIDIA_kernel-1.0-3123-2.5-module.diff
@@ -0,0 +1,206 @@
+diff -Nudr NVIDIA_kernel-1.0-3123/Makefile NVIDIA_kernel-1.0-3123-fixed/Makefile
+--- NVIDIA_kernel-1.0-3123/Makefile 2002-12-07 14:49:12.000000000 +0000
++++ NVIDIA_kernel-1.0-3123-fixed/Makefile 2002-12-07 14:48:04.000000000 +0000
+@@ -2,7 +2,7 @@
+ # Generated on 'builder3' on Tue Aug 27 15:56:49 PDT 2002
+
+ LINUX_MODULE=Module-linux
+-DEFINES=-D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -DRM_HEAPMGR -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVEL=3123 -DNV_UNIX -DNV_LINUX -DNVCPU_X86
++DEFINES=-D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DKBUILD_MODNAME="NVdriver" -DNTRM -D_GNU_SOURCE -DRM_HEAPMGR -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVEL=3123 -DNV_UNIX -DNV_LINUX -DNVCPU_X86
+ INCLUDES=-I.
+
+ OBJECTS=nv.o os-interface.o os-registry.o
+@@ -73,6 +73,9 @@
+
+ VERSION_HDR=nv_compiler.h
+
++# required for rusty's depmod utility
++O=.o
++
+ all: install
+
+ install: package-install
+diff -Nudr NVIDIA_kernel-1.0-3123/nv.c NVIDIA_kernel-1.0-3123-fixed/nv.c
+--- NVIDIA_kernel-1.0-3123/nv.c 2002-12-07 14:49:14.000000000 +0000
++++ NVIDIA_kernel-1.0-3123-fixed/nv.c 2002-12-07 14:48:38.000000000 +0000
+@@ -116,10 +116,6 @@
+ *** EXPORTS to Linux Kernel
+ ***/
+
+-/* linux module interface functions (called by linux kernel) */
+-int init_module(void);
+-void cleanup_module(void);
+-
+ /* nv_kern_ functions, interfaces used by linux kernel */
+ void nv_kern_vma_open(struct vm_area_struct *vma);
+ void nv_kern_vma_release(struct vm_area_struct *vma);
+@@ -152,6 +148,7 @@
+ /* character driver entry points */
+
+ static struct file_operations nv_fops = {
++ owner: THIS_MODULE,
+ poll: nv_kern_poll,
+ ioctl: nv_kern_ioctl,
+ mmap: nv_kern_mmap,
+@@ -906,7 +903,7 @@
+ *** EXPORTS to Linux Kernel
+ ***/
+
+-int init_module(void)
++static int __init nv_init_module(void)
+ {
+ int rc;
+ int num_devices, i;
+@@ -928,7 +925,7 @@
+ #endif
+
+ if (rc < 0) {
+- NV_EMSG((nv_state_t *) 0, "init_module: register failed");
++ NV_EMSG((nv_state_t *) 0, "nv_init_module: register failed");
+ return rc;
+ }
+
+@@ -952,7 +949,7 @@
+ } while(0);
+ #endif
+
+- NV_DMSG((nv_state_t *) 0, "init_module: major number %d", nv_major);
++ NV_DMSG((nv_state_t *) 0, "nv_init_module: major number %d", nv_major);
+
+ for (i = 0; i < NV_MAX_DEVICES; i++) {
+ /*
+@@ -1004,7 +1001,7 @@
+ return rc;
+ }
+
+-void cleanup_module(void)
++static void __exit nv_exit_module(void)
+ {
+ int rc;
+ nv_linux_state_t *nvl;
+@@ -1013,7 +1010,7 @@
+ /* remove /proc/driver/nvidia */
+ nvos_proc_remove();
+
+- NV_DMSG((nv_state_t *) 0, "cleanup_module");
++ NV_DMSG((nv_state_t *) 0, "nv_exit_module");
+
+ #ifdef CONFIG_PM
+ /* XXX PM egads, is this the right place to do this? */
+@@ -1050,7 +1047,7 @@
+ #endif
+
+ if (rc < 0) {
+- NV_EMSG((nv_state_t *) 0, "cleanup_module: unregister nv failed");
++ NV_EMSG((nv_state_t *) 0, "nv_exit_module: unregister nv failed");
+ }
+
+ #ifdef CONFIG_DEVFS_FS
+@@ -1064,6 +1061,8 @@
+ #endif
+ }
+
++module_init(nv_init_module);
++module_exit(nv_exit_module);
+
+ /* this is only called when the vmas are duplicated.
+ * this appears to only happen when the process is cloned to create
+@@ -1081,11 +1080,8 @@
+ nv_alloc_t *at = (nv_alloc_t *) VMA_PRIVATE(vma);
+ at->usage_count++;
+ }
+-
+- MOD_INC_USE_COUNT;
+ }
+
+-
+ void
+ nv_kern_vma_release(struct vm_area_struct *vma)
+ {
+@@ -1107,8 +1103,6 @@
+ VMA_PRIVATE(vma) = NULL;
+ }
+ }
+-
+- MOD_DEC_USE_COUNT;
+ }
+
+ #if defined(NVCPU_IA64) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 9))
+@@ -1182,8 +1176,6 @@
+ goto failed;
+ }
+
+- MOD_INC_USE_COUNT;
+-
+ nvl = &nv_linux_devices[devnum];
+ nv = NV_STATE_PTR(nvl);
+
+@@ -1241,7 +1233,7 @@
+ * Finalize the tasklet initialization started in init_module and
+ * enable bottom-half processing.
+ */
+- nvl->tl.func = rm_isr_bh;
++ nvl->tl.func = (void *) rm_isr_bh;
+ nvl->tl.data = (unsigned long) nv->pdev;
+ tasklet_enable(&nvl->tl);
+
+@@ -1255,7 +1247,6 @@
+ return 0;
+
+ failed:
+- MOD_DEC_USE_COUNT;
+ if (nv)
+ nv_unmap_device(nv);
+ nv_unlock_ldata(nv);
+@@ -1334,8 +1325,6 @@
+ NV_KFREE(file->private_data);
+ file->private_data = (void *) 0;
+
+- MOD_DEC_USE_COUNT;
+-
+ return 0;
+ }
+
+@@ -1496,9 +1485,6 @@
+
+ vma->vm_file = file;
+
+- /* just increment usage count, rather than calling vma_open */
+- MOD_INC_USE_COUNT;
+-
+ return 0;
+ }
+
+@@ -1603,12 +1589,13 @@
+
+ switch (_IOC_NR(cmd))
+ {
++#ifndef KERNEL_2_5
+ /* debug tool; zap the module use count so we can unload driver */
+ /* even if it is confused */
+ case _IOC_NR(NV_IOCTL_MODULE_RESET):
+ atomic_set(&__this_module.uc.usecount, 1);
+ break;
+-
++#endif
+ /* enable/disable interrupts
+ used by X driver to make card quiet while Xserver unnecessarily
+ diddles around in its PCI config space
+@@ -1794,8 +1781,6 @@
+ /* save the nv away in file->private_data */
+ NV_HIDE_IN_FILEP(file, nv);
+
+- MOD_INC_USE_COUNT;
+-
+ NV_DMSG(nv, "open");
+
+ nv->flags |= NV_FLAG_OPEN + NV_FLAG_CONTROL;
+@@ -1840,8 +1825,6 @@
+ NV_KFREE(file->private_data);
+ file->private_data = (void *) 0;
+
+- MOD_DEC_USE_COUNT;
+-
+ return 0;
+ }
+
diff --git a/media-video/nvidia-kernel/files/NVIDIA_kernel-1.0-3123-2.5-tl.diff b/media-video/nvidia-kernel/files/NVIDIA_kernel-1.0-3123-2.5-tl.diff
index 268be2f59c6c..e3246f930bc7 100644
--- a/media-video/nvidia-kernel/files/NVIDIA_kernel-1.0-3123-2.5-tl.diff
+++ b/media-video/nvidia-kernel/files/NVIDIA_kernel-1.0-3123-2.5-tl.diff
@@ -1,6 +1,6 @@
-diff -ru NVIDIA_kernel-1.0-3123/Makefile NVIDIA_kernel-1.0-3123-2.5/Makefile
---- NVIDIA_kernel-1.0-3123/Makefile Tue Aug 27 16:36:53 2002
-+++ NVIDIA_kernel-1.0-3123-2.5/Makefile Sun Oct 20 07:40:08 2002
+diff -ru NVIDIA_kernel-1.0-3123/Makefile NVIDIA_kernel-1.0-3123-2.5-tl/Makefile
+--- NVIDIA_kernel-1.0-3123/Makefile 2002-08-28 01:36:53.000000000 +0200
++++ NVIDIA_kernel-1.0-3123-2.5-tl/Makefile 2002-12-17 20:09:14.000000000 +0100
@@ -8,7 +8,7 @@
OBJECTS=nv.o os-interface.o os-registry.o
HEADERS=os-interface.h nv-linux.h nv-misc.h nv.h nv-ids.h rmretval.h nvtypes.h nv_ref.h $(VERSION_HDR)
@@ -21,9 +21,9 @@ diff -ru NVIDIA_kernel-1.0-3123/Makefile NVIDIA_kernel-1.0-3123-2.5/Makefile
endif
DEFINES+=$(EXTRA_DEFINES)
-diff -ru NVIDIA_kernel-1.0-3123/nv-linux.h NVIDIA_kernel-1.0-3123-2.5/nv-linux.h
---- NVIDIA_kernel-1.0-3123/nv-linux.h Tue Aug 27 16:36:53 2002
-+++ NVIDIA_kernel-1.0-3123-2.5/nv-linux.h Sat Oct 26 07:38:02 2002
+diff -ru NVIDIA_kernel-1.0-3123/nv-linux.h NVIDIA_kernel-1.0-3123-2.5-tl/nv-linux.h
+--- NVIDIA_kernel-1.0-3123/nv-linux.h 2002-08-28 01:36:53.000000000 +0200
++++ NVIDIA_kernel-1.0-3123-2.5-tl/nv-linux.h 2002-12-17 20:12:38.000000000 +0100
@@ -28,19 +28,14 @@
#include <linux/module.h>
#include <linux/version.h>
@@ -105,7 +105,7 @@ diff -ru NVIDIA_kernel-1.0-3123/nv-linux.h NVIDIA_kernel-1.0-3123-2.5/nv-linux.h
# define in_irq() (local_irq_count[smp_processor_id()])
# define LINUX_VMA_OFFS(vma) ((vma)->vm_offset)
# define GET_MODULE_SYMBOL(mod, sym) (void*) get_module_symbol((mod), (sym))
-@@ -136,7 +122,50 @@
+@@ -136,9 +122,58 @@
# define MEM_MAP_READ_COUNT(map_nr) (atomic_read(&mem_map[map_nr].count))
# define MEM_MAP_INC_COUNT(map_nr) (atomic_inc(&mem_map[map_nr].count))
# define MEM_MAP_DEC_COUNT(map_nr) (atomic_dec(&mem_map[map_nr].count))
@@ -118,8 +118,8 @@ diff -ru NVIDIA_kernel-1.0-3123/nv-linux.h NVIDIA_kernel-1.0-3123-2.5/nv-linux.h
+# define MEM_MAP_READ_COUNT(map_nr) (atomic_read(&(map_nr)->count))
+# define MEM_MAP_INC_COUNT(map_nr) (atomic_inc(&(map_nr)->count))
+# define MEM_MAP_DEC_COUNT(map_nr) (atomic_dec(&(map_nr)->count))
-+#endif
-+
+ #endif
+
+#ifdef KERNEL_2_5
+# define NV_DEVICE_NUMBER(_minor) ((kdev_val(_minor)) & 0x0f)
+# define NV_IS_CONTROL_DEVICE(_minor) (((kdev_val(_minor)) & 0xff) == 0xff)
@@ -140,24 +140,32 @@ diff -ru NVIDIA_kernel-1.0-3123/nv-linux.h NVIDIA_kernel-1.0-3123-2.5/nv-linux.h
+# define MAY_SLEEP() (!in_interrupt())
+#endif
+
-+#ifdef KERNEL_2_5
-+#define PTE_OFFSET(pmd, address, pte) (pte = *pte_offset_map(pmd, address))
-+#else
-+#ifdef pte_offset_atomic
++#ifdef pte_offset_map /* rmap-vm or 2.5 */
+#define PTE_OFFSET(pmd, address, pte) \
+ { \
+ pte_t *pPTE; \
-+ pPTE = pte_offset_atomic(pmd, address); \
++ pPTE = pte_offset_map(pmd, address); \
+ pte = *pPTE; \
-+ pte_kunmap(pPTE); \
++ pte_unmap(pPTE); \
+ }
+#else
++#ifdef pte_offset_atomic /* aa-vm */
++#define PTE_OFFSET(pmd, address, pte) \
++ { \
++ pte_t *pPTE; \
++ pPTE = pte_offset_atomic(pmd, address); \
++ pte = *pPTE; \
++ pte_kunmap(pPTE); \
++ }
++#else /* !pte_offset_atomic */
+#define PTE_OFFSET(pmd, address, pte) (pte = *pte_offset(pmd, address))
-+#endif
- #endif
-
++#endif /* pte_offset_atomic */
++#endif /* pte_offset_map */
++
#define NV_PAGE_ALIGN(addr) ( ((addr) + PAGE_SIZE - 1) / PAGE_SIZE)
-@@ -193,14 +222,11 @@
+ #define NV_MASK_OFFSET(addr) ( (addr) & (PAGE_SIZE - 1) )
+
+@@ -193,14 +228,11 @@
nv_alloc_t *alloc_queue;
@@ -174,9 +182,9 @@ diff -ru NVIDIA_kernel-1.0-3123/nv-linux.h NVIDIA_kernel-1.0-3123-2.5/nv-linux.h
/* per-device locking mechanism for access to core rm */
spinlock_t rm_lock;
-diff -ru NVIDIA_kernel-1.0-3123/nv.c NVIDIA_kernel-1.0-3123-2.5/nv.c
---- NVIDIA_kernel-1.0-3123/nv.c Tue Aug 27 16:36:52 2002
-+++ NVIDIA_kernel-1.0-3123-2.5/nv.c Sat Oct 26 07:20:31 2002
+diff -ru NVIDIA_kernel-1.0-3123/nv.c NVIDIA_kernel-1.0-3123-2.5-tl/nv.c
+--- NVIDIA_kernel-1.0-3123/nv.c 2002-08-28 01:36:52.000000000 +0200
++++ NVIDIA_kernel-1.0-3123-2.5-tl/nv.c 2002-12-17 20:09:14.000000000 +0100
@@ -36,7 +36,6 @@
// keep track of opened clients and their process id so they
// can be free'd up on abnormal close
@@ -605,9 +613,9 @@ diff -ru NVIDIA_kernel-1.0-3123/nv.c NVIDIA_kernel-1.0-3123-2.5/nv.c
printk("NVRM: not using NVAGP, AGPGART is loaded!!\n");
} else
status = rm_init_agp(nv);
-diff -ru NVIDIA_kernel-1.0-3123/os-interface.c NVIDIA_kernel-1.0-3123-2.5/os-interface.c
---- NVIDIA_kernel-1.0-3123/os-interface.c Tue Aug 27 16:36:52 2002
-+++ NVIDIA_kernel-1.0-3123-2.5/os-interface.c Sat Oct 26 07:49:14 2002
+diff -ru NVIDIA_kernel-1.0-3123/os-interface.c NVIDIA_kernel-1.0-3123-2.5-tl/os-interface.c
+--- NVIDIA_kernel-1.0-3123/os-interface.c 2002-08-28 01:36:52.000000000 +0200
++++ NVIDIA_kernel-1.0-3123-2.5-tl/os-interface.c 2002-12-17 20:09:14.000000000 +0100
@@ -27,7 +27,7 @@
BOOL os_is_administrator(PHWINFO pDev)
@@ -935,7 +943,7 @@ diff -ru NVIDIA_kernel-1.0-3123/os-interface.c NVIDIA_kernel-1.0-3123-2.5/os-int
if (err) {
printk(KERN_ERR "NVRM: AGPGART: unable to remap %lu pages\n",
-@@ -1782,11 +1658,9 @@
+@@ -1782,12 +1658,10 @@
if (sgi_funcs.add_barrier == NULL)
{
#if defined(TESTING_SWAP)
@@ -943,7 +951,8 @@ diff -ru NVIDIA_kernel-1.0-3123/os-interface.c NVIDIA_kernel-1.0-3123-2.5/os-int
inter_module_register(ADD_BARRIER_FUNC, THIS_MODULE, sgitest_add_barrier);
inter_module_register(REMOVE_BARRIER_FUNC, THIS_MODULE, sgitest_remove_barrier);
inter_module_register(SWAP_READY_FUNC, THIS_MODULE, sgitest_swap_ready);
--#endif
#endif
+-#endif
sgi_funcs.add_barrier = GET_MODULE_SYMBOL(0, ADD_BARRIER_FUNC);
sgi_funcs.remove_barrier = GET_MODULE_SYMBOL(0, REMOVE_BARRIER_FUNC);
+ sgi_funcs.swap_ready = GET_MODULE_SYMBOL(0, SWAP_READY_FUNC);
diff --git a/media-video/nvidia-kernel/files/NVIDIA_kernel-1.0-3123-2.5.54.diff b/media-video/nvidia-kernel/files/NVIDIA_kernel-1.0-3123-2.5.54.diff
new file mode 100644
index 000000000000..5f595246a0c0
--- /dev/null
+++ b/media-video/nvidia-kernel/files/NVIDIA_kernel-1.0-3123-2.5.54.diff
@@ -0,0 +1,25 @@
+diff -ru NVIDIA_kernel-1.0-3123/Makefile NVIDIA_kernel-1.0-3123-2.5.54/Makefile
+--- NVIDIA_kernel-1.0-3123/Makefile Wed Jan 8 07:29:46 2003
++++ NVIDIA_kernel-1.0-3123-2.5.54/Makefile Wed Jan 8 07:31:35 2003
+@@ -58,10 +58,10 @@
+ # allow specification of alternate include file tree on command line and extra defines
+ ifdef SYSINCLUDE
+ INCLUDES += -I$(SYSINCLUDE)
+-INCLUDES += -I$(SYSINCLUDE)/../arch/i386/mach-generic
++INCLUDES += -I$(SYSINCLUDE)/asm/mach-default
+ else
+ INCLUDES += -I$(KERNINC)
+-INCLUDES += -I$(KERNINC)/../arch/i386/mach-generic
++INCLUDES += -I$(KERNINC)/asm/mach-default
+ endif
+
+ DEFINES+=$(EXTRA_DEFINES)
+@@ -120,7 +120,7 @@
+ fi
+
+ NVdriver: gcc-check $(LINUX_MODULE) $(RESMAN_KERNEL_MODULE)
+- ld -r -o $@ $(LINUX_MODULE) $(RESMAN_KERNEL_MODULE)
++ ld -d -r -o $@ $(LINUX_MODULE) $(RESMAN_KERNEL_MODULE)
+ size $@
+
+ $(VERSION_HDR):
diff --git a/media-video/nvidia-kernel/nvidia-kernel-1.0.3123-r2.ebuild b/media-video/nvidia-kernel/nvidia-kernel-1.0.3123-r2.ebuild
index fc1c61301d1c..cb30be373604 100644
--- a/media-video/nvidia-kernel/nvidia-kernel-1.0.3123-r2.ebuild
+++ b/media-video/nvidia-kernel/nvidia-kernel-1.0.3123-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/nvidia-kernel-1.0.3123-r2.ebuild,v 1.2 2002/12/09 04:26:14 manson Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/nvidia-kernel-1.0.3123-r2.ebuild,v 1.3 2003/01/20 19:33:41 azarah Exp $
inherit eutils
@@ -41,6 +41,7 @@ src_unpack() {
local KV_major="`uname -r | cut -d. -f1`"
local KV_minor="`uname -r | cut -d. -f2`"
+ local KV_micro="`uname -r | cut -d. -f3 | sed -e 's:[^0-9].*::'`"
cd ${S}
if [ "${KV_major}" -eq 2 -a "${KV_minor}" -eq 5 ]
@@ -49,6 +50,14 @@ src_unpack() {
epatch ${FILESDIR}/${NV_PACKAGE}-2.5-tl.diff
EPATCH_SINGLE_MSG="Applying page_alloc.c patch..." \
epatch ${FILESDIR}/${NV_PACKAGE}-2.5-tl-pa.diff
+ EPATCH_SINGLE_MSG="Applying module patch for 2.5..." \
+ epatch ${FILESDIR}/${NV_PACKAGE}-2.5-module.diff
+
+ if [ "${KV_micro}" -gt 53 ]
+ then
+ EPATCH_SINGLE_MSG="Applying module patch for 2.5.54 or later..." \
+ epatch ${FILESDIR}/${NV_PACKAGE}-2.5.54.diff
+ fi
else
EPATCH_SINGLE_MSG="Applying page_alloc.c patch..." \
epatch ${FILESDIR}/${NV_PACKAGE}-pa.diff