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--