Hi All,
I didn't see this in CVS yet so I thought I'd send it to the list.
With the attached patch applied in the
xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel directory I can
compile the kernel modules for linux and run the Xserver as described
here;
http://www.cse.unsw.edu.au/~chak/linux/c400.html
(Using the patch from;
http://www.jongans.com/gateway1450.html)
Without this patch the XFree86 kernel modules don't build with
anything beyond vanilla 2.4.18. You might want to add kernel version
checks around these changes. I should say I don't understand these
changes, I'm just following a pattern in the 2.4.18->2.4.19 patch file.
regards,
Stephen.
--
/------------------------------------+-------------------------\
|Stephen J. Gowdy | SLAC, MailStop 34, |
|http://www.slac.stanford.edu/~gowdy/ | 2575 Sand Hill Road, |
|http://calendar.yahoo.com/gowdy | Menlo Park CA 94025, USA |
|EMail: [EMAIL PROTECTED] | Tel: +1 650 926 3144 |
\------------------------------------+-------------------------/
? Makefile
Index: i810_dma.c
===================================================================
RCS file: /cvs/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/i810_dma.c,v
retrieving revision 1.15
diff -u -r1.15 i810_dma.c
--- i810_dma.c 2001/10/02 11:44:17 1.15
+++ i810_dma.c 2002/08/22 04:04:42
@@ -35,6 +35,7 @@
#include "drmP.h"
#include "i810_drv.h"
#include <linux/interrupt.h> /* For task queue support */
+#include <linux/pagemap.h>
/* in case we don't have a 2.3.99-pre6 kernel or later: */
#ifndef VM_DONTCOPY
@@ -293,9 +294,8 @@
if(page == 0UL)
return;
- atomic_dec(&virt_to_page(page)->count);
- clear_bit(PG_locked, &virt_to_page(page)->flags);
- wake_up(&virt_to_page(page)->wait);
+ put_page( virt_to_page( page ) );
+ UnlockPage( virt_to_page( page ) );
free_page(page);
return;
}
Index: i830_dma.c
===================================================================
RCS file: /cvs/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/i830_dma.c,v
retrieving revision 1.1
diff -u -r1.1 i830_dma.c
--- i830_dma.c 2001/10/04 18:28:22 1.1
+++ i830_dma.c 2002/08/22 04:04:42
@@ -36,6 +36,7 @@
#include "drmP.h"
#include "i830_drv.h"
#include <linux/interrupt.h> /* For task queue support */
+#include <linux/pagemap.h>
/* in case we don't have a 2.3.99-pre6 kernel or later: */
#ifndef VM_DONTCOPY
@@ -315,9 +316,8 @@
if(page == 0UL)
return;
- atomic_dec(&virt_to_page(page)->count);
- clear_bit(PG_locked, &virt_to_page(page)->flags);
- wake_up(&virt_to_page(page)->wait);
+ put_page( virt_to_page( page ) );
+ UnlockPage( virt_to_page( page ) );
free_page(page);
return;
}