|
|
#1 | |
|
Registered User
Join Date: Aug 2007
Posts: 4
|
I want to install legacy drivers 1.0-7185 to linux kernel 2.6.23-rc1-mm1. It won't compiles. I corrected drivers around kmem_cache_t, kmem_cache_create() and unregister_chrdev(). It compiles successfully. But when I try ti run module I got such warning:
WARNING: "__you_cannot_kmalloc_that_much" [/usr/src/NVIDIA-Linux-x86-1.0-7185-pkg1/usr/src/nv/nvidia.ko] undefined! And loading of the module failed! I think it try to kmalloc very much of memory, but I can't find where it is. Can You help me? |
|
|
|
|
|
|
#2 | |
|
NVIDIA Corporation
Join Date: Dec 2004
Posts: 8,763
|
Please see the forum sticky posts.
|
|
|
|
|
|
|
#3 | |
|
Registered User
Join Date: Aug 2007
Posts: 4
|
Quote:
If the 1st, I'll provide additional info tonight, when I'll back to home. |
|
|
|
|
|
|
#4 | |
|
Registered User
Join Date: Aug 2007
Posts: 4
|
Ok, I've gathered information. I extracted and patched drivers, so nvidia-installer.log is not interesting here. It shows other errors.
Info about my Linux and gcc: Code:
Linux oleg 2.6.23-rc1-mm1 #1 PREEMPT Sat Jul 28 22:06:17 EEST 2007 i686 unknown unknown GNU/Linux gcc (GCC) 3.3.6 Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Code:
diff -rNu ./NVIDIA-Linux-x86-1.0-7185-pkg1/usr/src/nv/nv-linux.h ./NVIDIA-Linux-x86-1.0-7185-oo1/usr/src/nv/nv-linux.h
--- ./NVIDIA-Linux-x86-1.0-7185-pkg1/usr/src/nv/nv-linux.h 2007-04-03 04:58:22.000000000 +0300
+++ ./NVIDIA-Linux-x86-1.0-7185-oo1/usr/src/nv/nv-linux.h 2007-07-30 19:46:32.000000000 +0300
@@ -492,7 +492,7 @@
#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
{ \
kmem_cache = kmem_cache_create(name, sizeof(type), \
- 0, 0, NULL, NULL); \
+ 0, 0, NULL); \
}
#define NV_KMEM_CACHE_DESTROY(kmem_cache) \
diff -rNu ./NVIDIA-Linux-x86-1.0-7185-pkg1/usr/src/nv/nv.c ./NVIDIA-Linux-x86-1.0-7185-oo1/usr/src/nv/nv.c
--- ./NVIDIA-Linux-x86-1.0-7185-pkg1/usr/src/nv/nv.c 2007-04-03 04:58:22.000000000 +0300
+++ ./NVIDIA-Linux-x86-1.0-7185-oo1/usr/src/nv/nv.c 2007-07-30 19:43:14.000000000 +0300
@@ -90,6 +90,7 @@
int nv_use_cpa = 1;
#endif
+typedef struct kmem_cache kmem_cache_t;
static kmem_cache_t *nv_pte_t_cache = NULL;
// allow an easy way to convert all debug printfs related to events
@@ -1463,8 +1464,7 @@
if (apm_nv_dev[i] != NULL) pm_unregister(apm_nv_dev[i]);
#endif
- if (unregister_chrdev(nv_major, "nvidia") < 0)
- nv_printf(NV_DBG_ERRORS, "NVRM: unregister nv chrdev failed\n");
+ unregister_chrdev(nv_major, "nvidia");
for (i = 0; i < num_nv_devices; i++)
{
@@ -1488,8 +1488,7 @@
nv_printf(NV_DBG_INFO, "NVRM: nvidia_exit_module\n");
- if (unregister_chrdev(nv_major, "nvidia") < 0)
- nv_printf(NV_DBG_ERRORS, "NVRM: unregister nv chrdev failed\n");
+ unregister_chrdev(nv_major, "nvidia");
for (i = 0; i < num_nv_devices; i++)
{
|
|
|
|
|
|
|
#5 |
|
Registered User
Join Date: Aug 2007
Posts: 23
|
Exact same problem seen here with 2.6.23-rc2 kernel and 1.0-9639 driver.
|
|
|
|
|
|
#6 | |
|
Registered User
Join Date: Aug 2007
Posts: 23
|
Ok... Upgrading gcc from 3.X to 4.1.2 fixed the problem for me. Of course, this means rebuilding your kernel...
|
|
|
|
|
|
|
#7 | |
|
Registered User
Join Date: Aug 2007
Posts: 4
|
Quote:
|
|
|
|
|
![]() |
| Thread Tools | |
|
|