--- firegl_public.c.orig 2005-01-04 17:05:05.000000000 -0800 +++ firegl_public.c 2005-01-24 16:50:28.000000000 -0800 @@ -2590,13 +2590,13 @@ #endif /* __ia64__ */ vma->vm_flags |= VM_IO; /* not in core dump */ } - if (remap_page_range(FGL_VMA_API_PASS + if (remap_pfn_range(FGL_VMA_API_PASS vma->vm_start, - __ke_vm_offset(vma), + vma->vm_pgoff, vma->vm_end - vma->vm_start, vma->vm_page_prot)) { - __KE_DEBUG("remap_page_range failed\n"); + __KE_DEBUG("remap_pfn_range failed\n"); return -EAGAIN; } vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */ @@ -2655,15 +2655,15 @@ #else // else { - if (__ke_vm_offset(vma) >= __pa(high_memory)) + if (vma->vm_pgoff >= __pa(high_memory)) vma->vm_flags |= VM_IO; /* not in core dump */ - if (remap_page_range(FGL_VMA_API_PASS + if (remap_pfn_range(FGL_VMA_API_PASS vma->vm_start, - __ke_vm_offset(vma), + vma->vm_pgoff, vma->vm_end - vma->vm_start, vma->vm_page_prot)) { - __KE_DEBUG("remap_page_range failed\n"); + __KE_DEBUG("remap_pfn_range failed\n"); return -EAGAIN; } #ifdef __x86_64__ @@ -2692,15 +2692,15 @@ // else #else { - if (__ke_vm_offset(vma) >= __pa(high_memory)) + if (vma->vm_pgoff >= __pa(high_memory)) vma->vm_flags |= VM_IO; /* not in core dump */ - if (remap_page_range(FGL_VMA_API_PASS + if (remap_pfn_range(FGL_VMA_API_PASS vma->vm_start, - __ke_vm_offset(vma), + vma->vm_pgoff, vma->vm_end - vma->vm_start, vma->vm_page_prot)) { - __KE_DEBUG("remap_page_range failed\n"); + __KE_DEBUG("remap_pfn_range failed\n"); return -EAGAIN; } #ifdef __x86_64__ @@ -2744,6 +2744,20 @@ #if LINUX_VERSION_CODE >= 0x020400 +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9) +/* This is no longer used inside kernel, so declare it here. JGG */ +typedef struct { + void (*free_memory)(struct agp_memory *); + struct agp_memory * (*allocate_memory)(size_t, u32); + int (*bind_memory)(struct agp_memory *, off_t); + int (*unbind_memory)(struct agp_memory *); + void (*enable)(u32); + int (*acquire)(void); + void (*release)(void); + int (*copy_info)(struct agp_kern_info *); +} drm_agp_t; +#endif + static const drm_agp_t *drm_agp_module_stub = NULL; #define AGP_FUNCTIONS 8