Hi,

this issue seems to be related to an exported symbol (flush_tlb_page)
deprecated into kernel 2.6.25 wrongly used. There is an '#if'
statement using 'defined(__SMP__)', which returns false for my x86_64
machine. BTW, here is my 'uname -a' output:

$ uname -a
Linux sister 2.6.25-2-amd64 #1 SMP Tue May 27 12:45:24 UTC 2008 x86_64 GNU/Linux

This one-liner patch against file firegl-public.c (included in
fglrx.tar.bz2) seems to fix it.

Hope it helps :)

Regards,

jr.
--- fglrx-orig/firegl_public.c	2008-05-27 11:46:13.000000000 -0300
+++ fglrx/firegl_public.c	2008-06-10 23:19:17.000000000 -0300
@@ -2594,7 +2594,7 @@
 {
 /*Some kernel developer removed the export of symbol "flush_tlb_page" on 2.6.25 x86_64 SMP kernel.
   Define a simple version here.*/
-#if defined(__x86_64__) && defined(__SMP__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)) 
+#if defined(__x86_64__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)) 
     on_each_cpu(KCL_flush_tlb_one, &va, 1, 1);
 #else
     flush_tlb_page(vma, va);

Reply via email to