diff options
author | lesi <lesi@FreeBSD.org> | 2005-05-18 07:37:59 +0800 |
---|---|---|
committer | lesi <lesi@FreeBSD.org> | 2005-05-18 07:37:59 +0800 |
commit | dbf3ecda5c987333018dbe87836c207b40349c0e (patch) | |
tree | 433994dda8d7b9543b5af4e1085f691026cbe1df | |
parent | 4d4dddc23b7cbe51423eaa490e5377e980dc0d84 (diff) | |
download | freebsd-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/Makefile | 7 | ||||
-rw-r--r-- | x11-servers/xorg-server/files/patch-bsdResource.c | 68 | ||||
-rw-r--r-- | x11-servers/xorg-server/scripts/configure | 4 |
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 |