Subject: Re: Running XFree86 on a PWS500au
To: Chris Wareham <chriswareham@chriswareham.demon.co.uk>
From: Tobias Nygren <tnn+nbsd@nygren.pp.se>
List: port-alpha
Date: 03/14/2007 01:10:19
This is a multi-part message in MIME format.
--------------060704050807080506050807
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Chris Wareham wrote:
> I've found the following webpage which includes patched versions of
> XFree86 for various Alpha workstations:
>
> http://www.caseydoodle.com/index1.html
>
> Is anyone running the patched version of XFree86 4.4.0 from this page on
> NetBSD 3.1?
>
> Regards,
>
> Chris

If you grab the 4.5.0 tarballs from xfree86.org they should build cleanly.
XFree86 4.6.0 can be built with some minor changes to alpha_video.c,
see attached diff.

-T


--------------060704050807080506050807
Content-Type: text/plain;
 name="alpha_video.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="alpha_video.diff"

--- alpha_video.c-xf-4_6_0	2007-03-14 01:08:19.000000000 +0100
+++ alpha_video.c	2006-12-21 01:59:21.000000000 +0100
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c,v 1.9 2005/10/14 15:17:00 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c,v 1.10 2006/01/09 15:00:19 dawes Exp $ */
 /*
  * Copyright 1992 by Rich Murphey <Rich@Rice.edu>
  * Copyright 1993 by David Wexelblat <dwex@goblin.org>
@@ -447,42 +447,43 @@
 
 
 #define vuip    volatile unsigned int *
+#define vvp     volatile void *
 
 static unsigned long msb_set = 0;
 static pointer memSBase = 0;
 static pointer memBase = 0;
 
-extern int readDense8(pointer Base, register unsigned long Offset);
-extern int readDense16(pointer Base, register unsigned long Offset);
-extern int readDense32(pointer Base, register unsigned long Offset);
+extern int readDense8(vvp Base, register unsigned long Offset);
+extern int readDense16(vvp Base, register unsigned long Offset);
+extern int readDense32(vvp Base, register unsigned long Offset);
 extern void
-writeDenseNB8(int Value, pointer Base, register unsigned long Offset);
+writeDenseNB8(int Value, vvp Base, register unsigned long Offset);
 extern void
-writeDenseNB16(int Value, pointer Base, register unsigned long Offset);
+writeDenseNB16(int Value, vvp Base, register unsigned long Offset);
 extern void
-writeDenseNB32(int Value, pointer Base, register unsigned long Offset);
+writeDenseNB32(int Value, vvp Base, register unsigned long Offset);
 extern void
-writeDense8(int Value, pointer Base, register unsigned long Offset);
+writeDense8(int Value, vvp Base, register unsigned long Offset);
 extern void
-writeDense16(int Value, pointer Base, register unsigned long Offset);
+writeDense16(int Value, vvp Base, register unsigned long Offset);
 extern void
-writeDense32(int Value, pointer Base, register unsigned long Offset);
+writeDense32(int Value, vvp Base, register unsigned long Offset);
 
-static int readSparse8(pointer Base, register unsigned long Offset);
-static int readSparse16(pointer Base, register unsigned long Offset);
-static int readSparse32(pointer Base, register unsigned long Offset);
+static int readSparse8(vvp Base, register unsigned long Offset);
+static int readSparse16(vvp Base, register unsigned long Offset);
+static int readSparse32(vvp Base, register unsigned long Offset);
 static void
-writeSparseNB8(int Value, pointer Base, register unsigned long Offset);
+writeSparseNB8(int Value, vvp Base, register unsigned long Offset);
 static void
-writeSparseNB16(int Value, pointer Base, register unsigned long Offset);
+writeSparseNB16(int Value, vvp Base, register unsigned long Offset);
 static void
-writeSparseNB32(int Value, pointer Base, register unsigned long Offset);
+writeSparseNB32(int Value, vvp Base, register unsigned long Offset);
 static void
-writeSparse8(int Value, pointer Base, register unsigned long Offset);
+writeSparse8(int Value, vvp Base, register unsigned long Offset);
 static void
-writeSparse16(int Value, pointer Base, register unsigned long Offset);
+writeSparse16(int Value, vvp Base, register unsigned long Offset);
 static void
-writeSparse32(int Value, pointer Base, register unsigned long Offset);
+writeSparse32(int Value, vvp Base, register unsigned long Offset);
 
 #ifdef __FreeBSD__
 extern int sysarch(int, void *);
@@ -553,7 +554,7 @@
 }
 
 static int
-readSparse8(pointer Base, register unsigned long Offset)
+readSparse8(vvp Base, register unsigned long Offset)
 {
     register unsigned long result, shift;
     register unsigned long msb;
@@ -576,7 +577,7 @@
 }
 
 static int
-readSparse16(pointer Base, register unsigned long Offset)
+readSparse16(vvp Base, register unsigned long Offset)
 {
     register unsigned long result, shift;
     register unsigned long msb;
@@ -600,14 +601,14 @@
 }
 
 static int
-readSparse32(pointer Base, register unsigned long Offset)
+readSparse32(vvp Base, register unsigned long Offset)
 {
     mem_barrier();
     return *(vuip)((unsigned long)Base+(Offset));
 }
 
 static void
-writeSparse8(int Value, pointer Base, register unsigned long Offset)
+writeSparse8(int Value, vvp Base, register unsigned long Offset)
 {
     register unsigned long msb;
     register unsigned int b = Value & 0xffU;
@@ -628,7 +629,7 @@
 }
 
 static void
-writeSparse16(int Value, pointer Base, register unsigned long Offset)
+writeSparse16(int Value, vvp Base, register unsigned long Offset)
 {
     register unsigned long msb;
     register unsigned int w = Value & 0xffffU;
@@ -651,7 +652,7 @@
 }
 
 static void
-writeSparse32(int Value, pointer Base, register unsigned long Offset)
+writeSparse32(int Value, vvp Base, register unsigned long Offset)
 {
     write_mem_barrier();
     *(vuip)((unsigned long)Base + (Offset)) = Value;
@@ -659,7 +660,7 @@
 }
 
 static void
-writeSparseNB8(int Value, pointer Base, register unsigned long Offset)
+writeSparseNB8(int Value, vvp Base, register unsigned long Offset)
 {
     register unsigned long msb;
     register unsigned int b = Value & 0xffU;
@@ -679,7 +680,7 @@
 }
 
 static void
-writeSparseNB16(int Value, pointer Base, register unsigned long Offset)
+writeSparseNB16(int Value, vvp Base, register unsigned long Offset)
 {
     register unsigned long msb;
     register unsigned int w = Value & 0xffffU;
@@ -700,28 +701,27 @@
 }
 
 static void
-writeSparseNB32(int Value, pointer Base, register unsigned long Offset)
+writeSparseNB32(int Value, vvp Base, register unsigned long Offset)
 {
     *(vuip)((unsigned long)Base + (Offset)) = Value;
     return;
 }
 
-void (*xf86WriteMmio8)(int Value, pointer Base, unsigned long Offset) 
+void (*xf86WriteMmio8)(int Value, vvp Base, unsigned long Offset) 
      = writeDense8;
-void (*xf86WriteMmio16)(int Value, pointer Base, unsigned long Offset)
+void (*xf86WriteMmio16)(int Value, vvp Base, unsigned long Offset)
      = writeDense16;
-void (*xf86WriteMmio32)(int Value, pointer Base, unsigned long Offset)
+void (*xf86WriteMmio32)(int Value, vvp Base, unsigned long Offset)
      = writeDense32;
-void (*xf86WriteMmioNB8)(int Value, pointer Base, unsigned long Offset) 
+void (*xf86WriteMmioNB8)(int Value, vvp Base, unsigned long Offset) 
      = writeDenseNB8;
-void (*xf86WriteMmioNB16)(int Value, pointer Base, unsigned long Offset)
+void (*xf86WriteMmioNB16)(int Value, vvp Base, unsigned long Offset)
      = writeDenseNB16;
-void (*xf86WriteMmioNB32)(int Value, pointer Base, unsigned long Offset)
+void (*xf86WriteMmioNB32)(int Value, vvp Base, unsigned long Offset)
      = writeDenseNB32;
-int  (*xf86ReadMmio8)(pointer Base, unsigned long Offset) 
+int  (*xf86ReadMmio8)(vvp Base, unsigned long Offset) 
      = readDense8;
-int  (*xf86ReadMmio16)(pointer Base, unsigned long Offset)
+int  (*xf86ReadMmio16)(vvp Base, unsigned long Offset)
      = readDense16;
-int  (*xf86ReadMmio32)(pointer Base, unsigned long Offset)
+int  (*xf86ReadMmio32)(vvp Base, unsigned long Offset)
      = readDense32;
-

--------------060704050807080506050807--