--- fglrx-orig/lib/modules/fglrx/build_mod/firegl_public.c 2004-03-18 07:00:29.000000000 +0900 +++ fglrx-orig/lib/modules/fglrx/build_mod/firegl_public.c 2004-05-28 02:10:48.258677968 +0900 @@ -2816,10 +2816,21 @@ #ifdef FGL struct _agp_memory* __ke_agp_allocate_memory_phys_list(__ke_size_t pages, unsigned long type, unsigned long * phys_addr) { -#if 0 +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,4,0) #ifdef __AGP__ - if (AGP_AVAILABLE(allocate_memory_phys_list)) - return AGP_FUNC(allocate_memory_phys_list)(pages, type, phys_addr); + if (AGP_AVAILABLE(allocate_memory)) { + int i; + struct _agp_memory* newmem = AGP_FUNC(allocate_memory)(pages, type); + + if (newmem) { + /* convert/copy the pysical adresses into the "new" agp_memory table */ + for (i = 0; i < pages; i++) { + phys_addr[i] = newmem->memory[i]; + } + } + + return newmem; + } #endif /* __AGP__ */ #endif if (firegl_agp) --- fglrx-orig/lib/modules/fglrx/build_mod/make.sh 2004-03-18 07:00:29.000000000 +0900 +++ fglrx-orig/lib/modules/fglrx/build_mod/make.sh 2004-05-27 13:11:56.000000000 +0900 @@ -468,7 +468,7 @@ src_file=/proc/kallsyms if [ -e $src_file ] then - if [ `fgrep smp $src_file -c` -gt 10 ] + if [ `fgrep smp $src_file -c` -gt 16 ] then SMP=1 echo "file $src_file says: SMP=$SMP" >> $logfile