[pkg-nvidia-devel] r394 - /packages/nvidia-graphics-drivers/trunk/patches/xen.patch

rdonald at users.alioth.debian.org rdonald at users.alioth.debian.org
Wed Jun 4 04:09:47 UTC 2008


Author: rdonald
Date: Wed Jun  4 04:09:46 2008
New Revision: 394

URL: http://svn.debian.org/wsvn/pkg-nvidia/?sc=1&rev=394
Log:
new xen patch for new version

Modified:
    packages/nvidia-graphics-drivers/trunk/patches/xen.patch

Modified: packages/nvidia-graphics-drivers/trunk/patches/xen.patch
URL: http://svn.debian.org/wsvn/pkg-nvidia/packages/nvidia-graphics-drivers/trunk/patches/xen.patch?rev=394&op=diff
==============================================================================
--- packages/nvidia-graphics-drivers/trunk/patches/xen.patch (original)
+++ packages/nvidia-graphics-drivers/trunk/patches/xen.patch Wed Jun  4 04:09:46 2008
@@ -1,73 +1,18 @@
-diff -ruN usr/src/nv/conftest.sh usr/src/nv/conftest.sh
---- usr/src/nv/conftest.sh      2008-05-21 16:06:03.000000000 -0400
-+++ usr/src/nv/conftest.sh      2008-05-21 16:11:54.000000000 -0400
-@@ -1163,62 +1163,7 @@
-     ;;
- 
-     xen_sanity_check)
--        #
--        # Check if the target kernel is a Xen kernel. If so, then exit, since
--        # the driver doesn't currently work with Xen.
--        #
--        RET=1
--        VERBOSE=$6
--        FILE="linux/autoconf.h"
+diff -ruN usr/src/nv/conftest.sh usr.xen/src/nv/conftest.sh
+--- usr/src/nv/conftest.sh	2008-05-19 00:32:05.000000000 -0700
++++ usr.xen/src/nv/conftest.sh	2008-06-03 20:54:18.166467363 -0700
+@@ -1249,7 +1249,7 @@
+         # the driver doesn't currently work with Xen.
+         #
+         VERBOSE=$6
 -
--        if [ -n "$IGNORE_XEN_PRESENCE" ]; then
--            exit 0
--        fi
--
--        if [ -f $HEADERS/$FILE -o -f $OUTPUT/include/$FILE ]; then
--            #
--            # We are looking at a configured source tree; verify
--            # that it's not a Xen kernel.
--            #
--            echo "#include <linux/autoconf.h>
--            #ifdef CONFIG_XEN
--            #error CONFIG_XEN defined!!
--            #endif
--            " > conftest$$.c
--
--            $CC $CFLAGS -c conftest$$.c > /dev/null 2>&1
--            rm -f conftest$$.c
--
--            if [ -f conftest$$.o ]; then
--                rm -f conftest$$.o
--                RET=0
--            fi
--        else
--            CONFIG=$HEADERS/../.config
--            if [ -f $CONFIG ]; then
--                if [ -z "$(grep "^CONFIG_XEN=y" $CONFIG)" ]; then
--                    RET=0
--                fi
--            fi
--        fi
--
--        if [ "$RET" != "0" ]; then
--            echo "The kernel you are installing for is a Xen kernel!";
--            echo "";
--            echo "The NVIDIA driver does not currently work on Xen kernels. If ";
--            echo "you are using a stock distribution kernel, please install ";
--            echo "a variant of this kernel without Xen support; if this is a ";
--            echo "custom kernel, please install a standard Linux kernel.  Then ";
--            echo "try installing the NVIDIA kernel module again.";
--            echo "";
--            if [ "$VERBOSE" = "full_output" ]; then
--                echo "*** Failed Xen sanity check. Bailing out! ***";
--                echo "";
--            fi
--            exit 1
--        else
--            exit 0
--        fi
-+        exit 0
-     ;;
- 
-     compile_tests)
-diff -ruN usr/src/nv/nv-linux.h usr/src/nv/nv-linux.h
---- usr/src/nv/nv-linux.h       2008-05-21 16:06:03.000000000 -0400
-+++ usr/src/nv/nv-linux.h       2008-05-21 16:10:14.000000000 -0400
++        exit 0 ### Debian Packaging Team
+         if [ -n "$IGNORE_XEN_PRESENCE" ]; then
+             exit 0
+         fi
+diff -ruN usr/src/nv/nv-linux.h usr.xen/src/nv/nv-linux.h
+--- usr/src/nv/nv-linux.h	2008-05-19 00:32:05.000000000 -0700
++++ usr.xen/src/nv/nv-linux.h	2008-06-03 20:58:02.679467442 -0700
 @@ -108,11 +108,6 @@
  #include <linux/completion.h>
  #include <linux/highmem.h>
@@ -85,11 +30,11 @@
  #endif
  
 -#if (defined(NVCPU_X86) || defined(NVCPU_X86_64)) && !defined(CONFIG_XEN)
-+#if (defined(NVCPU_X86) || defined(NVCPU_X86_64))
++#if (defined(NVCPU_X86) || defined(NVCPU_X86_64)) 
  #define NV_BUILD_NV_PAT_SUPPORT 1
  #endif
  
-@@ -713,11 +708,7 @@
+@@ -717,11 +712,7 @@
  #define NV_TASK_STRUCT_RLIM(current)  ((current)->rlim)
  #endif
  
