nV News Forums

 
 

nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   NVIDIA Xen 3.0 Patch for driver 100.14.11 (http://www.nvnews.net/vbulletin/showthread.php?t=95483)

Coopster 07-25-07 08:30 AM

NVIDIA Xen 3.0 Patch for driver 100.14.11
 
1 Attachment(s)
I made a patch file for this driver from Luiz Vitor Martinez Cardoso [Grabber]'s post to the xensource list, he gets all the credit.

Apply via running 'patch -p0 < patch-xen3.0-nvidia100.14.11.txt' while in the usr/src/ directory.

Verified working on Ubuntu Feisty amd64 w/ latest updates.

Let us know how it works for you.

bigboss1 08-08-07 12:20 PM

Re: NVIDIA Xen 3.0 Patch for driver 100.14.11
 
Works fine after reboot with opensuse 10.2.
Used this guide to get it working: http://en.opensuse.org/Use_Nvidia_driver_with_Xen

Vehyla 08-08-07 07:19 PM

Re: NVIDIA Xen 3.0 Patch for driver 100.14.11
 
I tried this patch on RHEL5 and the patch didn't come up with any errors. But when I install it seems to fail at "make module". Has anyone been able to test this out with RHEL5? Here is the error log if anyone finds it helpful.

-> Building kernel module:
executing: 'cd ./usr/src/nv; make module SYSSRC=/lib/modules/2.6.18-8.1.8.el
5xen/source SYSOUT=/lib/modules/2.6.18-8.1.8.el5xen/build'...
sh ./conftest.sh "cc" "cc" /lib/modules/2.6.18-8.1.8.el5xen/source /lib/modu
les/2.6.18-8.1.8.el5xen/build cc_sanity_check full_output
sh ./conftest.sh "cc" "cc" /lib/modules/2.6.18-8.1.8.el5xen/source /lib/modu
les/2.6.18-8.1.8.el5xen/build select_makefile full_output
make --no-print-directory -f Makefile module

NVIDIA: calling KBUILD...
make CC=cc KBUILD_OUTPUT=/lib/modules/2.6.18-8.1.8.el5xen/build KBUILD_VERBO
SE=1 -C /lib/modules/2.6.18-8.1.8.el5xen/source SUBDIRS=/tmp/NVIDIA-Linux-x8
6_64-100.14.11-pkg2/usr/src/nv modules
make -C /lib/modules/2.6.18-8.1.8.el5xen/build \
KBUILD_SRC=/usr/src/kernels/2.6.18-8.1.8.el5-xen-x86_64 \
KBUILD_EXTMOD="/tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv" -f /usr/
src/kernels/2.6.18-8.1.8.el5-xen-x86_64/Makefile modules
test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( \
echo; \
echo " ERROR: Kernel configuration is invalid."; \
echo " include/linux/autoconf.h or include/config/auto.conf are mis
sing."; \
echo " Run 'make oldconfig && make prepare' on kernel src to fix it
."; \
echo; \
/bin/false)
mkdir -p /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/.tmp_versions
rm -f /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/.tmp_versions/*
make -f /usr/src/kernels/2.6.18-8.1.8.el5-xen-x86_64/scripts/Makefile.build
obj=/tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv
echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -n 1`\" > /tmp/NVIDIA-Linux-x
86_64-100.14.11-pkg2/usr/src/nv/nv_compiler.h
cc -Wp,-MD,/tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/.nv.o.d -no
stdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.1.1/include -Iinclude2/as
m/mach-xen -D__KERNEL__ -Iinclude -Iinclude2 -I/usr/src/kernels/2.6.18-8.1.8
.el5-xen-x86_64/include -include include/linux/autoconf.h -D__XEN_INTERFACE_
VERSION__=0x00030203 -I/tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv -
Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-co
mmon -Wstrict-prototypes -Wundef -Werror-implicit-function-declaration -Os -
mtun
e=generic -m64 -mno-red-zone -mcmodel=kernel -pipe -fno-reorder-blocks -Wno-
sign-compare -fno-asynchronous-unwind-tables -funit-at-a-time -mno-sse -mno-
mmx -mno-sse2 -mno-3dnow -fomit-frame-pointer -g -fno-stack-protector -Wdecl
aration-after-statement -Wno-pointer-sign -I/tmp/NVIDIA-Linux-x86_64-100.14
.11-pkg2/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-
subscripts -Wparentheses -Wpointer-arith -Wno-multichar -Werror -O -fno-comm
on -msoft-float -mcmodel=kernel -mno-red-zone -MD -Wsign-compare -Wno-cast-q
ual -Wno-error -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSI
ON_STRING=\"100.14.11\" -UDEBUG -U_DEBUG -DNDEBUG -DNV_SIGNAL_STRUCT_RLIM -D
NV_MULTIPLE_BRIDGE_AGPGART_PRESENT -DNV_PCI_GET_CLASS_PRESENT -DNV_SYSCTL_MA
X_MAP_COUNT_PRESENT -DNV_PM_MESSAGE_T_PRESENT -DNV_IRQ_HANDLER_WITH_PTREGS_P
RESENT -DNV_PCI_CHOOSE_STATE_PRESENT -DNV_VM_INSERT_PAGE_PRESENT -DNV_OLD_MM
_KGDB_BREAKPOINT_PRESENT -DNV_ACPI_DEVICE_OPS_MATCH_PRESENT -DNV_REMAP_PFN_R
ANGE_PRESENT -DNV_CHANGE_PAGE_ATTR_P
RESENT -DNV_ACQUIRE_CONSOLE_SEM_PRESENT -DNV_VMAP_4_PRESENT -DMODULE -D"KBUI
LD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(nv)" -D"KBUILD_MODNAME=KBUILD_S
TR(nvidia)" -c -o /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/.tmp_nv
.o /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv.c
In file included from include/linux/list.h:8,
from include/linux/lockdep.h:12,
from include/linux/spinlock_types.h:12,
from include/linux/spinlock.h:78,
from include/linux/capability.h:45,
from include/linux/sched.h:44,
from include/linux/module.h:9,
from /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv-
linux.h:51,
from /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv.
c:14:
include/linux/prefetch.h: In function ‘prefetch_range’:
include/linux/prefetch.h:62: warning: pointer of type ‘void *’ used in a
rithmetic
In file included from include/linux/sched.h:54,
from include/linux/module.h:9,
from /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv-
linux.h:51,
from /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv.
c:14:
include/linux/nodemask.h: In function ‘__first_node’:
include/linux/nodemask.h:229: warning: signed and unsigned type in condition
al expression
include/linux/nodemask.h: In function ‘__next_node’:
include/linux/nodemask.h:235: warning: signed and unsigned type in condition
al expression
include/linux/nodemask.h: In function ‘__first_unset_node’:
include/linux/nodemask.h:253: warning: signed and unsigned type in condition
al expression
In file included from include/asm/elf.h:48,
from include/linux/elf.h:9,
from include/linux/module.h:16,
from /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv-
linux.h:51,
from /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv.
c:14:
include/asm/compat.h: In function ‘compat_alloc_user_space’:
include/asm/compat.h:202: warning: pointer of type ‘void *’ used in arit
hmetic
In file included from include/linux/dmapool.h:14,
from include/linux/pci.h:566,
from /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv-
linux.h:78,
from /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv.
c:14:
include/asm/io.h: In function ‘check_signature’:
include/asm/io.h:275: warning: wrong type argument to increment
In file included from include/asm/pci.h:92,
from include/linux/pci.h:693,
from /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv-
linux.h:78,
from /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv.
c:14:
include/asm-generic/pci-dma-compat.h: In function ‘pci_map_page’:
include/asm-generic/pci-dma-compat.h:49: warning: pointer of type ‘void *
�� used in arithmetic
In file included from /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv.
c:14:
/tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv-linux.h:103:23: error:
asm/maddr.h: No such file or directory
In file included from /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv-
linux.h:104,
from /tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv.
c:14:
include/xen/interface/memory.h: At top level:
include/xen/interface/memory.h:32: error: expected specifier-qualifier-list
before ‘XEN_GUEST_HANDLE’
include/xen/interface/memory.h:53: warning: data definition has no type or s
torage class
include/xen/interface/memory.h:53: warning: type defaults to ‘int’ in de
claration of ‘DEFINE_XEN_GUEST_HANDLE’
include/xen/interface/memory.h:93: error: expected specifier-qualifier-list
before ‘xen_ulong_t’
include/xen/interface/memory.h:96: warning: data definition has no type or s
torage class
include/xen/interface/memory.h:96: warning: type defaults to ‘int’ in de
claration of ‘DEFINE_XEN_GUEST_HANDLE’
include/xen/interface/memory.h:96: error: conflicting types for ‘DEFINE_XE
N_GUEST_HANDLE’
include/xen/interface/memory.h:53: error: previous declaration of ‘DEFINE_
XEN_GUEST_HANDLE’ was here
include/xen/interface/memory.h:132: error: expected specifier-qualifier-list
before ‘XEN_GUEST_HANDLE’
include/xen/interface/memory.h:141: warning: data definition has no type or
storage class
include/xen/interface/memory.h:141: warning: type defaults to ‘int’ in d
eclaration of ‘DEFINE_XEN_GUEST_HANDLE’
include/xen/interface/memory.h:141: error: conflicting types for ‘DEFINE_X
EN_GUEST_HANDLE’
include/xen/interface/memory.h:53: error: previous declaration of ‘DEFINE_
XEN_GUEST_HANDLE’ was here
include/xen/interface/memory.h:151: error: expected specifier-qualifier-list
before ‘xen_ulong_t’
include/xen/interface/memory.h:155: warning: data definition has no type or
storage class
include/xen/interface/memory.h:155: warning: type defaults to ‘int’ in d
eclaration of ‘DEFINE_XEN_GUEST_HANDLE’
include/xen/interface/memory.h:155: error: conflicting types for ‘DEFINE_X
EN_GUEST_HANDLE’
include/xen/interface/memory.h:53: error: previous declaration of ‘DEFINE_
XEN_GUEST_HANDLE’ was here
include/xen/interface/memory.h:165: error: expected specifier-qualifier-list
before ‘domid_t’
include/xen/interface/memory.h:179: warning: data definition has no type or
storage class
include/xen/interface/memory.h:179: warning: type defaults to ‘int’ in d
eclaration of ‘DEFINE_XEN_GUEST_HANDLE’
include/xen/interface/memory.h:179: error: conflicting types for ‘DEFINE_X
EN_GUEST_HANDLE’
include/xen/interface/memory.h:53: error: previous declaration of ‘DEFINE_
XEN_GUEST_HANDLE’ was here
include/xen/interface/memory.h:188: error: expected specifier-qualifier-list
before ‘domid_t’
include/xen/interface/memory.h:203: warning: data definition has no type or
storage class
include/xen/interface/memory.h:203: warning: type defaults to ‘int’ in d
eclaration of ‘DEFINE_XEN_GUEST_HANDLE’
include/xen/interface/memory.h:203: error: conflicting types for ‘DEFINE_X
EN_GUEST_HANDLE’
include/xen/interface/memory.h:53: error: previous declaration of ‘DEFINE_
XEN_GUEST_HANDLE’ was here
include/xen/interface/memory.h:223: error: expected specifier-qualifier-list
before ‘XEN_GUEST_HANDLE’
include/xen/interface/memory.h:226: warning: data definition has no type or
storage class
include/xen/interface/memory.h:226: warning: type defaults to ‘int’ in d
eclaration of ‘DEFINE_XEN_GUEST_HANDLE’
include/xen/interface/memory.h:226: error: conflicting types for ‘DEFINE_X
EN_GUEST_HANDLE’
include/xen/interface/memory.h:53: error: previous declaration of ‘DEFINE_
XEN_GUEST_HANDLE’ was here
include/xen/interface/memory.h:242: error: expected specifier-qualifier-list
before ‘domid_t’
include/xen/interface/memory.h:246: warning: data definition has no type or
storage class
include/xen/interface/memory.h:246: warning: type defaults to ‘int’ in d
eclaration of ‘DEFINE_XEN_GUEST_HANDLE’
include/xen/interface/memory.h:246: error: conflicting types for ‘DEFINE_X
EN_GUEST_HANDLE’
include/xen/interface/memory.h:53: error: previous declaration of ‘DEFINE_
XEN_GUEST_HANDLE’ was here
/tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv.c: In function ‘nv_k
ern_open’:
/tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv.c:2017: error: implici
t declaration of function ‘HYPERVISOR_memory_op’
make[4]: *** [/tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv/nv.o] Error
1
make[3]: *** [_module_/tmp/NVIDIA-Linux-x86_64-100.14.11-pkg2/usr/src/nv] Er
ror 2
make[2]: *** [modules] Error 2
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make[1]: *** [module] Error 1
make: *** [module] Error 2
-> Error.

pepe# 08-20-07 11:31 AM

Re: NVIDIA Xen 3.0 Patch for driver 100.14.11
 
nvidia people, will this patch be included in upcoming driver versions?

the patch also works for lguest that is introduced in 2.6.23. However, my macbook(macbook patch also applied) reboots immediately when I view videos while lguest is running. it works when I use the x11 driver.

zander 08-20-07 12:10 PM

Re: NVIDIA Xen 3.0 Patch for driver 100.14.11
 
No, this patch won't be included in future driver releases. Please note that although doing so is unsupported, 100.14.11 can be built against RHEL5's Xen kernels without patches if the IGNORE_XEN_PRESENCE environment variable is set to a non-zero value (you may also need to create an include2 directory in the top-level directory of the kernel development files and place an asm symlink to /usr/src/kernels/2.6.18-8.el5-xen-i686/include/asm-i386 in it). Mileage with other Xen kernels will vary. I do not believe the Xen patches posted for 100.14.11 are correct. I hope to take a look at providing one for Fedora Core 7, etc., at some point in the future.

kuolung 08-22-07 08:01 AM

Re: NVIDIA Xen 3.0 Patch for driver 100.14.11
 
Quote:

Originally Posted by zander
No, this patch won't be included in future driver releases. Please note that although doing so is unsupported, 100.14.11 can be built against RHEL5's Xen kernels without patches if the IGNORE_XEN_PRESENCE environment variable is set to a non-zero value (you may also need to create an include2 directory in the top-level directory of the kernel development files and place an asm symlink to /usr/src/kernels/2.6.18-8.el5-xen-i686/include/asm-i386 in it). Mileage with other Xen kernels will vary. I do not believe the Xen patches posted for 100.14.11 are correct. I hope to take a look at providing one for Fedora Core 7, etc., at some point in the future.

I am using CentOS 5.0 & 8600GT, Would U talk it again with detail ,

or maybe step by step

trouserless 09-06-07 09:52 AM

Re: NVIDIA Xen 3.0 Patch for driver 100.14.11
 
Quote:

Originally Posted by zander
No, this patch won't be included in future driver releases. Please note that although doing so is unsupported, 100.14.11 can be built against RHEL5's Xen kernels without patches if the IGNORE_XEN_PRESENCE environment variable is set to a non-zero value (you may also need to create an include2 directory in the top-level directory of the kernel development files and place an asm symlink to /usr/src/kernels/2.6.18-8.el5-xen-i686/include/asm-i386 in it). Mileage with other Xen kernels will vary. I do not believe the Xen patches posted for 100.14.11 are correct. I hope to take a look at providing one for Fedora Core 7, etc., at some point in the future.

This would be great if you had some pointers/info about this as I'm dying to get this working on my system. In the meantime I'm pursuing the links/posts I can find on the net.

x-stefan 09-06-07 11:49 AM

Re: NVIDIA Xen 3.0 Patch for driver 100.14.11
 
Quote:

Originally Posted by zander
Please note that although doing so is unsupported, 100.14.11 can be built against RHEL5's Xen kernels without patches if the IGNORE_XEN_PRESENCE environment variable is set to a non-zero value (you may also need to create an include2 directory in the top-level directory of the kernel development files and place an asm symlink to /usr/src/kernels/2.6.18-8.el5-xen-i686/include/asm-i386 in it). Mileage with other Xen kernels will vary.

It works for gentoo with a little bit of symlink magic. Great feature, took me less than 10 minutes to get the driver running with xen-3.1.

mvdlinde 09-12-07 01:27 AM

Re: NVIDIA Xen 3.0 Patch for driver 100.14.11
 
I followed the short instructions I found here (but my link points to asm-x86_64), exported IGNORE_XEN_PRESENCE and got an error from the installer that no sources are installed.
Well, that is a thing I really don't understand because
Code:

sl103b3:~ # rpm -qa *header*
linux-kernel-headers-2.6.22-15
sl103b3:~ # rpm -qa kernel*
kernel-default-2.6.22.5-10
kernel-source-2.6.22.5-10
kernel-syms-2.6.22.5-10
kernel-xen-2.6.22.5-10

If I change 2 lines in NVidia*/usr/src/nv/conftest.sh the moduleinterface compiles and it works to load the module, but the attempt to start X ends with a kernelpanic.
The changes:
Code:

--- conftest.sh        2007-06-14 02:18:39.000000000 +0200
+++ conftest_custom.sh        2007-09-12 08:21:48.000000000 +0200
@@ -301,7 +301,7 @@
            # tree or at headers shipped for a specific kernel.
            # Determine the kernel version using a compile check.
            #
-            echo "#include <linux/autoconf.h>
+            echo "#include \"/usr/src/linux/linux/autoconf.h\"
            #include <linux/version.h>
            #include <linux/utsname.h>
            int main() {
@@ -312,7 +312,7 @@
              }
            }" > conftest$$.c
 
-            $HOSTCC $CFLAGS -o conftest$$ conftest$$.c > /dev/null 2>&1
+            $HOSTCC -o conftest$$ conftest$$.c #> /dev/null 2>&1
            rm -f conftest$$.c
 
            if [ -f conftest$$ ]; then

Any Ideas what to do now?

ml

trouserless 09-12-07 09:15 AM

Re: NVIDIA Xen 3.0 Patch for driver 100.14.11
 
does the 100.14.11 driver patch work with the 2.6.20-2931.fc7xen kernel? I'm getting all sorts asm errors and dependency issues when I try to build against this.

rnasby 09-27-07 10:44 PM

Re: NVIDIA Xen 3.0 Patch for driver 100.14.11
 
Quote:

Originally Posted by x-stefan
It works for gentoo with a little bit of symlink magic. Great feature, took me less than 10 minutes to get the driver running with xen-3.1.

I am attempting to configure Xen 3.1 with the nvidia drivers (100.x series). Could you provide more details about how you got this working?

Thanks.

jarjar26 10-01-07 01:02 PM

Re: NVIDIA Xen 3.0 Patch for driver 100.14.11
 
I tried with SLES 10 SP1, and when i try to modprobe new nvidia.ko , i received these error : FATAL: Error inserting nvidia (/lib/modules/2.6.16.53-0.8-xenpae/kernel/drivers/video/nvidia.ko): Invalid module format
Any idea ?


All times are GMT -5. The time now is 03:27 PM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright ©1998 - 2014, nV News.