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);