Jan,I got it to work with the mach64-0-0-6-branch. I had to force the makefile to assume 2.6, change a few declarations. And a few more for 2.6.1. Its not a very clean patch however.
I'm a little out of the loop in the DRI scene as of lately as I'm quite busy with my PhD (I'm still trying to catch the DRI mailing lists posts sent during the christmas vacations).
I don't recall hearing any success using mach64 with kernel 2.6, and I don't know exactly what does it takes to make it work. It's probably not much besides backporting some changes from the trunk into the mach64 branch. But in anycase I don't have the time to find that out right now.
I'm CC'ing to the [EMAIL PROTECTED] . I'm sure someone there can provide a little more info about this.
Sorry I can't be of more assistance.
Jose Fonseca
Anthony
Index: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/Makefile.kernel =================================================================== RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/Makefile.kernel,v retrieving revision 1.25.54.4 diff -r1.25.54.4 Makefile.kernel 23c23,24 < BELOW25 := $(shell if [ $(PATCHLEVEL) -lt 5 ]; then echo y; fi) --- > #BELOW25 := $(shell if [ $(PATCHLEVEL) -lt 5 ]; then echo y; fi) > BELOW25 := n 26,30c27,32 < ifneq ($(BELOW25),y) < BELOW2552 := $(shell if [ $(SUBLEVEL) -lt 52 ]; then echo y; fi) < else < BELOW2552 := y < endif --- > #ifneq ($(BELOW25),y) > #BELOW2552 := $(shell if [ $(SUBLEVEL) -lt 52 ]; then echo y; fi) > #else > #BELOW2552 := y > #endif > BELOW2552 := n Index: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drmP.h =================================================================== RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drmP.h,v retrieving revision 1.56.2.8 diff -r1.56.2.8 drmP.h 474c474 < agp_memory *memory; --- > struct agp_memory *memory; 482c482 < agp_kern_info agp_info; --- > struct agp_kern_info agp_info; 691,694c691,694 < extern agp_memory *DRM(alloc_agp)(int pages, u32 type); < extern int DRM(free_agp)(agp_memory *handle, int pages); < extern int DRM(bind_agp)(agp_memory *handle, unsigned int start); < extern int DRM(unbind_agp)(agp_memory *handle); --- > extern struct agp_memory *DRM(alloc_agp)(int pages, u32 type); > extern int DRM(free_agp)(struct agp_memory *handle, int pages); > extern int DRM(bind_agp)(struct agp_memory *handle, unsigned int start); > extern int DRM(unbind_agp)(struct agp_memory *handle); 843,846c843,846 < extern agp_memory *DRM(agp_allocate_memory)(size_t pages, u32 type); < extern int DRM(agp_free_memory)(agp_memory *handle); < extern int DRM(agp_bind_memory)(agp_memory *handle, off_t start); < extern int DRM(agp_unbind_memory)(agp_memory *handle); --- > extern struct agp_memory *DRM(agp_allocate_memory)(size_t pages, u32 type); > extern int DRM(agp_free_memory)(struct agp_memory *handle); > extern int DRM(agp_bind_memory)(struct agp_memory *handle, off_t start); > extern int DRM(agp_unbind_memory)(struct agp_memory *handle); Index: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_agpsupport.h =================================================================== RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_agpsupport.h,v retrieving revision 1.10.4.2 diff -r1.10.4.2 drm_agpsupport.h 48c48 < agp_kern_info *kern; --- > struct agp_kern_info *kern; 130c130 < agp_memory *memory; --- > struct agp_memory *memory; 290c290 < agp_memory *DRM(agp_allocate_memory)(size_t pages, u32 type) --- > struct agp_memory *DRM(agp_allocate_memory)(size_t pages, u32 type) 296c296 < int DRM(agp_free_memory)(agp_memory *handle) --- > int DRM(agp_free_memory)(struct agp_memory *handle) 303c303 < int DRM(agp_bind_memory)(agp_memory *handle, off_t start) --- > int DRM(agp_bind_memory)(struct agp_memory *handle, off_t start) 309c309 < int DRM(agp_unbind_memory)(agp_memory *handle) --- > int DRM(agp_unbind_memory)(struct agp_memory *handle) Index: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_memory.h =================================================================== RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_memory.h,v retrieving revision 1.7.54.2 diff -r1.7.54.2 drm_memory.h 136c136 < agp_memory *DRM(alloc_agp)(int pages, u32 type) --- > struct agp_memory *DRM(alloc_agp)(int pages, u32 type) 141c141 < int DRM(free_agp)(agp_memory *handle, int pages) --- > int DRM(free_agp)(struct agp_memory *handle, int pages) 146c146 < int DRM(bind_agp)(agp_memory *handle, unsigned int start) --- > int DRM(bind_agp)(struct agp_memory *handle, unsigned int start) 151c151 < int DRM(unbind_agp)(agp_memory *handle) --- > int DRM(unbind_agp)(struct agp_memory *handle) Index: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_memory_debug.h =================================================================== RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_memory_debug.h,v retrieving revision 1.2.2.1 diff -r1.2.2.1 drm_memory_debug.h 344c344 < agp_memory *DRM(alloc_agp)(int pages, u32 type) --- > struct agp_memory *DRM(alloc_agp)(int pages, u32 type) 346c346 < agp_memory *handle; --- > struct agp_memory *handle; 367c367 < int DRM(free_agp)(agp_memory *handle, int pages) --- > int DRM(free_agp)(struct agp_memory *handle, int pages) 396c396 < int DRM(bind_agp)(agp_memory *handle, unsigned int start) --- > int DRM(bind_agp)(struct agp_memory *handle, unsigned int start) 420c420 < int DRM(unbind_agp)(agp_memory *handle) --- > int DRM(unbind_agp)(struct agp_memory *handle)
Index: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/Makefile.kernel =================================================================== RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/Makefile.kernel,v retrieving revision 1.25.54.4 diff -r1.25.54.4 Makefile.kernel 23c23,24 < BELOW25 := $(shell if [ $(PATCHLEVEL) -lt 5 ]; then echo y; fi) --- > #BELOW25 := $(shell if [ $(PATCHLEVEL) -lt 5 ]; then echo y; fi) > BELOW25 := n 26,30c27,32 < ifneq ($(BELOW25),y) < BELOW2552 := $(shell if [ $(SUBLEVEL) -lt 52 ]; then echo y; fi) < else < BELOW2552 := y < endif --- > #ifneq ($(BELOW25),y) > #BELOW2552 := $(shell if [ $(SUBLEVEL) -lt 52 ]; then echo y; fi) > #else > #BELOW2552 := y > #endif > BELOW2552 := n Index: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drmP.h =================================================================== RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drmP.h,v retrieving revision 1.56.2.8 diff -r1.56.2.8 drmP.h 474c474 < agp_memory *memory; --- > struct agp_memory *memory; 482c482 < agp_kern_info agp_info; --- > struct agp_kern_info agp_info; 656c656 < int write_access); --- > int *type); 659c659 < int write_access); --- > int *type); 662c662 < int write_access); --- > int *type); 665c665 < int write_access); --- > int *type); 691,694c691,694 < extern agp_memory *DRM(alloc_agp)(int pages, u32 type); < extern int DRM(free_agp)(agp_memory *handle, int pages); < extern int DRM(bind_agp)(agp_memory *handle, unsigned int start); < extern int DRM(unbind_agp)(agp_memory *handle); --- > extern struct agp_memory *DRM(alloc_agp)(int pages, u32 type); > extern int DRM(free_agp)(struct agp_memory *handle, int pages); > extern int DRM(bind_agp)(struct agp_memory *handle, unsigned int start); > extern int DRM(unbind_agp)(struct agp_memory *handle); 843,846c843,846 < extern agp_memory *DRM(agp_allocate_memory)(size_t pages, u32 type); < extern int DRM(agp_free_memory)(agp_memory *handle); < extern int DRM(agp_bind_memory)(agp_memory *handle, off_t start); < extern int DRM(agp_unbind_memory)(agp_memory *handle); --- > extern struct agp_memory *DRM(agp_allocate_memory)(size_t pages, u32 type); > extern int DRM(agp_free_memory)(struct agp_memory *handle); > extern int DRM(agp_bind_memory)(struct agp_memory *handle, off_t start); > extern int DRM(agp_unbind_memory)(struct agp_memory *handle); Index: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_agpsupport.h =================================================================== RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_agpsupport.h,v retrieving revision 1.10.4.2 diff -r1.10.4.2 drm_agpsupport.h 48c48 < agp_kern_info *kern; --- > struct agp_kern_info *kern; 130c130 < agp_memory *memory; --- > struct agp_memory *memory; 290c290 < agp_memory *DRM(agp_allocate_memory)(size_t pages, u32 type) --- > struct agp_memory *DRM(agp_allocate_memory)(size_t pages, u32 type) 296c296 < int DRM(agp_free_memory)(agp_memory *handle) --- > int DRM(agp_free_memory)(struct agp_memory *handle) 303c303 < int DRM(agp_bind_memory)(agp_memory *handle, off_t start) --- > int DRM(agp_bind_memory)(struct agp_memory *handle, off_t start) 309c309 < int DRM(agp_unbind_memory)(agp_memory *handle) --- > int DRM(agp_unbind_memory)(struct agp_memory *handle) Index: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_memory.h =================================================================== RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_memory.h,v retrieving revision 1.7.54.2 diff -r1.7.54.2 drm_memory.h 136c136 < agp_memory *DRM(alloc_agp)(int pages, u32 type) --- > struct agp_memory *DRM(alloc_agp)(int pages, u32 type) 141c141 < int DRM(free_agp)(agp_memory *handle, int pages) --- > int DRM(free_agp)(struct agp_memory *handle, int pages) 146c146 < int DRM(bind_agp)(agp_memory *handle, unsigned int start) --- > int DRM(bind_agp)(struct agp_memory *handle, unsigned int start) 151c151 < int DRM(unbind_agp)(agp_memory *handle) --- > int DRM(unbind_agp)(struct agp_memory *handle) Index: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_memory_debug.h =================================================================== RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_memory_debug.h,v retrieving revision 1.2.2.1 diff -r1.2.2.1 drm_memory_debug.h 344c344 < agp_memory *DRM(alloc_agp)(int pages, u32 type) --- > struct agp_memory *DRM(alloc_agp)(int pages, u32 type) 346c346 < agp_memory *handle; --- > struct agp_memory *handle; 367c367 < int DRM(free_agp)(agp_memory *handle, int pages) --- > int DRM(free_agp)(struct agp_memory *handle, int pages) 396c396 < int DRM(bind_agp)(agp_memory *handle, unsigned int start) --- > int DRM(bind_agp)(struct agp_memory *handle, unsigned int start) 420c420 < int DRM(unbind_agp)(agp_memory *handle) --- > int DRM(unbind_agp)(struct agp_memory *handle) Index: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h =================================================================== RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h,v retrieving revision 1.19.12.1 diff -r1.19.12.1 drm_vm.h 61c61 < int write_access) --- > int *type) 117a118,121 > if(type) > *type = VM_FAULT_MINOR; > > 128c132 < int write_access) --- > int *type) 143a148,149 > if(type) > *type = VM_FAULT_MINOR; 227c233 < int write_access) --- > int *type) 245a252,253 > if(type) > *type = VM_FAULT_MINOR; 253c261 < int write_access) --- > int *type) 273a282,283 > if(type) > *type = VM_FAULT_MINOR;