View Single Post
Old 09-26-02, 08:24 AM   #6
bwkaz
Registered User
 
Join Date: Sep 2002
Posts: 2,262
Default

A quick www.google.com/linux search found that in the nVidia readme, this specific problem is addressed:

Quote:
Q: X fails with error "Failed to allocate LUT context DMA"

A: This is one of the possible consequences of compiling NVdriver with a different gcc version than used to compile the Linux kernel (see above).
"above", it says:

Code:
Q: Compiling the NVdriver kernel module gives this error:

        You appear to be compiling the NVdriver kernel module with
        a compiler different from the one that was used to compile
        the running kernel. This may be perfectly fine, but there
        are cases where this can lead to unexpected behaviour and
        system crashes.

        If you know what you are doing and want to override this
        check, you can do so by setting IGNORE_CC_MISMATCH.

        In any other case, set the CC environment variable to the
        name of the compiler that was used to compile the kernel.

A: You should compile the NVdriver kernel module with the same compiler
   version that was used to compile your kernel.  Some Linux kernel data
   structures are dependent on the version of gcc used to compile it;
   for example, in include/linux/spinlock.h:

        ...
        * Most gcc versions have a nasty bug with empty initializers.
        */
        #if (__GNUC__ > 2)
          typedef struct { } rwlock_t;
          #define RW_LOCK_UNLOCKED (rwlock_t) { }
        #else
          typedef struct { int gcc_is_buggy; } rwlock_t;
          #define RW_LOCK_UNLOCKED (rwlock_t) { 0 }
        #endif

   If the kernel is compiled with gcc 2.x, but gcc 3.x is used when the open
   files in NVdriver are built (or vice versa), the size of rwlock_t will vary,
   and things like ioremap will fail.

   To check what version of gcc was used to compile your kernel, you
   can examine the output of:

        cat /proc/version

   To check what version of gcc is currently in your $PATH, you can examine
   the output of:

        gcc -v
So let me guess... you used IGNORE_CC_MISMATCH, right?
__________________
Registered Linux User #219692
bwkaz is offline   Reply With Quote