aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlesi <lesi@FreeBSD.org>2005-05-18 07:37:59 +0800
committerlesi <lesi@FreeBSD.org>2005-05-18 07:37:59 +0800
commitdbf3ecda5c987333018dbe87836c207b40349c0e (patch)
tree433994dda8d7b9543b5af4e1085f691026cbe1df
parent4d4dddc23b7cbe51423eaa490e5377e980dc0d84 (diff)
downloadfreebsd-ports-gnome-dbf3ecda5c987333018dbe87836c207b40349c0e.tar.gz
freebsd-ports-gnome-dbf3ecda5c987333018dbe87836c207b40349c0e.tar.zst
freebsd-ports-gnome-dbf3ecda5c987333018dbe87836c207b40349c0e.zip
- Correct the ranges of the bus resource windows on sparc64.
This makes PCI video cards work that hang off directly from the Host-to-PCI bridge in machines like the Blade 100. [1] - Default to old 'keyboard' driver for sparc64. Patches for 'kbd' one were not enough so until new driver is fixed, this change makes Xorg work with sparc64 keyboards. Knob WITH_SPARC_KBD is provided to ease efforts of fixing 'kbd'. Submitted by: marius [1]
-rw-r--r--x11-servers/xorg-server/Makefile7
-rw-r--r--x11-servers/xorg-server/files/patch-bsdResource.c68
-rw-r--r--x11-servers/xorg-server/scripts/configure4
3 files changed, 78 insertions, 1 deletions
diff --git a/x11-servers/xorg-server/Makefile b/x11-servers/xorg-server/Makefile
index 694604b8290c..b08189dd4fbb 100644
--- a/x11-servers/xorg-server/Makefile
+++ b/x11-servers/xorg-server/Makefile
@@ -7,7 +7,7 @@
PORTNAME= xorg-server
PORTVERSION= 6.8.2
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= x11-servers
MASTER_SITES= ${MASTER_SITE_XORG}
MASTER_SITE_SUBDIR= X11R${PORTVERSION}/src
@@ -106,6 +106,11 @@ MAN4+= sunbw2.4x \
sunffb.4x \
sunleo.4x \
suntcx.4x
+# WITH_SPARC_KBD is meant to be used to ease fixing 'kbd' driver under sparc64.
+# Do not define it if you want your keyboard to work.
+.if !defined(WITH_SPARC_KBD)
+SCRIPTS_ENV+= OLD_KEYBOARD=YES
+.endif
.else
PLIST_SUB+= SPARC64="@comment "
PLIST_SUB+= SPARC64_NA=""
diff --git a/x11-servers/xorg-server/files/patch-bsdResource.c b/x11-servers/xorg-server/files/patch-bsdResource.c
new file mode 100644
index 000000000000..e031b2681f53
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-bsdResource.c
@@ -0,0 +1,68 @@
+--- programs/Xserver/hw/xfree86/os-support/bsd/bsdResource.c.orig Fri Apr 23 21:54:07 2004
++++ programs/Xserver/hw/xfree86/os-support/bsd/bsdResource.c Tue May 17 00:48:36 2005
+@@ -18,7 +18,7 @@
+
+ #ifdef INCLUDE_XF86_NO_DOMAIN
+
+-#if defined(__alpha__) || defined(__sparc64__) || defined(__amd64__)
++#if defined(__alpha__) || defined(__amd64__)
+
+ resPtr
+ xf86BusAccWindowsFromOS(void)
+@@ -112,7 +112,7 @@
+ return ret;
+ }
+
+-#elif defined(__powerpc__)
++#elif defined(__powerpc__) || defined(__sparc__) || defined(__sparc64__)
+
+ resPtr
+ xf86BusAccWindowsFromOS(void)
+@@ -123,7 +123,11 @@
+ RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock);
+ ret = xf86AddResToList(ret, &range, -1);
+
++#if defined(__sparc__) || defined(__sparc64__)
++ RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock);
++#else
+ RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock);
++#endif
+ ret = xf86AddResToList(ret, &range, -1);
+ return ret;
+ }
+@@ -137,7 +141,11 @@
+ RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock);
+ ret = xf86AddResToList(ret, &range, -1);
+
++#if defined(__sparc__) || defined(__sparc64__)
++ RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock);
++#else
+ RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock);
++#endif
+ ret = xf86AddResToList(ret, &range, -1);
+ return ret;
+ }
+@@ -153,7 +161,11 @@
+ RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock);
+ ret = xf86AddResToList(ret, &range, -1);
+
++#if defined(__sparc__) || defined(__sparc64__)
++ RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock);
++#else
+ RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock);
++#endif
+ ret = xf86AddResToList(ret, &range, -1);
+ return ret;
+ }
+@@ -175,7 +187,11 @@
+ ret = xf86AddResToList(ret, &range, -1);
+ RANGE(range, 0x00000000, 0x00000000, ResExcIoBlock);
+ ret = xf86AddResToList(ret, &range, -1);
++#if defined(__sparc__) || defined(__sparc64__)
++ RANGE(range, 0x00ffffff, 0x00ffffff, ResExcIoBlock);
++#else
+ RANGE(range, 0x0000ffff, 0x0000ffff, ResExcIoBlock);
++#endif
+ ret = xf86AddResToList(ret, &range, -1);
+
+ return ret;
diff --git a/x11-servers/xorg-server/scripts/configure b/x11-servers/xorg-server/scripts/configure
index 84cf7bd2a731..9d13bf718a84 100644
--- a/x11-servers/xorg-server/scripts/configure
+++ b/x11-servers/xorg-server/scripts/configure
@@ -29,6 +29,10 @@ echo "#define DriverManSuffix 4x" >> $LOCALDEF
echo "#define MiscManDir \$(MANSOURCEPATH)7" >> $LOCALDEF
echo "#define MiscManSuffix 7x" >> $LOCALDEF
+if [ X$OLD_KEYBOARD = XYES ]; then
+ echo "#define UseDeprecatedKeyboardDriver YES" >> $LOCALDEF
+fi
+
if [ X$WITH_DEBUG != X ]; then
export CFLAGS="-g $CFLAGS"
echo "#define InstPgmFlags" >> $LOCALDEF