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 1.0.9631 with kernel 2.6.20-rc6 (http://www.nvnews.net/vbulletin/showthread.php?t=85107)

gmsgms 01-26-07 07:00 PM

nvidia 1.0.9631 with kernel 2.6.20-rc6
 
1) i have got the following compiler error messages while compiling the nvidia module:
Code:

/usr/src/modules/nvidia-kernel/nv/nv.c:1849: error: ‘SA_INTERRUPT’ undeclared
/usr/src/modules/nvidia-kernel/nv/nv.c:1849: error: ‘SA_SHIRQ’ undeclared

this errors are forced by the removal of the migration helpers in "include/linux/interrupt.h":
Quote:

* Migration helpers. Scheduled for removal in 1/2007
* Do not use for new code !
this problem can be solved easily:
Quote:

Originally Posted by diff nc.old nc.new
1849c1849
< SA_INTERRUPT | SA_SHIRQ, "nvidia",
---
> IRQF_DISABLED | IRQF_SHARED, "nvidia",


2) license issue:
FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol 'pagefault_disable'

I guess this is the reason, why this error didn't come up with 2.6.20-rc5:
Quote:

Originally Posted by http://www.kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.20-rc6
[MTD] Use EXPORT_SYMBOL_GPL() for exported symbols.

While we're fixing up the newly-added symbol, change the neighbouring ones
too, for consistency and also to reflect the author's interpretation of
the GPL -- which is that _no_ non-GPL modules are permitted. The author
always intended his code to be released under the GPL, and believes that
any new interpretation of 'EXPORT_SYMBOL' as being any different from
'EXPORT_SYMBOL_GPL' is entirely invalid; the GPL requires that _all_
exports have the semantics of the new 'EXPORT_SYMBOL_GPL', which means the
extra four characters are entirely redundant.

But since those four extra characters trigger the check for illegal
modules in a way that just EXPORT_SYMBOL does not, it's useful to change
anyway. This action in no way indicates an admission that there is any
legal distinction between the two states, and in particular does not
indicate that the author believes that non-GPL modules may use symbols
exported with EXPORT_SYMBOL alone.


regards
gmsgms

zander 01-26-07 08:04 PM

Re: nvidia 1.0.9631 with kernel 2.6.20-rc6
 
The first problem will be fixed in future NVIDIA Linux graphics driver releases. I didnt' see the other problem with Linux 2.6.20-rc5, so I guess it may be a recent regression or configuration specific. Please generate/attach an nvidia-bug-report.log file. FWIW, the NVIDIA kernel module does not explicitely reference pagefault_disable(), it's most likely picked up through a macro.

zander 01-26-07 08:16 PM

Re: nvidia 1.0.9631 with kernel 2.6.20-rc6
 
As far as I can tell, pagefault_enable() is still defined as an inline function in Linux 2.6.20-rc6's linux/uaccess.h, so it's not clear to me why it is reported as an unresolved symbol in your case. Please note that the ChangeLog excerpt you posted refers to changes made to the MTD driver, which the NVIDIA Linux graphics driver doesn't interact with.

zander 01-26-07 09:07 PM

Re: nvidia 1.0.9631 with kernel 2.6.20-rc6
 
I can't reproduce the pagefault_enable() problem with Linux 2.6.20-rc6.

gmsgms 01-27-07 11:34 AM

Re: nvidia 1.0.9631 with kernel 2.6.20-rc6
 
Quote:

Originally Posted by zander
As far as I can tell, pagefault_enable() is still defined as an inline function in Linux 2.6.20-rc6's linux/uaccess.h

yes, you are right, sorry for the wrong bug report
:banghead: I have applied the following patch to the vanilla kernel:
http://people.redhat.com/mingo/realt...2.6.20-rc6-rt1

Code:

root@gms1:/usr/src# grep EXPORT patch-2.6.20-rc6-rt1  | grep pagefault
+EXPORT_SYMBOL_GPL(pagefault_disable);
+EXPORT_SYMBOL_GPL(pagefault_enable);

Kind regards
gmsgms

zander 01-27-07 02:38 PM

Re: nvidia 1.0.9631 with kernel 2.6.20-rc6
 
Looking at patch-2.6.20-rc6-rt2, pagefault_disable() is most likely picked up via kmap_atomic().

mistermachine 01-29-07 04:06 PM

Re: nvidia 1.0.9631 with kernel 2.6.20-rc6
 
is there any known fix for this? i'm trying to install the nvidia module with 2.6.20-rc6-rt4 ...

zander 01-29-07 05:33 PM

Re: nvidia 1.0.9631 with kernel 2.6.20-rc6
 
I double-checked, the symbol is picked up through pte_offset(), which uses kmap_atomic() if the kernel is configured with CONFIG_PREEMPT_RT and CONFIG_HIGHPTE; so I guess you can either disable the second option or change how the symbol in question is exported in your tree. The NVIDIA Linux graphics driver currently has to use pte_offset() for virtual to physical address translations.

gmsgms 01-30-07 05:09 PM

Re: nvidia 1.0.9631 with kernel 2.6.20-rc6
 
I had already changed how the symbol is exported, but disabling CONFIG_HIGHPTE is much better

Thanks a lot
gms

robert14 02-05-07 01:50 PM

Re: nvidia 1.0.9631 with kernel 2.6.20-rc6
 
Disabling CONFIG_HIGHPTE didn't work for me do i've got to do anything else?

yourcomrade 02-06-07 12:01 PM

Re: nvidia 1.0.9631 with kernel 2.6.20-rc6
 
On gentoo 2.6.20 when 'make oldconfig' I answered 'N' to paravirtualization support and now nvidia module compiles with the kernel. If I answer 'Y' the module does not build.

zander 02-06-07 12:27 PM

Re: nvidia 1.0.9631 with kernel 2.6.20-rc6
 
@robert14: if you're still seeing problems with CONFIG_HIGHPTE (and/or CONFIG_PREEMPT_RT) and CONFIG_PARAVIRT disabled, please attach the complete /var/log/nvidia-installer.log file.

@yourcomrade: the NVIDIA Linux kernel module involuntarily picks up a GPL-only symbol via uname() if the Linux 2.6.20 kernel is built with CONFIG_PARAVIRT.


All times are GMT -5. The time now is 10:09 AM.

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