@@ -101,11 +46,12 @@
  
  #define NV_GET_PAGE_STRUCT(phys_page) virt_to_page(__va(phys_page))
  #define NV_VMA_PGOFF(vma)             ((vma)->vm_pgoff)
-@@ -861,13 +852,8 @@
+@@ -874,13 +865,9 @@
  #else
  #error "NV_REMAP_PAGE_RANGE() undefined!"
  #endif
 -#if !defined(CONFIG_XEN)
++
  #define NV_IO_REMAP_PAGE_RANGE(from, offset, x...) \
      NV_REMAP_PAGE_RANGE(from, offset, x)
 -#else
@@ -115,10 +61,28 @@
  
  #define NV_PGD_OFFSET(address, kernel, mm)              \
     ({                                                   \
-diff -ruN usr/src/nv/nv.c usr/src/nv/nv.c
---- usr/src/nv/nv.c     2008-05-21 16:06:03.000000000 -0400
-+++ usr/src/nv/nv.c     2008-05-21 16:10:16.000000000 -0400
-@@ -2020,20 +2020,6 @@
+diff -ruN usr/src/nv/nv.c usr.xen/src/nv/nv.c
+--- usr/src/nv/nv.c	2008-05-19 00:32:05.000000000 -0700
++++ usr.xen/src/nv/nv.c	2008-06-03 21:01:10.290467271 -0700
+@@ -2020,17 +2020,6 @@
+             goto failed;
+         }
+ 
+-#if defined(CONFIG_XEN) && defined(NVCPU_X86)
+-        if (HYPERVISOR_memory_op(XENMEM_maximum_ram_page, NULL) > 0xfffff)
+-        {
+-            nv_printf(NV_DBG_ERRORS,
+-                "NVRM: Systems with system memory mapped above the 4GB boundary\n"
+-                "NVRM: are not supported when using x86 Xen kernels.\n");
+-            rc = -EIO;
+-            goto failed;
+-        }
+-#endif
+-
+         if (!rm_init_adapter(sp, nv))
+         {
+             free_irq(nv->interrupt_line, (void *) nvl);
+@@ -2043,20 +2032,6 @@
          nvl->tasklet.data = (unsigned long) nv;
          tasklet_enable(&nvl->tasklet);
  
@@ -139,7 +103,7 @@
          nv->flags |= NV_FLAG_OPEN;
      }
  
-@@ -3904,7 +3890,6 @@
+@@ -3928,7 +3903,6 @@
      U032         config
  )
  {
@@ -147,7 +111,7 @@
      RM_STATUS status = RM_ERROR;
      static int old_error = 0;
      nv_stack_t *sp = NULL;
-@@ -4042,10 +4027,6 @@
+@@ -4066,10 +4040,6 @@
          old_error = 0; /* report new errors */
  
      return status;
@@ -158,10 +122,10 @@
  }
  
  RM_STATUS NV_API_CALL nv_agp_teardown(
-diff -ruN usr/src/nv/os-interface.c usr/src/nv/os-interface.c
---- usr/src/nv/os-interface.c   2008-05-21 16:06:03.000000000 -0400
-+++ usr/src/nv/os-interface.c   2008-05-21 16:13:02.000000000 -0400
-@@ -598,7 +598,6 @@
+diff -ruN usr/src/nv/os-interface.c usr.xen/src/nv/os-interface.c
+--- usr/src/nv/os-interface.c	2008-05-19 00:32:05.000000000 -0700
++++ usr.xen/src/nv/os-interface.c	2008-06-03 21:03:03.798469374 -0700
+@@ -609,7 +609,6 @@
      if (jiffies) 
      {
          // if we have at least 1 full jiffy to wait, give up the cpu
@@ -169,18 +133,19 @@
          // but first, make sure we haven't raised the irql level on
          // this cpu (most likely holding a lock). I'm seeing cases
          // where we give up the cpu with raised irql, and never get
-@@ -609,10 +608,8 @@
+@@ -620,10 +619,9 @@
          // the local CPU.
          if (!NV_IRQL_IS_RAISED())
          {
 -#endif
++
              /* give up the cpu */
              current->state = TASK_INTERRUPTIBLE;
 -#if !defined(CONFIG_XEN)
          }
          else
          {
-@@ -622,7 +619,6 @@
+@@ -633,7 +631,6 @@
              os_dbg_breakpoint();
              return RM_ERROR;
          }
@@ -188,15 +153,12 @@
          do
          {
              schedule_timeout(jiffies);
-@@ -1376,12 +1372,10 @@
+@@ -1377,7 +1374,7 @@
       * If you prefer to manually grant the necessary capability and 
       * adjust the resource limit, disable the lines below.
       */
--#if !defined(CONFIG_XEN)
+-#if !defined(CONFIG_XEN) && !defined(CONFIG_X86_4G)
++#if !defined(CONFIG_X86_4G)
      struct rlimit *rlim = NV_TASK_STRUCT_RLIM(current);
      rlim[RLIMIT_MEMLOCK].rlim_cur = RLIM_INFINITY;
      cap_raise(current->cap_effective, CAP_IPC_LOCK);
-     return RM_OK;
--#endif
-     return RM_ERR_NOT_SUPPORTED;
- }




More information about the Pkg-nvidia-devel mailing list