6983602 Xorg 1.9 integration [PSARC/2011/008]
authorAlan Coopersmith <Alan.Coopersmith@Oracle.COM>
Mon, 14 Mar 2011 15:37:30 -0700
changeset 1088 1c99106ccbe0
parent 1087 a8aa060182e1
child 1089 590b35f0ad83
6983602 Xorg 1.9 integration [PSARC/2011/008]
exception_lists/packaging
open-src/common/Makefile.inc
open-src/common/pkg-manifest-generate.pl
open-src/driver/Makefile
open-src/driver/xf86-input-synaptics/Makefile
open-src/driver/xf86-video-mach64/Makefile
open-src/driver/xf86-video-mga/Makefile
open-src/driver/xf86-video-nv/Makefile
open-src/driver/xf86-video-openchrome/Makefile
open-src/driver/xf86-video-r128/Makefile
open-src/driver/xf86-video-radeonhd/Makefile
open-src/driver/xf86-video-wsfb/Makefile
open-src/driver/xf86-video-wsfb/solaris-port.patch
open-src/proto/Makefile
open-src/proto/fontcacheproto/Makefile
open-src/proto/xf86bigfontproto/Makefile
open-src/xserver/Makefile.inc
open-src/xserver/xorg/6406044.patch
open-src/xserver/xorg/6535006.patch
open-src/xserver/xorg/6721634.patch
open-src/xserver/xorg/6906694.patch
open-src/xserver/xorg/6912996.patch
open-src/xserver/xorg/6942816.patch
open-src/xserver/xorg/6949754.patch
open-src/xserver/xorg/90-zap.conf
open-src/xserver/xorg/COPYING
open-src/xserver/xorg/COPYING.tsol
open-src/xserver/xorg/CreateNewResourceType.patch
open-src/xserver/xorg/IA.patch
open-src/xserver/xorg/Makefile
open-src/xserver/xorg/amd64-loader-path.patch
open-src/xserver/xorg/autoconfig.patch
open-src/xserver/xorg/autoconfig2.patch
open-src/xserver/xorg/autodetect-kernel-dev-fb.patch
open-src/xserver/xorg/cli-nobanner.patch
open-src/xserver/xorg/cli-nolock.patch
open-src/xserver/xorg/closedevice.patch
open-src/xserver/xorg/dixmods-deps.patch
open-src/xserver/xorg/dmx.patch
open-src/xserver/xorg/dtlogin-userinfo.patch
open-src/xserver/xorg/fbdevhw-path.patch
open-src/xserver/xorg/fontmod.patch
open-src/xserver/xorg/getifaddrs.patch
open-src/xserver/xorg/headers_64bit.patch
open-src/xserver/xorg/hotkey.patch
open-src/xserver/xorg/make_xkm_output_dir.patch
open-src/xserver/xorg/mousekeys.patch
open-src/xserver/xorg/nvidia-autoconfig.patch
open-src/xserver/xorg/patch-list
open-src/xserver/xorg/record-regset.patch
open-src/xserver/xorg/resource-names.patch
open-src/xserver/xorg/signal-handler.patch
open-src/xserver/xorg/sparc-initvisuals.patch
open-src/xserver/xorg/sparc-nopciprobe.patch
open-src/xserver/xorg/sparc-probe.patch
open-src/xserver/xorg/sun-manpage.patch
open-src/xserver/xorg/sun-paths.patch
open-src/xserver/xorg/sun-src/IA/interactive.c
open-src/xserver/xorg/sun-src/os/dtlogin.c
open-src/xserver/xorg/sun-src/os/solaris/mdb/scripts/list_Xserver_servergrab_client
open-src/xserver/xorg/sun-src/tsol/Makefile.am
open-src/xserver/xorg/sun-src/tsol/tsol.h
open-src/xserver/xorg/sun-src/tsol/tsolextension.c
open-src/xserver/xorg/sun-src/tsol/tsolextension.h
open-src/xserver/xorg/sun-src/tsol/tsolinfo.h
open-src/xserver/xorg/sun-src/tsol/tsolpolicy.c
open-src/xserver/xorg/sun-src/tsol/tsolprotocol.c
open-src/xserver/xorg/sun-src/tsol/tsolutils.c
open-src/xserver/xorg/upstream-in-1.9-branch.patch
open-src/xserver/xorg/vbe-packing.patch
open-src/xserver/xorg/vt.patch
open-src/xserver/xorg/xtsol.patch
open-src/xserver/xvnc/Makefile
open-src/xserver/xvnc/README.txt
open-src/xserver/xvnc/port-to-1.9.patch
open-src/xserver/xvnc/solaris-port.patch
open-src/xserver/xvnc/tigervnc-xserver17.patch
open-src/xserver/xvnc/tigervnc-xserver18.patch
open-src/xserver/xvnc/upstream-port-to-1.8.patch
open-src/xserver/xvnc/upstream-xkbconvertcase.patch
open-src/xserver/xvnc/upstream-xorg-1.8-closeinput.patch
pkg/legacy/x11-server-xorg-driver-xorg-misc.mf
pkg/legacy/x11-server-xorg-driver-xorg-video-radeonhd.mf
pkg/legacy/x11-server-xorg-driver-xorg-video-savage.mf
pkg/legacy/x11-server-xorg-driver-xorg-video-wsfb.mf
pkg/manifests/x11-header-x11-protocols.mf
pkg/manifests/x11-server-xdmx.mf
pkg/manifests/x11-server-xorg-driver-xorg-input-vmmouse.mf
pkg/manifests/x11-server-xorg-driver-xorg-video-radeonhd.mf
pkg/manifests/x11-server-xorg-driver-xorg-video-wsfb.mf
pkg/manifests/x11-server-xorg-driver-xorg-video.mf
pkg/manifests/x11-server-xorg.mf
--- a/exception_lists/packaging	Wed Mar 09 16:02:37 2011 -0800
+++ b/exception_lists/packaging	Mon Mar 14 15:37:30 2011 -0700
@@ -50,6 +50,9 @@
 usr/share/doc/X11/MAINTAINERS
 usr/share/doc/libXi/doc
 
+# Extra unused copy currently delivered by xorg-server, should go away in 1.10
+usr/share/doc/X11/xorg.css
+
 # Obsolete man pages
 usr/share/man/man5/Consortium.5
 usr/share/man/man5/XProjectTeam.5
@@ -71,3 +74,5 @@
 usr/include/xcb/xselinux.h
 usr/share/xcb/xselinux.xml
 
+# Don't install until we move off HAL .fdi file for synaptics
+usr/share/X11/xorg.conf.d/50-synaptics.conf	i386
--- a/open-src/common/Makefile.inc	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/common/Makefile.inc	Mon Mar 14 15:37:30 2011 -0700
@@ -218,7 +218,7 @@
 # TARBALL_ARCHIVE is now set in Makefile.options
 ARCHIVE_URL=$(TARBALL_ARCHIVE)/$(SOURCE_TARBALL_DIR)/$(SOURCE_TARBALL_NAME)
 
-GIT_CLONE_DIR=$(MODULE_NAME)-$(MODULE_VERSION)
+GIT_CLONE_DIR=$(MODULE_NAME)-git
 
 # Download if SOURCE_TARBALL_NAME is not set to NONE and the file either
 # doesn't exist or is empty
@@ -311,6 +311,36 @@
 	    fi ; \
 	fi
 
+# Create a local git repo from tarball and patches, to ease generating
+# patches for submission to upstream git or rebasing to new tarballs
+git-import:
+	mkdir $(GIT_CLONE_DIR)
+	cd $(GIT_CLONE_DIR) && git init
+	$(MAKE) BUILD_DIR="$(GIT_CLONE_DIR)" SOURCE_DIR="$(GIT_CLONE_DIR)" \
+		ADD_TAR_FLAGS="--strip-components=1" init_source
+	cd $(GIT_CLONE_DIR) && git add . && \
+		git commit -a -m 'Initialized from $(SOURCE_TARBALL_NAME)' \
+		&& git tag '$(MODULE_NAME)-$(MODULE_VERSION)'
+	@for f in $(SOURCE_PATCHES) ; do \
+	    p=$${f%,*} ; \
+	    print '=================' $$p ; \
+	    if head -n 1 $$p | \
+	       ggrep -Eq '^From .* Mon Sep 17 00:00:00 2001' ; then \
+		(cd $(GIT_CLONE_DIR) ; $(START_CMD_ECHO) ; git am $(PWD)/$$p) ; \
+	    else \
+		rm -f $(GIT_CLONE_DIR)/$(PATCHED_TARGET_FILE) ; \
+		$(MAKE) SOURCE_PATCHES="$$f" BUILD_DIR="$(GIT_CLONE_DIR)" \
+			SOURCE_DIR="$(GIT_CLONE_DIR)" patched_source ; \
+		printf '%s\n\n' "$${p%.patch}" > git.comments ; \
+	    	gawk '/^--- /		{exit} \
+		      /^diff -u/	{exit} \
+		      {print}' $$p >> git.comments ; \
+		(cd $(GIT_CLONE_DIR) ; $(START_CMD_ECHO) ; \
+		 git commit -a --file=$(PWD)/git.comments ) ; \
+		rm git.comments ; \
+	   fi ; \
+	done
+
 
 ### Unpack source and apply patches
 
@@ -672,6 +702,7 @@
 		arch_64='$(ARCH64)' subdir_64='$(SUBDIR64)' \
 		proto_area='$(MANIFEST_DEST)' \
 		pkgfmt='$(PKGFMT)' \
+		version='__version:$(MODULE_NAME)__' \
 		> $(MANIFEST_TMP)
 	-rm -rf $(MANIFEST_DEST)
 
@@ -714,7 +745,7 @@
 	    gawk '/^--- /	{exit} \
 		  /^diff -u/	{exit} \
 			 	{print}' $$p > new/$$p ; \
-	    gdiff -urp -x '*~' -x '*.orig' ./prev ./tmp-regen \
+	    LC_COLLATE=C gdiff -Nurp -x '*~' -x '*.orig' ./prev ./tmp-regen \
 		| sed -e 's% \./prev/$(SOURCE_DIRNAME)/% %' -e 's% \./tmp-regen/$(SOURCE_DIRNAME)/% %' \
 		| grep -v '^Common subdirectories:' \
 		| grep -v '^Only in ' \
--- a/open-src/common/pkg-manifest-generate.pl	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/common/pkg-manifest-generate.pl	Mon Mar 14 15:37:30 2011 -0700
@@ -1,6 +1,6 @@
 #! /usr/perl5/bin/perl
 #
-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -115,8 +115,13 @@
   my $pkg_name = required_option ('pkg_name',
 				  'when not merging with existing manifest.');
 
+  my $pkg_vers = '$(PKGVERS)';
+  if (exists $options{'version'}) {
+    $pkg_vers = $options{'version'}->[0];
+  }
+
   push @manifest_header, join('', 'set name=pkg.fmri value=pkg:/',
-			      $pkg_name, '@$(PKGVERS)');
+			      $pkg_name, '@', $pkg_vers);
 
   push @manifest_header, 'set name=pkg.description ' .
     'value="XXX: Please provide a descriptive paragraph for the package."';
--- a/open-src/driver/Makefile	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/driver/Makefile	Mon Mar 14 15:37:30 2011 -0700
@@ -1,6 +1,6 @@
 # Makefile for X Consolidation Open Source Xorg driver modules
 #
-# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -31,8 +31,7 @@
 	xf86-video-ast			\
 	xf86-video-dummy		
 
-OS_SUBDIRS_sparc = $(OS_SUBDIRS_common)	\
-	xf86-video-wsfb
+OS_SUBDIRS_sparc = $(OS_SUBDIRS_common)
 
 OS_SUBDIRS_i386  = $(OS_SUBDIRS_common)	\
 	xf86-input-acecad		\
@@ -46,7 +45,6 @@
 	xf86-video-mga			\
 	xf86-video-nv			\
 	xf86-video-openchrome		\
-	xf86-video-radeonhd		\
 	xf86-video-r128			\
 	xf86-video-trident		\
 	xf86-video-vesa			\
@@ -81,6 +79,7 @@
 	xf86-video-i810			\
 	xf86-video-neomagic		\
 	xf86-video-nsc			\
+	xf86-video-radeonhd		\
 	xf86-video-rendition		\
 	xf86-video-s3			\
 	xf86-video-s3virge		\
@@ -91,7 +90,8 @@
 	xf86-video-tga			\
 	xf86-video-tseng		\
 	xf86-video-vga			\
-	xf86-video-via
+	xf86-video-via			\
+	xf86-video-wsfb
 
 PWD:sh=pwd
 TOP=$(PWD)/../..
--- a/open-src/driver/xf86-input-synaptics/Makefile	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/driver/xf86-input-synaptics/Makefile	Mon Mar 14 15:37:30 2011 -0700
@@ -2,7 +2,7 @@
 #
 # xf86-input-synaptics Makefile
 #
-# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -46,9 +46,19 @@
 # Libraries/modules to link with
 MODULE_LD_OPTIONS= -lm
 
-# Fix path for installing headers & HAL fdi file in proto area
-MODULE_INSTALL_MAKEFLAGS = sdkdir='$(XORG_SDK_INCLUDES_DIR)' \
-	fdidir=/etc/hal/fdi/policy/10osvendor
+# Extra install rules
+MODULE_ADD_INSTALL_TARGETS = install_fdi
+
+# Fix path for installing headers in proto area
+MODULE_INSTALL_MAKEFLAGS = sdkdir='$(XORG_SDK_INCLUDES_DIR)'
 
 include ../Makefile.inc
 
+FDI_DIR=$(PROTODIR)/etc/hal/fdi/policy/10osvendor
+
+$(FDI_DIR):
+	mkdir -p $(FDI_DIR)
+
+install_fdi: $(SOURCE_TARGETS) $(FDI_DIR)
+	$(INSTALL_SCRIPT) -m 0444 $(SOURCE_DIR)/conf/11-x11-synaptics.fdi \
+		$(FDI_DIR)/
--- a/open-src/driver/xf86-video-mach64/Makefile	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/driver/xf86-video-mach64/Makefile	Mon Mar 14 15:37:30 2011 -0700
@@ -1,8 +1,8 @@
 ###############################################################################
 #
-# xf86-video-mach64 1.x Makefile
+# xf86-video-mach64 Makefile
 #
-# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -52,7 +52,7 @@
 	-L$(PROTODIR)$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) \
 	-R$(X11_SERVERMODS_DIR)$(SERVERMOD_subdir) \
 	-R$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) \
-	-lexa -lint10 -lpciaccess -lfb -lshadowfb -lXfont -lvbe -lxaa
+	-lexa -lint10 -lpciaccess -lfb -lpixman-1 -lshadowfb -lXfont -lvbe -lxaa
 
 # Additional install rules beyond what upstream installs
 MODULE_ADD_INSTALL_TARGETS=install_docs
--- a/open-src/driver/xf86-video-mga/Makefile	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/driver/xf86-video-mga/Makefile	Mon Mar 14 15:37:30 2011 -0700
@@ -2,7 +2,7 @@
 #
 # xf86-video-mga Makefile
 #
-# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -52,7 +52,7 @@
 	-L$(PROTODIR)$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) \
 	-R$(X11_SERVERMODS_DIR)$(SERVERMOD_subdir) \
 	-R$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) \
-	-lexa -lfb -lint10 -lpciaccess -lshadowfb -lXfont -lvbe \
+	-lexa -lfb -lpixman-1 -lint10 -lpciaccess -lshadowfb -lXfont -lvbe \
 	-lvgahw -lxaa -lfbdevhw
 
 AUTORECONF=yes
--- a/open-src/driver/xf86-video-nv/Makefile	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/driver/xf86-video-nv/Makefile	Mon Mar 14 15:37:30 2011 -0700
@@ -2,7 +2,7 @@
 #
 # xf86-video-nv Makefile
 #
-# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -46,8 +46,8 @@
 MODULE_LD_OPTIONS= \
 	-L$(PROTODIR)$(X11_SERVERMODS_DIR)$(SERVERMOD_subdir) \
 	-R$(X11_SERVERMODS_DIR)$(SERVERMOD_subdir) \
-	-lexa -lfb -lint10 -lshadowfb -lXfont -lvbe -lvgahw -lxaa -lfbdevhw -lm \
-	-L$(PROTODIR)/usr/lib -lpciaccess
+	-lexa -lfb -lint10 -lshadowfb -lXfont -lvbe -lvgahw -lxaa -lfbdevhw \
+	-L$(PROTODIR)/usr/lib -lpciaccess -lpixman-1 -lm
 
 include ../Makefile.inc
 
--- a/open-src/driver/xf86-video-openchrome/Makefile	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/driver/xf86-video-openchrome/Makefile	Mon Mar 14 15:37:30 2011 -0700
@@ -2,7 +2,7 @@
 #
 # xf86-video-openchrome Makefile
 #
-# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -60,7 +60,7 @@
 	-L$(PROTODIR)$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) \
 	-R$(X11_SERVERMODS_DIR)$(SERVERMOD_subdir) \
 	-R$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) \
-	-lfb -lint10 -lpciaccess -lvbe \
+	-lfb -lint10 -lpciaccess -lpixman-1 -lvbe \
 	-lexa -lxaa -lvgahw -lshadowfb -lXfont -lm
 
 include ../Makefile.inc
--- a/open-src/driver/xf86-video-r128/Makefile	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/driver/xf86-video-r128/Makefile	Mon Mar 14 15:37:30 2011 -0700
@@ -1,8 +1,8 @@
 ###############################################################################
 #
-# xf86-video-r128 1.x Makefile
+# xf86-video-r128 Makefile
 #
-# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -54,7 +54,7 @@
 	-R$(X11_SERVERMODS_DIR)$(SERVERMOD_subdir) \
 	-R$(X11_SERVERMODS_DIR)/extensions$(SERVERMOD_subdir) \
 	-R$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) \
-	-lint10 -lpciaccess -lfb -lvbe -lxaa -lfbdevhw -lvgahw
+	-lint10 -lpciaccess -lfb -lpixman-1 -lvbe -lxaa -lfbdevhw -lvgahw
 
 # Additional install rules beyond what upstream installs
 MODULE_ADD_INSTALL_TARGETS=install_docs
--- a/open-src/driver/xf86-video-radeonhd/Makefile	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-###############################################################################
-#
-# xf86-video-radeonhd Makefile
-#
-# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-#
-#
-
-# Package name used in tarballs
-MODULE_NAME=xf86-video-radeonhd
-
-# Version number (used in path names)
-MODULE_VERSION=1.3.0
-
-# Checksums for upstream tarball
-TARBALL_MD5  = 7b6641aa9d836f1621b9b220ad6771b8
-TARBALL_SHA1 = 4cdcdbcdc6ec7cd4caa19afdbfc34a8bec461f56
-
-# Patches to apply to source after unpacking, in order
-SOURCE_PATCHES= 
-
-# Man pages to apply Sun footer to & attributes to list
-SUNTOUCHED_MANPAGES=man/*.man
-MODULE_STABILITY=Volatile
-
-MODULE_CPPFLAGS= -DXF86DRI
-
-# Libraries/modules to link with
-MODULE_LD_OPTIONS= \
-	-L$(PROTODIR)$(X11_SERVERMODS_DIR)$(SERVERMOD_subdir) \
-	-L$(PROTODIR)$(MESA_XSERVERMODS_DIR)/extensions$(SERVERMOD_subdir) \
-	-L$(PROTODIR)$(X11_SERVERMODS_DIR)/extensions$(SERVERMOD_subdir) \
-	-L$(PROTODIR)$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) \
-	-R$(X11_SERVERMODS_DIR)$(SERVERMOD_subdir) \
-	-R$(MESA_XSERVERMODS_DIR)/extensions$(SERVERMOD_subdir) \
-	-R$(X11_SERVERMODS_DIR)/extensions$(SERVERMOD_subdir) \
-	-R$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) \
-        -lfb -lshadow -lxaa -lexa -ldri -lglx
-
-# AtomBios code won't build with Sun compiler
-MODULE_COMPILER=gcc
-MODULE_COMPILER_SET=yes
-
-MODULE_ADD_SOURCE_TARGETS=clean_linefeeds
-
-include ../Makefile.inc
-
-# ATI's atombios code has ^M's at linefeeds which break Sun compilers
-clean_linefeeds: default_source
-	find $(BUILD_DIR) -type f -name '*.[ch]' | \
-		xargs $(PERL) -i -p -e 's{\r\n}{\n}g'
--- a/open-src/driver/xf86-video-wsfb/Makefile	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-###############################################################################
-#
-# xf86-video-wsfb Makefile
-#
-# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-#
-#
-
-# Package name used in tarballs
-MODULE_NAME=xf86-video-wsfb
-
-# Version number (used in path names)
-MODULE_VERSION=0.3.0
-
-# Checksums for upstream tarball
-TARBALL_MD5  = d6b5d25dfd61fa5113216d10a6dcbb50
-TARBALL_SHA1 = 62445e498189958dc8ad2ba2ccee048e6517fd01
-
-# Patches to apply to source after unpacking, in order
-SOURCE_PATCHES = \
-	solaris-port.patch
-
-
-# Man pages to apply Sun footer to & attributes to list
-SUNTOUCHED_MANPAGES=man/*.man
-MODULE_STABILITY=Volatile
-
-# Libraries/modules to link with
-MODULE_LD_OPTIONS= \
-	-L$(PROTODIR)$(X11_SERVERMODS_DIR)$(SERVERMOD_subdir) \
-        -L$(PROTODIR)$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) \
-	-R$(X11_SERVERMODS_DIR)$(SERVERMOD_subdir) \
-        -R$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) \
-	-lfb -lshadow
-
-include ../Makefile.inc
--- a/open-src/driver/xf86-video-wsfb/solaris-port.patch	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,324 +0,0 @@
-# Copyright (c) 2006, 2009, Oracle and/or its affiliates. All rights reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-# 
-
-diff -urp -x '*~' -x '*.orig' src/wsfb_driver.c src/wsfb_driver.c
---- src/wsfb_driver.c	2009-09-13 13:25:34.000000000 -0700
-+++ src/wsfb_driver.c	2009-11-25 09:37:03.238454000 -0800
-@@ -45,7 +45,25 @@
- #include <sys/types.h>
- #include <sys/mman.h>
- #include <sys/time.h>
--#include <dev/wscons/wsconsio.h>
-+#ifdef sun
-+# include <unistd.h>
-+# include <sys/fbio.h>
-+# include <sys/visual_io.h>
-+# define wsdisplay_fbinfo	fbtype
-+# define height			fb_height
-+# define width			fb_width
-+# define depth			fb_depth
-+# define cmsize			fb_cmsize
-+# define wsdisplay_cmap		fbcmap
-+# define WSDISPLAYIO_PUTCMAP	FBIOPUTCMAP
-+# define WSDISPLAYIO_GETCMAP	FBIOGETCMAP
-+# define WSDISPLAYIO_SVIDEO	FBIOSVIDEO
-+# define WSDISPLAYIO_VIDEO_ON	FBVIDEO_ON
-+# define WSDISPLAYIO_VIDEO_OFF	FBVIDEO_OFF
-+# include "xf86sbusBus.h"
-+#else
-+# include <dev/wscons/wsconsio.h>
-+#endif
- 
- /* All drivers need this. */
- #include "xf86.h"
-@@ -85,16 +103,18 @@ extern int priv_open_device(const char *
- 
- #if defined(__NetBSD__)
- #define WSFB_DEFAULT_DEV "/dev/ttyE0"
-+#elif defined(sun)
-+#define WSFB_DEFAULT_DEV "/dev/fb"
- #else
- #define WSFB_DEFAULT_DEV "/dev/ttyC0"
- #endif
- 
--#define DEBUG 0
-+#define DEBUG 1
- 
- #if DEBUG
--# define TRACE_ENTER(str)       ErrorF("wsfb: " str " %d\n",pScrn->scrnIndex)
--# define TRACE_EXIT(str)        ErrorF("wsfb: " str " done\n")
--# define TRACE(str)             ErrorF("wsfb trace: " str "\n")
-+# define TRACE_ENTER(str)       xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 4, "wsfb: " str " %d\n", pScrn->scrnIndex)
-+# define TRACE_EXIT(str)        xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 4, "wsfb: " str " done\n")
-+# define TRACE(str)             xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 4, "wsfb trace: " str "\n")
- #else
- # define TRACE_ENTER(str)
- # define TRACE_EXIT(str)
-@@ -212,7 +232,8 @@ WsfbSetup(pointer module, pointer opts, 
- 	/* Check that we're being loaded on a OpenBSD or NetBSD system. */
- 	LoaderGetOS(&osname, NULL, NULL, NULL);
- 	if (!osname || (strcmp(osname, "openbsd") != 0 &&
--	                strcmp(osname, "netbsd") != 0)) {
-+	                strcmp(osname, "netbsd") != 0 &&
-+	    		strcmp(osname, "solaris") != 0)) {
- 		if (errmaj)
- 			*errmaj = LDR_BADOS;
- 		if (errmin)
-@@ -337,7 +358,7 @@ wsfb_mmap(size_t len, off_t off, int fd)
- 		mapaddr = NULL;
- 	}
- #if DEBUG
--	ErrorF("mmap returns: addr %p len 0x%x\n", mapaddr, mapsize);
-+	xf86DrvMsgVerb(-1, X_INFO, 4, "wsfb: mmap returns: addr %p len 0x%x pagesize 0x%x\n", mapaddr, mapsize);
- #endif
- 	return mapaddr;
- }
-@@ -350,13 +371,50 @@ WsfbProbe(DriverPtr drv, int flags)
- 	int numDevSections;
- 	char *dev;
- 	Bool foundScreen = FALSE;
-+	ScrnInfoPtr pScrn = NULL;
-+		
-+	xf86DrvMsgVerb(-1, X_INFO, 4, "wsfb trace: probe start\n");
-+
-+#ifdef sun
-+	if (flags & PROBE_DETECT) {
-+	    GDevPtr *devSections;
-+	    int *usedChips;
-+
-+	    xf86DrvMsgVerb(-1, X_INFO, 4, "wsfb trace: PROBE_DETECT start\n");
-+	    if ((fd = wsfb_open(dev)) >= 0) {
-+		struct fbtype	fbtype;
-+		struct cg6_info         fbinfo;
-+
-+		if (ioctl(fd, FBIOGTYPE, &fbtype) == -1) {
-+		    xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-+			       "ioctl FBIOGTYPE: %s\n",
-+			       strerror(errno));
-+		    close(fd);
-+		    return FALSE;
-+		}
- 
--	TRACE("probe start");
-+		if (ioctl(fd, FBIOGXINFO, &fbinfo) == -1) {
-+		    xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-+			       "ioctl FBIOGTYPE: %s\n",
-+			       strerror(errno));
-+		    close(fd);
-+		    return FALSE;
-+		}
-+		xf86DrvMsgVerb(-1, X_INFO, 4,
-+			       "wsfb trace: PROBE_DETECT succeeded\n");
- 
-+		xf86MatchSbusInstances(WSFB_NAME, SBUS_DEVICE_UNK,
-+				       NULL, 0, drv, &usedChips);
-+		return TRUE;
-+	    } else 
-+		return FALSE;
-+	}
-+#else	
- 	/* For now, just bail out for PROBE_DETECT. */
- 	if (flags & PROBE_DETECT)
- 		return FALSE;
--
-+#endif
-+	
- 	if ((numDevSections = xf86MatchDevice(WSFB_DRIVER_NAME,
- 					      &devSections)) <= 0)
- 		return FALSE;
-@@ -390,7 +448,7 @@ WsfbProbe(DriverPtr drv, int flags)
- 		}
- 	}
- 	xfree(devSections);
--	TRACE("probe done");
-+	xf86DrvMsgVerb(-1, X_INFO, 4, "wsfb trace: probe done\n");
- 	return foundScreen;
- }
- 
-@@ -398,7 +456,11 @@ static Bool
- WsfbPreInit(ScrnInfoPtr pScrn, int flags)
- {
- 	WsfbPtr fPtr;
--	int default_depth, wstype;
-+#ifdef sun
-+	struct vis_identifier   visid; 
-+	struct cg6_info		fbinfo;
-+#endif		
-+	int default_depth, wstype;	
- 	char *dev, *s;
- 	char *mod = NULL;
- 	const char *reqSym = NULL;
-@@ -429,6 +491,34 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
- 		return FALSE;
- 	}
- 
-+#ifdef sun	
-+	if (ioctl(fPtr->fd, VIS_GETIDENTIFIER, &visid) == -1) {
-+		xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-+			   "ioctl VIS_GETIDENTIFIER: %s\n",
-+			   strerror(errno));
-+	} else {
-+		xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-+			   "frame buffer type: %s\n",
-+			   visid.name);
-+	}
-+
-+	if (ioctl(fPtr->fd, FBIOGTYPE, &fPtr->info) == -1) {
-+		xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-+			   "ioctl FBIOGTYPE: %s\n",
-+			   strerror(errno));
-+		return FALSE;
-+	}
-+	wstype = fPtr->info.fb_type;
-+
-+	if (ioctl(fPtr->fd, FBIOGXINFO, &fbinfo) == -1) {
-+		xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-+			   "ioctl FBIOGXINFO: %s\n",
-+			   strerror(errno));
-+		return FALSE;
-+	}
-+
-+	fPtr->linebytes = fbinfo.line_bytes;
-+#else
- 	if (ioctl(fPtr->fd, WSDISPLAYIO_GINFO, &fPtr->info) == -1) {
- 		xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
- 			   "ioctl WSDISPLAY_GINFO: %s\n",
-@@ -447,6 +537,8 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
- 			   strerror(errno));
- 		return FALSE;
- 	}
-+#endif
-+	
- 	/*
- 	 * Allocate room for saving the colormap.
- 	 */
-@@ -502,6 +594,7 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
- 	if (pScrn->depth > 8) {
- 		rgb zeros = { 0, 0, 0 }, masks;
- 
-+#ifndef sun		/* XXX - fixme */
- 		if (wstype == WSDISPLAY_TYPE_SUN24 ||
- 		    wstype == WSDISPLAY_TYPE_SUNCG12 ||
- 		    wstype == WSDISPLAY_TYPE_SUNCG14 ||
-@@ -510,7 +603,9 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
- 			masks.red = 0x0000ff;
- 			masks.green = 0x00ff00;
- 			masks.blue = 0xff0000;
--		} else {
-+		} else
-+#endif		    
-+		{
- 			masks.red = 0;
- 			masks.green = 0;
- 			masks.blue = 0;
-@@ -710,12 +805,16 @@ WsfbScreenInit(int scrnIndex, ScreenPtr 
- 	WsfbPtr fPtr = WSFBPTR(pScrn);
- 	VisualPtr visual;
- 	int ret, flags, ncolors;
-+#ifdef WSDISPLAYIO_SMODE
- 	int wsmode = WSDISPLAYIO_MODE_DUMBFB;
-+#endif
- 	size_t len;
- 
- 	TRACE_ENTER("WsfbScreenInit");
- #if DEBUG
--	ErrorF("\tbitsPerPixel=%d, depth=%d, defaultVisual=%s\n"
-+	xf86DrvMsgVerb
-+	      (pScrn->scrnIndex, X_INFO, 4,
-+	       "\tbitsPerPixel=%d, depth=%d, defaultVisual=%s\n"
- 	       "\tmask: %x,%x,%x, offset: %u,%u,%u\n",
- 	       pScrn->bitsPerPixel,
- 	       pScrn->depth,
-@@ -755,6 +854,7 @@ WsfbScreenInit(int scrnIndex, ScreenPtr 
- 			   "unsupported depth %d\n", fPtr->info.depth);
- 		return FALSE;
- 	}
-+#ifdef WSDISPLAYIO_SMODE
- 	/* Switch to graphics mode - required before mmap. */
- 	if (ioctl(fPtr->fd, WSDISPLAYIO_SMODE, &wsmode) == -1) {
- 		xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-@@ -762,6 +862,7 @@ WsfbScreenInit(int scrnIndex, ScreenPtr 
- 			   strerror(errno));
- 		return FALSE;
- 	}
-+#endif
- 	fPtr->fbmem = wsfb_mmap(len, 0, fPtr->fd);
- 
- 	if (fPtr->fbmem == NULL) {
-@@ -985,9 +1086,16 @@ WsfbWindowLinear(ScreenPtr pScreen, CARD
- 	if (fPtr->linebytes)
- 		*size = fPtr->linebytes;
- 	else {
-+#ifdef sun
-+		struct cg6_info		fbinfo;
-+		if (ioctl(fPtr->fd, FBIOGXINFO, &fbinfo) == -1)
-+		    return NULL;
-+		fPtr->linebytes = fbinfo.line_bytes;
-+#else		
- 		if (ioctl(fPtr->fd, WSDISPLAYIO_LINEBYTES, size) == -1)
- 			return NULL;
- 		fPtr->linebytes = *size;
-+#endif
- 	}
- 	return ((CARD8 *)fPtr->fbmem + row *fPtr->linebytes + offset);
- }
-@@ -1178,7 +1286,9 @@ static void
- WsfbRestore(ScrnInfoPtr pScrn)
- {
- 	WsfbPtr fPtr = WSFBPTR(pScrn);
-+#ifdef WSDISPLAYIO_SMODE
- 	int mode;
-+#endif
- 
- 	TRACE_ENTER("WsfbRestore");
- 
-@@ -1195,12 +1305,14 @@ WsfbRestore(ScrnInfoPtr pScrn)
- 	/* Clear the screen. */
- 	memset(fPtr->fbmem, 0, fPtr->fbmem_len);
- 
-+#ifdef WSDISPLAYIO_SMODE
- 	/* Restore the text mode. */
- 	mode = WSDISPLAYIO_MODE_EMUL;
- 	if (ioctl(fPtr->fd, WSDISPLAYIO_SMODE, &mode) == -1) {
- 		xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
- 			   "error setting text mode %s\n", strerror(errno));
- 	}
-+#endif	
- 	TRACE_EXIT("WsfbRestore");
- }
- 
-@@ -1309,9 +1421,15 @@ WsfbDGAAddModes(ScrnInfoPtr pScrn)
- 		if (fPtr->linebytes)
- 			pDGAMode->bytesPerScanline = fPtr->linebytes;
- 		else {
-+#ifdef sun
-+			struct cg6_info		fbinfo;
-+			ioctl(fPtr->fd, FBIOGXINFO, &fbinfo);
-+			pDGAMode->bytesPerScanline = fbinfo.line_bytes;
-+#else		
- 			ioctl(fPtr->fd, WSDISPLAYIO_LINEBYTES,
- 			      &fPtr->linebytes);
- 			pDGAMode->bytesPerScanline = fPtr->linebytes;
-+#endif
- 		}
- 
- 		pDGAMode->imageWidth = pMode->HDisplay;
--- a/open-src/proto/Makefile	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/proto/Makefile	Mon Mar 14 15:37:30 2011 -0700
@@ -1,6 +1,6 @@
 # Makefile for X Consolidation Open Source Protocol modules
 #
-# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -33,7 +33,6 @@
 	dri2proto		\
 	evieproto 		\
 	fixesproto 		\
-	fontcacheproto 		\
 	fontsproto 		\
 	glproto 		\
 	inputproto 		\
@@ -48,7 +47,6 @@
 	videoproto 		\
 	xcmiscproto 		\
 	xextproto 		\
-	xf86bigfontproto 	\
 	xf86dgaproto 		\
 	xf86driproto 		\
 	xf86miscproto 		\
@@ -62,8 +60,10 @@
 OS_SUBDIRS_i386 = $(OS_SUBDIRS_common)
 
 OBSOLETE_SUBDIRS = \
-	lg3dproto \
-	trapproto
+	lg3dproto 		\
+	fontcacheproto 		\
+	trapproto		\
+	xf86bigfontproto
 
 # Need to install to proto area by default for inter-package dependencies to
 # work right.
--- a/open-src/proto/fontcacheproto/Makefile	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-###############################################################################
-#
-# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-#
-#
-
-# Package name used in tarballs
-MODULE_NAME=fontcacheproto
-
-# Version number (used in path names)
-MODULE_VERSION=0.1.3
-
-# Checksums for upstream tarball
-TARBALL_MD5  = a8a50e5e995bfacb0359575faf7f6906
-TARBALL_SHA1 = 07f6ab3e1e1efe71c51f50e95851d93d2a1de773
-
-# Patches to apply to source after unpacking, in order
-SOURCE_PATCHES=	
-
-### Include common rulesets
-include ../Makefile.inc
--- a/open-src/proto/xf86bigfontproto/Makefile	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-###############################################################################
-#
-# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-#
-#
-
-# Package name used in tarballs
-MODULE_NAME=xf86bigfontproto
-
-# Version number (used in path names)
-MODULE_VERSION=1.2.0
-
-# Checksums for upstream tarball
-TARBALL_MD5  = 120e226ede5a4687b25dd357cc9b8efe
-TARBALL_SHA1 = 312a2ea708b257520c1af4393b69d73a393a478f
-
-# Patches to apply to source after unpacking, in order
-SOURCE_PATCHES=	
-
-### Include common rulesets
-include ../Makefile.inc
--- a/open-src/xserver/Makefile.inc	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/Makefile.inc	Mon Mar 14 15:37:30 2011 -0700
@@ -1,6 +1,6 @@
-# -*- Makefile -*- rules common to Xorg, Xvfb, Xvnc main build trees
+# -*- Makefile -*- rules common to all xserver build trees
 #
-# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -39,10 +39,10 @@
 include $(TOP)/open-src/common/Makefile.init
 
 # Xorg server source tarball to use sources from
-XORGSERVER_VERS=1.7.7
+XORGSERVER_VERS=1.9.4
 
-# Patches shared between Xephyr Xorg Xvfb Xvnc Xdmx builds
-XORG_SOURCE_PATCHES:sh=cat -s ../xorg/patch-list ../xorg/closed-src/patch-list | sed '/^\#/ d'
+# Patches shared between Xorg & Xvnc builds
+XORG_SOURCE_PATCHES:sh=sed '/^\#/ d' ../xorg/patch-list
 
 SERVER_MODULES_DIR='$(X11_SERVERMODS_DIR)$(SERVERMOD_subdir)'
 DRI_MODULES_DIR='$(X11_SERVERMODS_DIR)/dri$(SERVERMOD_subdir)'
--- a/open-src/xserver/xorg/6406044.patch	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-# Copyright (c) 2006, 2009, Oracle and/or its affiliates. All rights reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-Redo the patch for Xorg 1.5. The patch is helpful only for nv driver.
-
-diff -Nurp -x '*~' -x '*.orig' hw/xfree86/modes/xf86EdidModes.c hw/xfree86/modes/xf86EdidModes.c
-diff -urp -x '*~' -x '*.orig' hw/xfree86/modes/xf86EdidModes.c hw/xfree86/modes/xf86EdidModes.c
---- hw/xfree86/modes/xf86EdidModes.c	2009-11-26 21:40:35.000000000 -0800
-+++ hw/xfree86/modes/xf86EdidModes.c	2009-12-02 18:58:15.024979778 -0800
-@@ -948,6 +948,20 @@ xf86DDCGetModes(int scrnIndex, xf86MonPt
-                                              &det_mon->section.d_timings,
- 					     preferred,
- 					     quirks);
-+
-+	    if (Mode && (DDC->features.input_type == 0) &&
-+            	(((Mode->HDisplay * 5 / 4) & ~0x07) > Mode->HTotal)) {
-+		struct detailed_timings *dt = &DDC->det_mon[i].section.d_timings;
-+		DisplayModeRec *cvtmode;
-+
-+		cvtmode = xf86CVTMode(dt->h_active, dt->v_active,
-+                                (double) xf86ModeVRefresh(Mode), TRUE, FALSE);
-+		memcpy(Mode, cvtmode, sizeof(DisplayModeRec));
-+		Mode->type       = M_T_DRIVER;
-+    		if (preferred)
-+		    Mode->type |= M_T_PREFERRED;
-+	    }
-+		
- 	    preferred = FALSE;
-             break;
-         case DS_STD_TIMINGS:
--- a/open-src/xserver/xorg/6535006.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/6535006.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -1,7 +1,7 @@
-diff -urp -x '*~' -x '*.orig' hw/xfree86/common/xf86Mode.c hw/xfree86/common/xf86Mode.c
---- hw/xfree86/common/xf86Mode.c	2009-12-02 18:58:15.014804225 -0800
-+++ hw/xfree86/common/xf86Mode.c	2009-12-02 18:58:16.870675175 -0800
-@@ -1397,7 +1397,45 @@ xf86ValidateModes(ScrnInfoPtr scrp, Disp
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/common/xf86Mode.c hw/xfree86/common/xf86Mode.c
+--- hw/xfree86/common/xf86Mode.c	2010-09-03 16:45:23.099750744 -0700
++++ hw/xfree86/common/xf86Mode.c	2010-09-03 16:45:25.275951707 -0700
+@@ -1563,7 +1563,45 @@ xf86ValidateModes(ScrnInfoPtr scrp, Disp
  	virtX = virtualX;
  	virtY = virtualY;
  	scrp->virtualFrom = X_CONFIG;
@@ -48,7 +48,7 @@
  	/* No virtual size given in the config, try to infer */
  	/* XXX this doesn't take m{in,ax}Pitch into account; oh well */
  	inferred_virtual = inferVirtualSize(scrp, availModes, &virtX, &virtY);
-@@ -1462,12 +1500,7 @@ xf86ValidateModes(ScrnInfoPtr scrp, Disp
+@@ -1628,12 +1666,7 @@ xf86ValidateModes(ScrnInfoPtr scrp, Disp
  	xf86DeleteMode(&scrp->modes, scrp->modes);
      endp = &scrp->modes;
      last = NULL;
--- a/open-src/xserver/xorg/6721634.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/6721634.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -18,9 +18,9 @@
 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 # DEALINGS IN THE SOFTWARE.
-diff -urp -x '*~' -x '*.orig' hw/xfree86/common/xf86AutoConfig.c hw/xfree86/common/xf86AutoConfig.c
---- hw/xfree86/common/xf86AutoConfig.c	2009-10-08 21:08:28.000000000 -0700
-+++ hw/xfree86/common/xf86AutoConfig.c	2009-11-03 22:29:14.137406985 -0800
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/common/xf86AutoConfig.c hw/xfree86/common/xf86AutoConfig.c
+--- hw/xfree86/common/xf86AutoConfig.c	2010-06-10 07:07:55.000000000 -0700
++++ hw/xfree86/common/xf86AutoConfig.c	2010-09-03 16:45:29.769441097 -0700
 @@ -59,6 +59,18 @@
  	"\tIdentifier\t" BUILTIN_DEVICE_NAME "\n" \
  	"\tDriver\t\"%s\"\n"
@@ -54,7 +54,7 @@
  #define BUILTIN_SCREEN_NAME \
  	"\"Builtin Default %s Screen %d\""
  
-@@ -247,6 +266,14 @@ xf86AutoConfig(void)
+@@ -151,6 +170,14 @@ xf86AutoConfig(void)
      listPossibleVideoDrivers(deviceList, 20);
  
      for (p = deviceList; *p; p++) {
--- a/open-src/xserver/xorg/6906694.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/6906694.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -1,6 +1,7 @@
---- exa/exa_render.c	Wed Jan  6 12:31:27 2010
-+++ exa/exa_render.c	Wed Jan  6 12:32:59 2010
-@@ -903,8 +903,9 @@
+diff -Nurp -x '*~' -x '*.orig' exa/exa_render.c exa/exa_render.c
+--- exa/exa_render.c	2010-06-06 10:53:51.000000000 -0700
++++ exa/exa_render.c	2010-09-03 16:45:42.134444609 -0700
+@@ -902,8 +902,9 @@ exaComposite(CARD8	op,
      Bool saveMaskRepeat = pMask ? pMask->repeat : 0;
      RegionRec region;
  
--- a/open-src/xserver/xorg/6912996.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/6912996.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -1,12 +1,13 @@
---- exa/exa.c	Tue Jan 12 15:07:10 2010
-+++ exa/exa.c	Tue Jan 12 15:10:44 2010
-@@ -64,7 +64,11 @@
+diff -Nurp -x '*~' -x '*.orig' exa/exa.c exa/exa.c
+--- exa/exa.c	2010-07-14 13:23:17.000000000 -0700
++++ exa/exa.c	2010-09-03 16:45:44.147202216 -0700
+@@ -61,7 +61,11 @@ exaGetPixmapOffset(PixmapPtr pPix)
      ExaScreenPriv (pPix->drawable.pScreen);
      ExaPixmapPriv (pPix);
  
 -    return (CARD8 *)pExaPixmap->fb_ptr - pExaScr->info->memoryBase;
 +    /* added in as a fix for 6912996 */
-+    if (pExaPixmap->offscreen && pExaPixmap->fb_ptr)
++    if (exaPixmapHasGpuCopy(pExaPixmap) && pExaPixmap->fb_ptr)
 +	return (CARD8 *)pExaPixmap->fb_ptr - pExaScr->info->memoryBase;
 +    else
 +	return (CARD8 *)pExaPixmap->sys_ptr - pExaScr->info->memoryBase;
--- a/open-src/xserver/xorg/6942816.patch	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-diff -urp -x '*~' -x '*.orig' hw/xfree86/os-support/solaris/sun_init.c hw/xfree86/os-support/solaris/sun_init.c
---- hw/xfree86/os-support/solaris/sun_init.c	2010-04-15 14:27:02.090461037 +0800
-+++ hw/xfree86/os-support/solaris/sun_init.c	2010-04-15 14:27:04.834098942 +0800
-@@ -33,11 +33,24 @@
- # include <sys/kd.h>
- #endif
- 
-+/*
-+ * Applications see VT number as consecutive integers starting from 1.
-+ * VT number			VT device
-+ * -------------------------------------------------------
-+ *     1             :          /dev/vt/0 (Alt + Ctrl + F1)
-+ *     2             :          /dev/vt/2 (Alt + Ctrl + F2)
-+ *     3             :          /dev/vt/3 (Alt + Ctrl + F3)
-+ *  ... ...
-+ */
-+#define	CONSOLE_VTNO	1
-+#define	SOL_CONSOLE_DEV	"/dev/console"
-+
- /* For use of VT_SETDISPLOGIN in dtlogin.c */
- extern int xf86ConsoleFd;
- 
- static Bool KeepTty = FALSE;
- static Bool Protect0 = FALSE;
-+static Bool UseConsole = FALSE;
- #ifdef HAS_USL_VTS
- static int VTnum = -1;
- static int xf86StartVT = -1;
-@@ -96,7 +109,6 @@ xf86OpenConsole(void)
- 	}
- 
- #ifdef HAS_USL_VTS
--
- 	/*
- 	 * Setup the virtual terminal manager
- 	 */
-@@ -115,8 +127,30 @@ xf86OpenConsole(void)
- 		vtEnabled = 0;
- 	    }
- 	}
-+#endif /*  HAS_USL_VTS */
- 
-+	if (UseConsole)
-+	{
-+	    strlcpy(consoleDev, SOL_CONSOLE_DEV, sizeof(consoleDev));
-+
-+#ifdef HAS_USL_VTS
-+	    xf86Info.vtno = CONSOLE_VTNO;
- 
-+	    if (vtEnabled == 0)
-+	    {
-+		xf86StartVT = 0;
-+	    }
-+	    else
-+	    {
-+		if (ioctl(fd, VT_GETSTATE, &vtinfo) < 0)
-+		    FatalError("xf86OpenConsole: Cannot determine current VT\n");
-+		xf86StartVT = vtinfo.v_active;
-+	    }
-+#endif /*  HAS_USL_VTS */
-+	    goto OPENCONSOLE;
-+	}
-+		
-+#ifdef HAS_USL_VTS
- 	if (vtEnabled == 0)
- 	{
- 	    /* VT not enabled - kernel too old or Sparc platforms
-@@ -126,32 +160,31 @@ xf86OpenConsole(void)
- 	    xf86StartVT = 0;
- 	    xf86Info.vtno = 0;
- 	    strlcpy(consoleDev, xf86SolarisFbDev, sizeof(consoleDev));
-+	    goto OPENCONSOLE;
- 	}
--	else
--	{
--	    if (ioctl(fd, VT_GETSTATE, &vtinfo) < 0)
--		FatalError("xf86OpenConsole: Cannot determine current VT\n");
- 
--	    xf86StartVT = vtinfo.v_active;
-+	if (ioctl(fd, VT_GETSTATE, &vtinfo) < 0)
-+	    FatalError("xf86OpenConsole: Cannot determine current VT\n");
- 
--	    if (VTnum != -1)
--	    {
--		xf86Info.vtno = VTnum;
--		from = X_CMDLINE;
--	    }
--	    else
-+	xf86StartVT = vtinfo.v_active;
-+
-+	if (VTnum != -1)
-+	{
-+	    xf86Info.vtno = VTnum;
-+	    from = X_CMDLINE;
-+	}
-+	else
-+	{
-+	    if ((ioctl(fd, VT_OPENQRY, &xf86Info.vtno) < 0) ||
-+		(xf86Info.vtno == -1))
- 	    {
--		if ((ioctl(fd, VT_OPENQRY, &xf86Info.vtno) < 0) ||
--		    (xf86Info.vtno == -1))
--		{
--		    FatalError("xf86OpenConsole: Cannot find a free VT\n");
--		}
-+		FatalError("xf86OpenConsole: Cannot find a free VT\n");
- 	    }
--
--	    xf86Msg(from, "using VT number %d\n\n", xf86Info.vtno);
--	    snprintf(consoleDev, PATH_MAX, "/dev/vt/%d", xf86Info.vtno);
- 	}
- 
-+	xf86Msg(from, "using VT number %d\n\n", xf86Info.vtno);
-+	snprintf(consoleDev, PATH_MAX, "/dev/vt/%d", xf86Info.vtno);
-+
- 	if (fd != -1)
- 	{
- 	    close(fd);
-@@ -159,6 +192,7 @@ xf86OpenConsole(void)
- 
- #endif /* HAS_USL_VTS */
- 
-+OPENCONSOLE:
- 	if (!KeepTty)
- 	    setpgrp();
- 
-@@ -166,11 +200,10 @@ xf86OpenConsole(void)
- 	    FatalError("xf86OpenConsole: Cannot open %s (%s)\n",
- 		       consoleDev, strerror(errno));
- 
--#ifdef HAS_USL_VTS
--
--	/* Change ownership of the vt */
-+	/* Change ownership of the vt or console */
- 	chown(consoleDev, getuid(), getgid());
- 
-+#ifdef HAS_USL_VTS
- 	if (vtEnabled)
- 	{
- 	    /*
-@@ -182,6 +215,11 @@ xf86OpenConsole(void)
- 	    if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno) != 0)
- 		xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed\n");
- 
-+	    if (strcmp(display, "0") == 0)
-+		if (ioctl(xf86Info.consoleFd, VT_SET_CONSUSER) != 0)
-+		    xf86Msg(X_WARNING,
-+			"xf86OpenConsole: VT_SET_CONSUSER failed\n");
-+
- 	    if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) < 0)
- 		FatalError("xf86OpenConsole: VT_GETMODE failed\n");
- 
-@@ -225,6 +263,11 @@ xf86OpenConsole(void)
- 	    if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno) != 0)
- 		xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed\n");
- 
-+	    if (strcmp(display, "0") == 0)
-+		if (ioctl(xf86Info.consoleFd, VT_SET_CONSUSER) != 0)
-+		    xf86Msg(X_WARNING,
-+			"xf86OpenConsole: VT_SET_CONSUSER failed\n");
-+
- 	    /*
- 	     * If the server doesn't have the VT when the reset occurs,
- 	     * this is to make sure we don't continue until the activate
-@@ -335,6 +378,15 @@ xf86ProcessArgument(int argc, char **arg
- 	return 1;
-     }
- 
-+    /*
-+     * Use /dev/console as the console device.
-+     */  
-+    if (!strcmp(argv[i], "-C"))
-+    {
-+	UseConsole = TRUE;
-+	return 1;
-+    }
-+
- #ifdef HAS_USL_VTS
- 
-     if ((argv[i][0] == 'v') && (argv[i][1] == 't'))
-@@ -369,4 +421,5 @@ void xf86UseMsg()
-     ErrorF("-dev <fb>              Framebuffer device\n");
-     ErrorF("-keeptty               Don't detach controlling tty\n");
-     ErrorF("                       (for debugging only)\n");
-+    ErrorF("-C                     Use /dev/console as the console device\n");
- }
--- a/open-src/xserver/xorg/6949754.patch	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-# Copyright (c) 2010, Oracle and/or its affiliates.  All rights reserved.
-# Use is subject to license terms.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, and/or sell copies of the Software, and to permit persons
-# to whom the Software is furnished to do so, provided that the above
-# copyright notice(s) and this permission notice appear in all copies of
-# the Software and that both the above copyright notice(s) and this
-# permission notice appear in supporting documentation.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
-# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
-# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
-# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
-# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-#
-# Except as contained in this notice, the name of a copyright holder
-# shall not be used in advertising or otherwise to promote the sale, use
-# or other dealings in this Software without prior written authorization
-# of the copyright holder.
-
---- Xext/security.c	Wed May 19 15:28:39 2010
-+++ Xext/security.c.new	Thu May 20 11:15:51 2010
-@@ -815,7 +815,6 @@
-     Mask allowed = SecurityResourceMask;
- 
-     subj = dixLookupPrivate(&rec->client->devPrivates, stateKey);
--    obj = dixLookupPrivate(&clients[cid]->devPrivates, stateKey);
- 
-     /* disable background None for untrusted windows */
-     if ((requested & DixCreateAccess) && (rec->rtype == RT_WINDOW))
-@@ -840,10 +839,13 @@
- 	    /* allow read access to other server-owned resources */
- 	    allowed |= DixReadAccess;
-     }
-+    
-+    if (clients[cid] != NULL) {
-+    	obj = dixLookupPrivate(&clients[cid]->devPrivates, stateKey);
-+        if (SecurityDoCheck(subj, obj, requested, allowed) == Success)
-+		return;
-+    }
- 
--    if (SecurityDoCheck(subj, obj, requested, allowed) == Success)
--	return;
--
-     SecurityAudit("Security: denied client %d access %x to resource 0x%x "
- 		  "of client %d on request %s\n", rec->client->index,
- 		  requested, rec->id, cid,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/xserver/xorg/90-zap.conf	Mon Mar 14 15:37:30 2011 -0700
@@ -0,0 +1,14 @@
+# This configuration snippet enables the Ctrl-Alt-Backspace server kill key
+# 
+# To use it, link or copy into /etc/X11/xorg.conf.d/
+#
+# Note that only the last XkbOptions setting seen for a device will be used,
+# so to use multiple options, copy this file and add options into the Option
+# string, such as "terminate:ctrl_alt_bksp,ctrl:swapcaps"
+
+Section "InputClass"
+    Identifier "keyboard zap by default"
+    MatchIsKeyboard "on"
+
+    Option "XKbOptions" "terminate:ctrl_alt_bksp"
+EndSection
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/xserver/xorg/COPYING	Mon Mar 14 15:37:30 2011 -0700
@@ -0,0 +1,1849 @@
+The following is the 'standard copyright' agreed upon by most contributors,
+and is currently the canonical license preferred by the X.Org Foundation.
+This is a slight variant of the common MIT license form published by the
+Open Source Initiative at http://www.opensource.org/licenses/mit-license.php
+
+Copyright holders of new code should use this license statement where
+possible, and insert their name to this list.  Please sort by surname
+for people, and by the full name for other entities (e.g.  Juliusz
+Chroboczek sorts before Intel Corporation sorts before Daniel Stone).
+
+Copyright © 2000-2001 Juliusz Chroboczek
+Copyright © 2009 Julien Cristau
+Copyright © 1998 Egbert Eich
+Copyright © 2006-2007, 2010 Intel Corporation
+Copyright © 2006 Nokia Corporation
+Copyright © 2006-2008 Peter Hutterer
+Copyright © 2006 Adam Jackson
+Copyright © 2010 Francisco Jerez
+Copyright © 2009 NVIDIA Corporation
+Copyright © 1999 Keith Packard
+Copyright © 2007-2009 Red Hat, Inc.
+Copyright © 2010 Yaakov Selkowitz
+Copyright © 2005-2008 Daniel Stone
+Copyright © 2006-2009 Simon Thum
+Copyright © 1987, 2003-2006, 2008-2009, Oracle and/or its affiliates.
+Copyright © 2006 Luc Verhaegen
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+
+
+
+The following licenses are 'legacy': usually MIT/X11 licenses with the name
+of the copyright holder(s) in the license statement, but also some BSD-like
+licenses.
+
+
+Copyright (C) 1994-2003 The XFree86 Project, Inc.  All Rights Reserved.
+Copyright (C) Colin Harrison 2005-2008
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the XFree86 Project.
+
+
+Copyright 1997 by The XFree86 Project, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of the XFree86 Project, Inc.
+not be used in advertising or publicity pertaining to distribution of
+the software without specific, written prior permission.  The Xfree86
+Project, Inc. makes no representations about the suitability of this
+software for any purpose.  It is provided "as is" without express or
+implied warranty.
+
+THE XFREE86 PROJECT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD
+TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL OREST ZBOROWSKI OR DAVID WEXELBLAT BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1985-1998, 2001  The Open Group
+Copyright 2002 Red Hat Inc., Durham, North Carolina.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright (c) 1987, 1989-1990, 1992-1995  X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the X Consortium.
+
+
+Copyright © 1999-2000 SuSE, Inc.
+Copyright © 2007 Red Hat, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of SuSE not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission.  SuSE makes no representations about the
+suitability of this software for any purpose.  It is provided "as is"
+without express or implied warranty.
+
+SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
+BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1987-1991, 1993 by Digital Equipment Corporation, Maynard, Massachusetts.
+Copyright 1991 Massachusetts Institute of Technology, Cambridge, Massachusetts.
+Copyright 1991, 1993 Olivetti Research Limited, Cambridge, England.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
+Copyright 1994 Quarterdeck Office Systems.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Digital and
+Quarterdeck not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+DIGITAL AND QUARTERDECK DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT
+OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
+OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1997 Digital Equipment Corporation.
+All rights reserved.
+
+This software is furnished under license and may be used and copied only in
+accordance with the following terms and conditions.  Subject to these
+conditions, you may download, copy, install, use, modify and distribute
+this software in source and/or binary form. No title or ownership is
+transferred hereby.
+
+1) Any source code used, modified or distributed must reproduce and retain
+   this copyright notice and list of conditions as they appear in the
+   source file.
+
+2) No right is granted to use any trade name, trademark, or logo of Digital
+   Equipment Corporation. Neither the "Digital Equipment Corporation"
+   name nor any trademark or logo of Digital Equipment Corporation may be
+   used to endorse or promote products derived from this software without
+   the prior written permission of Digital Equipment Corporation.
+
+3) This software is provided "AS-IS" and any express or implied warranties,
+   including but not limited to, any implied warranties of merchantability,
+   fitness for a particular purpose, or non-infringement are disclaimed.
+   In no event shall DIGITAL be liable for any damages whatsoever, and in
+   particular, DIGITAL shall not be liable for special, indirect,
+   consequential, or incidental damages or damages for lost profits, loss
+   of revenue or loss of use, whether such damages arise in contract,
+   negligence, tort, under statute, in equity, at law or otherwise, even
+   if advised of the possibility of such damage.
+
+
+Copyright (c) 1991, 1996-1997 Digital Equipment Corporation, Maynard, Massachusetts.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
+BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Digital Equipment Corporation
+shall not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from Digital
+Equipment Corporation.
+
+
+SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
+Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice including the dates of first publication and
+either this permission notice or a reference to
+http://oss.sgi.com/projects/FreeB/
+shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+Copyright (c) 1994, 1995  Hewlett-Packard Company
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the Hewlett-Packard
+Company shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization from the Hewlett-Packard Company.
+
+
+Copyright 1989 by Hewlett-Packard Company, Palo Alto, California.
+All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Hewlett-Packard not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+
+Copyright 2001-2004 Red Hat Inc., Durham, North Carolina.
+Copyright (c) 2003 by the XFree86 Project, Inc.
+Copyright 2004-2005 Red Hat Inc., Raleigh, North Carolina.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation on the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of the Software,
+and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NON-INFRINGEMENT.  IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+Copyright © 2008 Red Hat, Inc.
+Partly based on code Copyright © 2000 SuSE, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without
+fee, provided that the above copyright notice appear in all copies
+and that both that copyright notice and this permission notice
+appear in supporting documentation, and that the name of Red Hat
+not be used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.  Red
+Hat makes no representations about the suitability of this software
+for any purpose.  It is provided "as is" without express or implied
+warranty.
+
+Red Hat DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
+NO EVENT SHALL Red Hat BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of SuSE not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission.  SuSE makes no representations about the
+suitability of this software for any purpose.  It is provided "as is"
+without express or implied warranty.
+
+SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
+BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright © 2006  Red Hat, Inc.
+(C) Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sub license,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+RED HAT, INC, OR PRECISION INSIGHT AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
+OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+Copyright (c) 1995  X Consortium
+Copyright 2004 Red Hat Inc., Durham, North Carolina.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation on the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of the Software,
+and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NON-INFRINGEMENT.  IN NO EVENT SHALL RED HAT, THE X CONSORTIUM,
+AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in this Software without prior written
+authorization from the X Consortium.
+
+
+Copyright 1998-2000 Precision Insight, Inc., Cedar Park, Texas.
+Copyright 2000 VA Linux Systems, Inc.
+Copyright (c) 2002, 2008, 2009 Apple Computer, Inc.
+Copyright (c) 2003-2004 Torrey T. Lyons.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+(C) Copyright IBM Corporation 2003
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+on the rights to use, copy, modify, merge, publish, distribute, sub
+license, and/or sell copies of the Software, and to permit persons to whom
+the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+(C) Copyright IBM Corporation 2004-2005
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sub license,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+IBM,
+AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+Copyright (c) 1997  Metro Link Incorporated
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+Except as contained in this notice, the name of the Metro Link shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from Metro Link.
+
+
+Copyright 1995-1998 by Metro Link, Inc.
+Copyright (c) 1997 Matthieu Herrb
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Metro Link, Inc. not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission.  Metro Link, Inc. makes no
+representations about the suitability of this software for any purpose.
+ It is provided "as is" without express or implied warranty.
+
+METRO LINK, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL METRO LINK, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1998 by Metro Link Incorporated
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Metro Link
+Incorporated not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.  Metro Link Incorporated makes no representations
+about the suitability of this software for any purpose.  It is
+provided "as is" without express or implied warranty.
+
+METRO LINK INCORPORATED DISCLAIMS ALL WARRANTIES WITH REGARD
+TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS, IN NO EVENT SHALL METRO LINK INCORPORATED BE
+LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
+DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+
+Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+CONECTIVA LINUX BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+Except as contained in this notice, the name of Conectiva Linux shall
+not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from
+Conectiva Linux.
+
+
+Copyright (c) 2001, Andy Ritger  [email protected]
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+o Redistributions of source code must retain the above copyright
+  notice, this list of conditions and the following disclaimer.
+o Redistributions in binary form must reproduce the above copyright
+  notice, this list of conditions and the following disclaimer
+  in the documentation and/or other materials provided with the
+  distribution.
+o Neither the name of NVIDIA nor the names of its contributors
+  may be used to endorse or promote products derived from this
+  software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
+NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+
+Copyright 1992 Vrije Universiteit, The Netherlands
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted, provided
+that the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of the Vrije Universiteit not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission.  The Vrije Universiteit makes no
+representations about the suitability of this software for any purpose.
+It is provided "as is" without express or implied warranty.
+
+The Vrije Universiteit DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL The Vrije Universiteit BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1998 by Concurrent Computer Corporation
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Concurrent Computer
+Corporation not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.  Concurrent Computer Corporation makes no representations
+about the suitability of this software for any purpose.  It is
+provided "as is" without express or implied warranty.
+
+CONCURRENT COMPUTER CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD
+TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS, IN NO EVENT SHALL CONCURRENT COMPUTER CORPORATION BE
+LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
+DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+
+Copyright © 2004 Nokia
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Nokia not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Nokia makes no
+representations about the suitability of this software for any purpose.  It
+is provided "as is" without express or implied warranty.
+
+NOKIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL NOKIA BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+(c)Copyright 1988,1991 Adobe Systems Incorporated.
+All rights reserved.
+
+Permission to use, copy, modify, distribute, and sublicense this software and its
+documentation for any purpose and without fee is hereby granted, provided that
+the above copyright notices appear in all copies and that both those copyright
+notices and this permission notice appear in supporting documentation and that
+the name of Adobe Systems Incorporated not be used in advertising or publicity
+pertaining to distribution of the software without specific, written prior
+permission.  No trademark license to use the Adobe trademarks is hereby
+granted.  If the Adobe trademark "Display PostScript"(tm) is used to describe
+this software, its functionality or for any other purpose, such use shall be
+limited to a statement that this software works in conjunction with the Display
+PostScript system.  Proper trademark attribution to reflect Adobe's ownership
+of the trademark shall be given whenever any such reference to the Display
+PostScript system is made.
+
+ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR ANY
+PURPOSE.  IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.  ADOBE
+DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-
+INFRINGEMENT OF THIRD PARTY RIGHTS.  IN NO EVENT SHALL ADOBE BE LIABLE TO YOU
+OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
+DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,NEGLIGENCE, STRICT
+LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.  ADOBE WILL NOT PROVIDE ANY TRAINING OR OTHER
+SUPPORT FOR THE SOFTWARE.
+
+Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+Incorporated which may be registered in certain jurisdictions.
+
+
+Copyright 1989 Network Computing Devices, Inc., Mountain View, California.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted, provided
+that the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of N.C.D. not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission.  N.C.D. makes no representations about the
+suitability of this software for any purpose.  It is provided "as is"
+without express or implied warranty.
+
+
+Copyright (c) 1987 by the Regents of the University of California
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies.  The University of California
+makes no representations about the suitability of this
+software for any purpose.  It is provided "as is" without
+express or implied warranty.
+
+
+Copyright 1992, 1993 Data General Corporation;
+Copyright 1992, 1993 OMRON Corporation
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that the
+above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and that
+neither the name OMRON or DATA GENERAL be used in advertising or publicity
+pertaining to distribution of the software without specific, written prior
+permission of the party whose name is to be used.  Neither OMRON or
+DATA GENERAL make any representation about the suitability of this software
+for any purpose.  It is provided "as is" without express or implied warranty.
+
+OMRON AND DATA GENERAL EACH DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
+IN NO EVENT SHALL OMRON OR DATA GENERAL BE LIABLE FOR ANY SPECIAL, INDIRECT
+OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+OF THIS SOFTWARE.
+
+
+Copyright © 1998-2004, 2006 Keith Packard
+Copyright © 2000-2002 Keith Packard, member of The XFree86 Project, Inc.
+Copyright (c) 2002 Apple Computer, Inc.
+Copyright (c) 2003 Torrey T. Lyons.
+All Rights Reserved.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Keith Packard not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission.  Keith Packard makes no
+representations about the suitability of this software for any purpose.  It
+is provided "as is" without express or implied warranty.
+
+KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright © 1999 Keith Packard
+Copyright © 2000 Compaq Computer Corporation
+Copyright © 2002 MontaVista Software Inc.
+Copyright © 2005 OpenedHand Ltd.
+Copyright © 2006 Nokia Corporation
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of the authors and/or copyright holders
+not be used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  The authors and/or
+copyright holders make no representations about the suitability of this
+software for any purpose.  It is provided "as is" without express or
+implied warranty.
+
+THE AUTHORS AND/OR COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD
+TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS, IN NO EVENT SHALL THE AUTHORS AND/OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1993 by Davor Matic
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.  Davor Matic makes no representations about
+the suitability of this software for any purpose.  It is provided "as
+is" without express or implied warranty.
+
+
+Copyright (C) 2001-2004 Harold L Hunt II All Rights Reserved.
+Copyright (C) Colin Harrison 2005-2008
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL HAROLD L HUNT II BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Harold L Hunt II
+shall not be used in advertising or otherwise to promote the sale, use
+or other dealings in this Software without prior written authorization
+from Harold L Hunt II.
+
+
+Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Thomas Roell not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission.  Thomas Roell makes no representations
+about the suitability of this software for any purpose.  It is provided
+"as is" without express or implied warranty.
+
+THOMAS ROELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL THOMAS ROELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany
+Copyright 1993 by David Wexelblat <[email protected]>
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the names of Thomas Roell and David Wexelblat
+not be used in advertising or publicity pertaining to distribution of
+the software without specific, written prior permission.  Thomas Roell and
+David Wexelblat makes no representations about the suitability of this
+software for any purpose.  It is provided "as is" without express or
+implied warranty.
+
+THOMAS ROELL AND DAVID WEXELBLAT DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL THOMAS ROELL OR DAVID WEXELBLAT BE LIABLE FOR
+ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1990,91,92,93 by Thomas Roell, Germany.
+Copyright 1991,92,93    by SGCS (Snitily Graphics Consulting Services), USA.
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and
+that both that copyright notice and this  permission notice appear
+in supporting documentation, and that the name of Thomas Roell nor
+SGCS be used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+Thomas Roell nor SGCS makes no representations about the suitability
+of this software for any purpose. It is provided "as is" without
+express or implied warranty.
+
+THOMAS ROELL AND SGCS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL THOMAS ROELL OR SGCS BE LIABLE FOR ANY
+SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1998 by Alan Hourihane, Wigan, England.
+Copyright 2000-2002 by Alan Hourihane, Flint Mountain, North Wales.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Alan Hourihane not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission.  Alan Hourihane makes no representations
+about the suitability of this software for any purpose.  It is provided
+"as is" without express or implied warranty.
+
+ALAN HOURIHANE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL ALAN HOURIHANE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1995  Kaleb S. KEITHLEY
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL Kaleb S. KEITHLEY BE LIABLE FOR ANY CLAIM, DAMAGES
+OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Kaleb S. KEITHLEY
+shall not be used in advertising or otherwise to promote the sale, use
+or other dealings in this Software without prior written authorization
+from Kaleb S. KEITHLEY
+
+
+Copyright (c) 1997 Matthieu Herrb
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Matthieu Herrb not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission.  Matthieu Herrb makes no
+representations about the suitability of this software for any purpose.
+ It is provided "as is" without express or implied warranty.
+
+MATTHIEU HERRB DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL MATTHIEU HERRB BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 2004, Egbert Eich
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+EGBERT EICH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
+NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Egbert Eich shall not
+be used in advertising or otherwise to promote the sale, use or other deal-
+ings in this Software without prior written authorization from Egbert Eich.
+
+
+Copyright 1993 by David Wexelblat <[email protected]>
+Copyright 2005 by Kean Johnston <[email protected]>
+Copyright 1993 by David McCullough <[email protected]>
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of David Wexelblat not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission.  David Wexelblat makes no representations
+about the suitability of this software for any purpose.  It is provided
+"as is" without express or implied warranty.
+
+DAVID WEXELBLAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL DAVID WEXELBLAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1992 by Orest Zborowski <[email protected]>
+Copyright 1993 by David Wexelblat <[email protected]>
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the names of Orest Zborowski and David Wexelblat
+not be used in advertising or publicity pertaining to distribution of
+the software without specific, written prior permission.  Orest Zborowski
+and David Wexelblat make no representations about the suitability of this
+software for any purpose.  It is provided "as is" without express or
+implied warranty.
+
+OREST ZBOROWSKI AND DAVID WEXELBLAT DISCLAIMS ALL WARRANTIES WITH REGARD
+TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL OREST ZBOROWSKI OR DAVID WEXELBLAT BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1992 by Orest Zborowski <[email protected]>
+Copyright 1993 by David Dawes <[email protected]>
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the names of Orest Zborowski and David Dawes
+not be used in advertising or publicity pertaining to distribution of
+the software without specific, written prior permission.  Orest Zborowski
+and David Dawes make no representations about the suitability of this
+software for any purpose.  It is provided "as is" without express or
+implied warranty.
+
+OREST ZBOROWSKI AND DAVID DAWES DISCLAIMS ALL WARRANTIES WITH REGARD
+TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL OREST ZBOROWSKI OR DAVID DAWES BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1995-1999 by Frederic Lepied, France. <[email protected]>
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is  hereby granted without fee, provided that
+the  above copyright   notice appear  in   all  copies and  that both  that
+copyright  notice   and   this  permission   notice  appear  in  supporting
+documentation, and that   the  name of  Frederic   Lepied not  be  used  in
+advertising or publicity pertaining to distribution of the software without
+specific,  written      prior  permission.     Frederic  Lepied   makes  no
+representations about the suitability of this software for any purpose.  It
+is provided "as is" without express or implied warranty.
+
+FREDERIC  LEPIED DISCLAIMS ALL   WARRANTIES WITH REGARD  TO  THIS SOFTWARE,
+INCLUDING ALL IMPLIED   WARRANTIES OF MERCHANTABILITY  AND   FITNESS, IN NO
+EVENT  SHALL FREDERIC  LEPIED BE   LIABLE   FOR ANY  SPECIAL, INDIRECT   OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA  OR PROFITS, WHETHER  IN  AN ACTION OF  CONTRACT,  NEGLIGENCE OR OTHER
+TORTIOUS  ACTION, ARISING    OUT OF OR   IN  CONNECTION  WITH THE USE    OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1992 by Rich Murphey <[email protected]>
+Copyright 1993 by David Wexelblat <[email protected]>
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the names of Rich Murphey and David Wexelblat
+not be used in advertising or publicity pertaining to distribution of
+the software without specific, written prior permission.  Rich Murphey and
+David Wexelblat make no representations about the suitability of this
+software for any purpose.  It is provided "as is" without express or
+implied warranty.
+
+RICH MURPHEY AND DAVID WEXELBLAT DISCLAIM ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL RICH MURPHEY OR DAVID WEXELBLAT BE LIABLE FOR
+ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1992 by Rich Murphey <[email protected]>
+Copyright 1993 by David Dawes <[email protected]>
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the names of Rich Murphey and David Dawes
+not be used in advertising or publicity pertaining to distribution of
+the software without specific, written prior permission.  Rich Murphey and
+David Dawes make no representations about the suitability of this
+software for any purpose.  It is provided "as is" without express or
+implied warranty.
+
+RICH MURPHEY AND DAVID DAWES DISCLAIM ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL RICH MURPHEY OR DAVID DAWES BE LIABLE FOR
+ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright © 2003-2004 Anders Carlsson
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Anders Carlsson not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission.  Anders Carlsson makes no
+representations about the suitability of this software for any purpose.  It
+is provided "as is" without express or implied warranty.
+
+ANDERS CARLSSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL ANDERS CARLSSON BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright (C) 2003 Anders Carlsson
+Copyright © 2003-2004 Eric Anholt
+Copyright © 2004 Keith Packard
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Eric Anholt not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission.  Eric Anholt makes no
+representations about the suitability of this software for any purpose.  It
+is provided "as is" without express or implied warranty.
+
+ERIC ANHOLT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL ERIC ANHOLT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright (c) 1998 Todd C. Miller <[email protected]>
+
+Permission to use, copy, modify, and distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL
+WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE
+FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright © 2003-2004 Philip Blundell
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Philip Blundell not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission.  Philip Blundell makes no
+representations about the suitability of this software for any purpose.  It
+is provided "as is" without express or implied warranty.
+
+PHILIP BLUNDELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL PHILIP BLUNDELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+
+Copyright (c) 1994-2003 by The XFree86 Project, Inc.
+Copyright 1997 by Metro Link, Inc.
+Copyright 2003 by David H. Dawes.
+Copyright 2003 by X-Oz Technologies.
+Copyright (c) 2004, X.Org Foundation
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the copyright holder(s)
+and author(s) shall not be used in advertising or otherwise to promote
+the sale, use or other dealings in this Software without prior written
+authorization from the copyright holder(s) and author(s).
+
+
+Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany
+Copyright 1993 by David Wexelblat <[email protected]>
+Copyright 1999 by David Holland <[email protected]>
+Copyright © 2000 Compaq Computer Corporation
+Copyright © 2002 Hewlett-Packard Company
+Copyright © 2004, 2005 Red Hat, Inc.
+Copyright © 2004 Nicholas Miell
+Copyright © 2005 Trolltech AS
+Copyright © 2006 Intel Corporation
+Copyright © 2006-2007, 2010 Keith Packard
+Copyright © 2008 Red Hat, Inc
+Copyright © 2008 George Sapountzis <[email protected]>
+Copyright © 2010, Jamey Sharp
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and
+that the name of the copyright holders not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission.  The copyright holders make no representations
+about the suitability of this software for any purpose.  It is provided "as
+is" without express or implied warranty.
+
+THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+
+Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+            2005 Lars Knoll & Zack Rusin, Trolltech
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Keith Packard not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission.  Keith Packard makes no
+representations about the suitability of this software for any purpose.  It
+is provided "as is" without express or implied warranty.
+
+THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+
+Copyright 1987, 1998  The Open Group
+Copyright © 1998-1999, 2001 The XFree86 Project, Inc.
+Copyright © 2000 VA Linux Systems, Inc.
+Copyright (c) 2000, 2001 Nokia Home Communications
+Copyright © 2007, 2008 Red Hat, Inc.
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, and/or sell copies of the Software, and to permit persons
+to whom the Software is furnished to do so, provided that the above
+copyright notice(s) and this permission notice appear in all copies of
+the Software and that both the above copyright notice(s) and this
+permission notice appear in supporting documentation.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale, use
+or other dealings in this Software without prior written authorization
+of the copyright holder.
+
+
+Copyright 1996 by Thomas E. Dickey <[email protected]>
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of the above listed
+copyright holder(s) not be used in advertising or publicity pertaining
+to distribution of the software without specific, written prior
+permission.
+
+THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD
+TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
+LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+Copyright (c) 2001 Andreas Monitzer.
+Copyright (c) 2001-2004 Greg Parker.
+Copyright (c) 2001-2004 Torrey T. Lyons
+Copyright (c) 2002-2003 Apple Computer, Inc.
+Copyright (c) 2004-2005 Alexander Gottwald
+Copyright (c) 2002-2009 Apple Inc.
+Copyright (c) 2007 Jeremy Huddleston
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name(s) of the above copyright
+holders shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in this Software without prior written authorization.
+
+
+Copyright (C) 1999,2000 by Eric Sunshine <[email protected]>
+Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria.
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+  3. The name of the author may not be used to endorse or promote products
+     derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
+NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Copyright (C) 2005 Bogdan D. [email protected]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the author shall not be used in
+advertising or otherwise to promote the sale, use or other dealings in this
+Software without prior written authorization from the author.
+
+
+Copyright © 2002 David Dawes
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+THE AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+Except as contained in this notice, the name of the author(s) shall
+not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from
+the author(s).
+
+
+Copyright (C) 1996-1999 SciTech Software, Inc.
+Copyright (C) David Mosberger-Tang
+Copyright (C) 1999 Egbert Eich
+Copyright (C) 2008 Bart Trojanowski, Symbio Technologies, LLC
+
+Permission to use, copy, modify, distribute, and sell this software and
+its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of the authors not be used
+in advertising or publicity pertaining to distribution of the software
+without specific, written prior permission.  The authors makes no
+representations about the suitability of this software for any purpose.
+It is provided "as is" without express or implied warranty.
+
+THE AUTHORS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 2005-2006 Luc Verhaegen.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+
+Copyright 1995 by Robin Cutshaw <[email protected]>
+Copyright 2000 by Egbert Eich
+Copyright 2002 by David Dawes
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the names of the above listed copyright holder(s)
+not be used in advertising or publicity pertaining to distribution of
+the software without specific, written prior permission.  The above listed
+copyright holder(s) make(s) no representations about the suitability of this
+software for any purpose.  It is provided "as is" without express or
+implied warranty.
+
+THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM(S) ALL WARRANTIES WITH REGARD
+TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
+LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
+DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1997-2004 by Marc Aurele La France (TSI @ UQV), [email protected]
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and
+that the name of Marc Aurele La France not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission.  Marc Aurele La France makes no representations
+about the suitability of this software for any purpose.  It is provided
+"as-is" without express or implied warranty.
+
+MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.  IN NO
+EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+OF THIS SOFTWARE.
+
+
+Copyright 1990, 1991 by Thomas Roell, Dinkelscherben, Germany
+Copyright 1992 by David Dawes <[email protected]>
+Copyright 1992 by Jim Tsillas <[email protected]>
+Copyright 1992 by Rich Murphey <[email protected]>
+Copyright 1992 by Robert Baron <[email protected]>
+Copyright 1992 by Orest Zborowski <[email protected]>
+Copyright 1993 by Vrije Universiteit, The Netherlands
+Copyright 1993 by David Wexelblat <[email protected]>
+Copyright 1994, 1996 by Holger Veit <[email protected]>
+Copyright 1997 by Takis Psarogiannakopoulos <[email protected]>
+Copyright 1994-2003 by The XFree86 Project, Inc
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the names of the above listed copyright holders
+not be used in advertising or publicity pertaining to distribution of
+the software without specific, written prior permission.  The above listed
+copyright holders make no representations about the suitability of this
+software for any purpose.  It is provided "as is" without express or
+implied warranty.
+
+THE ABOVE LISTED COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD
+TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDERS BE
+LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
+DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 2001-2005 by J. Kean Johnston <[email protected]>
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name J. Kean Johnston not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission.  J. Kean Johnston makes no
+representations about the suitability of this software for any purpose.
+It is provided "as is" without express or implied warranty.
+
+J. KEAN JOHNSTON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL J. KEAN JOHNSTON BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright (C) 2000 Jakub Jelinek ([email protected])
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+JAKUB JELINEK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+Copyright 1997,1998 by UCHIYAMA Yasushi
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of UCHIYAMA Yasushi not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission.  UCHIYAMA Yasushi makes no representations
+about the suitability of this software for any purpose.  It is provided
+"as is" without express or implied warranty.
+
+UCHIYAMA YASUSHI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL UCHIYAMA YASUSHI BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright (C) 2000 Keith Packard
+              2004 Eric Anholt
+              2005 Zack Rusin
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of copyright holders not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Copyright holders make no
+representations about the suitability of this software for any purpose.  It
+is provided "as is" without express or implied warranty.
+
+THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+
+(C) Copyright IBM Corporation 2002-2007
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+on the rights to use, copy, modify, merge, publish, distribute, sub
+license, and/or sell copies of the Software, and to permit persons to whom
+the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+THE COPYRIGHT HOLDERS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+this permission notice appear in supporting documentation.  This permission
+notice shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+Copyright © 2007 OpenedHand Ltd
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of OpenedHand Ltd not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. OpenedHand Ltd makes no
+representations about the suitability of this software for any purpose.  It
+is provided "as is" without express or implied warranty.
+
+OpenedHand Ltd DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL OpenedHand Ltd BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright (c) 1989, 1990, 1993, 1994
+     The Regents of the University of California.  All rights reserved.
+
+This code is derived from software contributed to Berkeley by
+Chris Torek.
+
+This code is derived from software contributed to Berkeley by
+Michael Rendell of Memorial University of Newfoundland.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+ 4. Neither the name of the University nor the names of its contributors
+    may be used to endorse or promote products derived from this software
+    without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+Copyright (c) 2009 Dan Nicholson
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
--- a/open-src/xserver/xorg/COPYING.tsol	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/COPYING.tsol	Mon Mar 14 15:37:30 2011 -0700
@@ -1,1 +1,1 @@
-Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
--- a/open-src/xserver/xorg/CreateNewResourceType.patch	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,291 +0,0 @@
-From eb750f8b5e14751d4c40b50499baec5d2ba79db9 Mon Sep 17 00:00:00 2001
-From: Alan Coopersmith <[email protected]>
-Date: Fri, 11 Dec 2009 00:46:22 -0800
-Subject: [PATCH] Check for failures from CreateNewResourceType
-
-Make sure to check return value before setting bitmask flags.
-For most calls, just fails to init the extension.   Since Xinput
-already calls FatalError() on initialization failure, so does
-failure to allocate Xinput's resource type.
-
-Signed-off-by: Alan Coopersmith <[email protected]>
-Reviewed-by: Keith Packard <[email protected]>
----
- Xext/mbuf.c                   |    4 +++-
- Xext/panoramiX.c              |   16 ++++++++++------
- Xext/sync.c                   |    8 ++++++--
- Xext/xvdisp.c                 |    4 ++--
- Xi/extinit.c                  |    2 ++
- dbe/dbe.c                     |    9 ++++++++-
- glx/glxext.c                  |    3 +++
- hw/dmx/glxProxy/glxext.c      |    4 ++++
- hw/kdrive/ephyr/ephyrdriext.c |    4 ++++
- hw/xfree86/dri/dri.c          |    3 +++
- hw/xfree86/dri2/dri2ext.c     |    6 +++++-
- hw/xquartz/xpr/dri.c          |    2 +-
- xfixes/cursor.c               |    2 +-
- xfixes/region.c               |    3 ++-
- xkb/xkb.c                     |    5 ++++-
- 15 files changed, 58 insertions(+), 17 deletions(-)
-
-diff --git a/Xext/mbuf.c b/Xext/mbuf.c
-index 1f24974..af31221 100644
---- a/Xext/mbuf.c
-+++ b/Xext/mbuf.c
-@@ -467,7 +467,9 @@ MultibufferExtensionInit()
-      * create the resource types
-      */
-     MultibufferDrawableResType =
--	CreateNewResourceType(MultibufferDrawableDelete)|RC_DRAWABLE;
-+	CreateNewResourceType(MultibufferDrawableDelete);
-+    if (MultiBufferDrawableResType)
-+	MultibufferDrawableResType |= RC_DRAWABLE;
-     MultibufferResType = CreateNewResourceType(MultibufferDelete);
-     MultibuffersResType = CreateNewResourceType(MultibuffersDelete);
-     OtherClientResType = CreateNewResourceType(OtherClientDelete);
-diff --git a/Xext/panoramiX.c b/Xext/panoramiX.c
-index 4b7b07e..f48bd36 100644
---- a/Xext/panoramiX.c
-+++ b/Xext/panoramiX.c
-@@ -503,15 +503,19 @@ void PanoramiXExtensionInit(int argc, char *argv[])
- 	}
- 
- 	XRC_DRAWABLE = CreateNewResourceClass();
--	XRT_WINDOW = CreateNewResourceType(XineramaDeleteResource) | 
--						XRC_DRAWABLE;
--	XRT_PIXMAP = CreateNewResourceType(XineramaDeleteResource) | 
--						XRC_DRAWABLE;
-+	XRT_WINDOW = CreateNewResourceType(XineramaDeleteResource);
-+	if (XRT_WINDOW)
-+	    XRT_WINDOW |= XRC_DRAWABLE;
-+	XRT_PIXMAP = CreateNewResourceType(XineramaDeleteResource);
-+	if (XRT_PIXMAP)
-+	    XRT_PIXMAP |= XRC_DRAWABLE;
- 	XRT_GC = CreateNewResourceType(XineramaDeleteResource);
- 	XRT_COLORMAP = CreateNewResourceType(XineramaDeleteResource);
- 
--	panoramiXGeneration = serverGeneration;
--	success = TRUE;
-+	if (XRT_WINDOW && XRT_PIXMAP && XRT_GC && XRT_COLORMAP) {
-+	    panoramiXGeneration = serverGeneration;
-+	    success = TRUE;
-+	}
-     }
- 
-     if (!success) {
-diff --git a/Xext/sync.c b/Xext/sync.c
-index 667f8ab..d8a2b15 100644
---- a/Xext/sync.c
-+++ b/Xext/sync.c
-@@ -2113,8 +2113,12 @@ SyncExtensionInit(void)
- 	RTCounter = CreateNewResourceType(FreeCounter);
-     }
-     RTAlarm = CreateNewResourceType(FreeAlarm);
--    RTAwait = CreateNewResourceType(FreeAwait)|RC_NEVERRETAIN;
--    RTAlarmClient = CreateNewResourceType(FreeAlarmClient)|RC_NEVERRETAIN;
-+    RTAwait = CreateNewResourceType(FreeAwait);
-+    if (RTAwait)
-+	RTAwait |= RC_NEVERRETAIN;
-+    RTAlarmClient = CreateNewResourceType(FreeAlarmClient);
-+    if (RTAlarmClient)
-+	RTAlarmClient |= RC_NEVERRETAIN;
- 
-     if (RTCounter == 0 || RTAwait == 0 || RTAlarm == 0 ||
- 	RTAlarmClient == 0 ||
-diff --git a/Xext/xvdisp.c b/Xext/xvdisp.c
-index 5229916..1f3fc0f 100644
---- a/Xext/xvdisp.c
-+++ b/Xext/xvdisp.c
-@@ -1865,8 +1865,8 @@ void XineramifyXv(void)
- 
-    XvXRTPort = CreateNewResourceType(XineramaDeleteResource);
- 
--   if(!xvsp0) return;
--   
-+   if (!xvsp0 || !XvXRTPort) return;
-+
-    for(i = 0; i < xvsp0->nAdaptors; i++) {
-       refAdapt = xvsp0->pAdaptors + i;
- 
-diff --git a/Xi/extinit.c b/Xi/extinit.c
-index 0c12919..372f77f 100644
---- a/Xi/extinit.c
-+++ b/Xi/extinit.c
-@@ -1270,6 +1270,8 @@ XInputExtensionInit(void)
- 	XIVersion = thisversion;
- 	MakeDeviceTypeAtoms();
- 	RT_INPUTCLIENT = CreateNewResourceType((DeleteType) InputClientGone);
-+	if (!RT_INPUTCLIENT)
-+	    FatalError("Failed to add resource type for XI.\n");
- 	RegisterResourceName(RT_INPUTCLIENT, "INPUTCLIENT");
- 	FixExtensionEvents(extEntry);
- 	ReplySwapVector[IReqCode] = (ReplySwapPtr) SReplyIDispatch;
-diff --git a/dbe/dbe.c b/dbe/dbe.c
-index a4f853d..8d2a343 100644
---- a/dbe/dbe.c
-+++ b/dbe/dbe.c
-@@ -1573,9 +1573,16 @@ DbeExtensionInit(void)
- 
-     /* Create the resource types. */
-     dbeDrawableResType =
--        CreateNewResourceType(DbeDrawableDelete) | RC_DRAWABLE;
-+        CreateNewResourceType(DbeDrawableDelete);
-+    if (!dbeDrawableResType)
-+	return;
-+    dbeDrawableResType |= RC_DRAWABLE;
-+
-     dbeWindowPrivResType =
-         CreateNewResourceType(DbeWindowPrivDelete);
-+    if (!dbeWindowPrivResType)
-+	return;
-+
-     if (!dixRegisterPrivateOffset(dbeDrawableResType,
- 				  offsetof(PixmapRec, devPrivates)))
- 	return;
-diff --git a/glx/glxext.c b/glx/glxext.c
-index 9f9c0ed..546d968 100644
---- a/glx/glxext.c
-+++ b/glx/glxext.c
-@@ -347,6 +347,9 @@ void GlxExtensionInit(void)
-     __glXDrawableRes = CreateNewResourceType((DeleteType)DrawableGone);
-     __glXSwapBarrierRes = CreateNewResourceType((DeleteType)SwapBarrierGone);
- 
-+    if (!__glXContextRes || !__glXDrawableRes || !__glXSwapBarrierRes)
-+	return;
-+
-     RegisterResourceName(__glXContextRes, "GLXContext");
-     RegisterResourceName(__glXDrawableRes, "GLXDrawable");
-     RegisterResourceName(__glXSwapBarrierRes, "GLXSwapBarrier");
-diff --git a/hw/dmx/glxProxy/glxext.c b/hw/dmx/glxProxy/glxext.c
-index b30d144..0c39068 100644
---- a/hw/dmx/glxProxy/glxext.c
-+++ b/hw/dmx/glxProxy/glxext.c
-@@ -299,6 +299,10 @@ void GlxExtensionInit(void)
-     __glXWindowRes = CreateNewResourceType((DeleteType)WindowGone);
-     __glXPbufferRes = CreateNewResourceType((DeleteType)PbufferGone);
- 
-+    if (!__glXContextRes || !__glXClientRes || !__glXPixmapRes ||
-+	!__glXWindowRes || !__glXPbufferRes)
-+	return;
-+
-     /*
-     ** Add extension to server extensions.
-     */
-diff --git a/hw/kdrive/ephyr/ephyrdriext.c b/hw/kdrive/ephyr/ephyrdriext.c
-index 231b098..ba1733b 100644
---- a/hw/kdrive/ephyr/ephyrdriext.c
-+++ b/hw/kdrive/ephyr/ephyrdriext.c
-@@ -141,6 +141,10 @@ ephyrDRIExtensionInit (ScreenPtr a_screen)
- 
- #ifdef XF86DRI_EVENTS
-     EventType = CreateNewResourceType (XF86DRIFreeEvents);
-+    if (!EventType) {
-+        EPHYR_LOG_ERROR ("failed to register DRI event resource type\n") ;
-+        goto out ;
-+    }
- #endif
- 
-     if ((extEntry = AddExtension(XF86DRINAME,
-diff --git a/hw/xfree86/dri/dri.c b/hw/xfree86/dri/dri.c
-index 0de9be6..1a6cb4d 100644
---- a/hw/xfree86/dri/dri.c
-+++ b/hw/xfree86/dri/dri.c
-@@ -792,6 +792,9 @@ DRIExtensionInit(void)
-     DRIDrawablePrivResType = CreateNewResourceType(DRIDrawablePrivDelete);
-     DRIContextPrivResType = CreateNewResourceType(DRIContextPrivDelete);
- 
-+    if (!DRIDrawablePrivResType || !DRIContextPrivResType)
-+	return FALSE;
-+
-     RegisterBlockAndWakeupHandlers(DRIBlockHandler, DRIWakeupHandler, NULL);
- 
-     return TRUE;
-diff --git a/hw/xfree86/dri2/dri2ext.c b/hw/xfree86/dri2/dri2ext.c
-index dc07b47..8acf267 100644
---- a/hw/xfree86/dri2/dri2ext.c
-+++ b/hw/xfree86/dri2/dri2ext.c
-@@ -416,6 +416,11 @@ static int DRI2DrawableGone(pointer p, XID id)
- static void
- DRI2ExtensionInit(void)
- {
-+    dri2DrawableRes = CreateNewResourceType(DRI2DrawableGone);
-+
-+    if (!dri2DrawableRes)
-+	return;
-+
-     dri2Extension = AddExtension(DRI2_NAME,
- 				 DRI2NumberEvents,
- 				 DRI2NumberErrors,
-@@ -424,7 +429,6 @@ DRI2ExtensionInit(void)
- 				 NULL,
- 				 StandardMinorOpcode);
- 
--    dri2DrawableRes = CreateNewResourceType(DRI2DrawableGone);
- }
- 
- extern Bool noDRI2Extension;
-diff --git a/hw/xquartz/xpr/dri.c b/hw/xquartz/xpr/dri.c
-index f570bee..a9c0f22 100644
---- a/hw/xquartz/xpr/dri.c
-+++ b/hw/xquartz/xpr/dri.c
-@@ -279,7 +279,7 @@ DRIExtensionInit(void)
- {
-     DRIDrawablePrivResType = CreateNewResourceType(DRIDrawablePrivDelete);
- 
--    return TRUE;
-+    return (DRIDrawablePrivResType != 0);
- }
- 
- void
-diff --git a/xfixes/cursor.c b/xfixes/cursor.c
-index 60d4222..c3e1e35 100644
---- a/xfixes/cursor.c
-+++ b/xfixes/cursor.c
-@@ -1095,6 +1095,6 @@ XFixesCursorInit (void)
- 	}
-     }
- 
--    return CursorClientType && CursorWindowType;
-+    return CursorClientType && CursorHideCountType && CursorWindowType;
- }
- 
-diff --git a/xfixes/region.c b/xfixes/region.c
-index 966eda0..59d8cee 100644
---- a/xfixes/region.c
-+++ b/xfixes/region.c
-@@ -64,7 +64,8 @@ Bool
- XFixesRegionInit (void)
- {
-     RegionResType = CreateNewResourceType(RegionResFree);
--    return TRUE;
-+
-+    return (RegionResType != 0);
- }
- 
- int
-diff --git a/xkb/xkb.c b/xkb/xkb.c
-index 35f8d1c..c490f8b 100644
---- a/xkb/xkb.c
-+++ b/xkb/xkb.c
-@@ -6704,6 +6704,10 @@ XkbExtensionInit(void)
- {
-     ExtensionEntry *extEntry;
- 
-+    RT_XKBCLIENT = CreateNewResourceType(XkbClientGone);
-+    if (!RT_XKBCLIENT)
-+	return;
-+
-     if ((extEntry = AddExtension(XkbName, XkbNumberEvents, XkbNumberErrors,
- 				 ProcXkbDispatch, SProcXkbDispatch,
- 				 NULL, StandardMinorOpcode))) {
-@@ -6711,7 +6715,6 @@ XkbExtensionInit(void)
- 	XkbEventBase = (unsigned char)extEntry->eventBase;
- 	XkbErrorBase = (unsigned char)extEntry->errorBase;
- 	XkbKeyboardErrorCode = XkbErrorBase+XkbKeyboard;
--	RT_XKBCLIENT = CreateNewResourceType(XkbClientGone);
-     }
-     return;
- }
--- 
-1.5.6.5
-
--- a/open-src/xserver/xorg/IA.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/IA.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -18,9 +18,10 @@
 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 # DEALINGS IN THE SOFTWARE.
-diff -urp -x '*~' -x '*.orig' Makefile.am Makefile.am
---- Makefile.am	2009-11-24 21:25:15.000000000 -0800
-+++ Makefile.am	2009-12-02 18:57:55.879547825 -0800
+diff -Nurp -x '*~' -x '*.orig' Makefile.am Makefile.am
+diff -Nurp -x '*~' -x '*.orig' Makefile.am Makefile.am
+--- Makefile.am	2010-08-26 14:51:37.000000000 -0700
++++ Makefile.am	2011-02-15 15:53:19.157650482 -0800
 @@ -36,6 +36,7 @@ SUBDIRS = \
  	damageext \
  	$(COMPOSITE_DIR) \
@@ -29,10 +30,10 @@
  	exa \
  	config \
  	hw \
-diff -urp -x '*~' -x '*.orig' configure.ac configure.ac
---- configure.ac	2009-12-02 18:57:54.176548474 -0800
-+++ configure.ac	2009-12-02 18:57:55.880850520 -0800
-@@ -1082,6 +1082,10 @@ MIEXT_DAMAGE_INC='-I$(top_srcdir)/miext/
+diff -Nurp -x '*~' -x '*.orig' configure.ac configure.ac
+--- configure.ac	2011-02-15 15:53:16.732320605 -0800
++++ configure.ac	2011-02-15 15:53:19.158803446 -0800
+@@ -1158,6 +1158,10 @@ AC_DEFINE(XINPUT, 1, [Support X Input ex
  XI_LIB='$(top_builddir)/Xi/libXi.la'
  XI_INC='-I$(top_srcdir)/Xi'
  
@@ -43,17 +44,17 @@
  AM_CONDITIONAL(XF86UTILS, test "x$XF86UTILS" = xyes)
  AM_CONDITIONAL(XAA, test "x$XAA" = xyes)
  AM_CONDITIONAL(VGAHW, test "x$VGAHW" = xyes)
-@@ -2115,3 +2119,6 @@ test/Makefile
+@@ -2273,3 +2277,6 @@ test/Makefile
  test/xi2/Makefile
  xorg-server.pc
  ])
 +
 +# Add Sun IA extension
 +AC_OUTPUT([IA/Makefile])
-diff -urp -x '*~' -x '*.orig' hw/xfree86/common/xf86Config.c hw/xfree86/common/xf86Config.c
---- hw/xfree86/common/xf86Config.c	2009-12-02 18:57:53.999906206 -0800
-+++ hw/xfree86/common/xf86Config.c	2009-12-02 18:57:55.881970262 -0800
-@@ -123,6 +123,7 @@ static ModuleDefault ModuleDefaults[] = 
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/common/xf86Config.c hw/xfree86/common/xf86Config.c
+--- hw/xfree86/common/xf86Config.c	2011-02-15 15:53:16.711587149 -0800
++++ hw/xfree86/common/xf86Config.c	2011-02-15 15:53:19.159630285 -0800
+@@ -126,6 +126,7 @@ static ModuleDefault ModuleDefaults[] = 
  #ifdef DRI2
      {.name = "dri2",     .toLoad = TRUE,    .load_opt=NULL},
  #endif
@@ -61,9 +62,9 @@
      {.name = NULL,       .toLoad = FALSE,   .load_opt=NULL}
  };
  
-diff -urp -x '*~' -x '*.orig' hw/xfree86/dixmods/Makefile.am hw/xfree86/dixmods/Makefile.am
---- hw/xfree86/dixmods/Makefile.am	2009-10-30 21:19:51.000000000 -0700
-+++ hw/xfree86/dixmods/Makefile.am	2009-12-02 18:57:55.882261006 -0800
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/dixmods/Makefile.am hw/xfree86/dixmods/Makefile.am
+--- hw/xfree86/dixmods/Makefile.am	2009-09-27 18:57:00.000000000 -0700
++++ hw/xfree86/dixmods/Makefile.am	2011-02-15 15:53:19.159921744 -0800
 @@ -66,3 +66,11 @@ libdixmods_la_CFLAGS = -DXFree86LOADER $
  
  libxorgxkb_la_SOURCES = xkbVT.c xkbPrivate.c xkbKillSrv.c
@@ -76,10 +77,10 @@
 +libia_la_LDFLAGS = -avoid-version
 +libia_la_LIBADD = $(top_builddir)/IA/libIA.la
 +libia_la_SOURCES = iamodule.c
-diff -urp -x '*~' -x '*.orig' mi/miinitext.c mi/miinitext.c
---- mi/miinitext.c	2009-11-22 16:33:40.000000000 -0800
-+++ mi/miinitext.c	2009-12-02 18:57:55.882784783 -0800
-@@ -95,6 +95,7 @@ SOFTWARE.
+diff -Nurp -x '*~' -x '*.orig' mi/miinitext.c mi/miinitext.c
+--- mi/miinitext.c	2010-05-02 19:59:26.000000000 -0700
++++ mi/miinitext.c	2011-02-15 15:53:19.160356394 -0800
+@@ -94,6 +94,7 @@ SOFTWARE.
  #include "micmap.h"
  #include "globals.h"
  
@@ -87,7 +88,7 @@
  
  extern Bool noTestExtensions;
  
-@@ -159,6 +160,9 @@ extern Bool noSELinuxExtension;
+@@ -153,6 +154,9 @@ extern Bool noSELinuxExtension;
  extern Bool noXvExtension;
  #endif
  extern Bool noGEExtension;
@@ -97,7 +98,7 @@
  
  #ifndef XFree86LOADER
  #define INITARGS void
-@@ -190,6 +194,10 @@ typedef void (*InitExtension)(INITARGS);
+@@ -184,6 +188,10 @@ typedef void (*InitExtension)(INITARGS);
  #ifdef RES
  #include <X11/extensions/XResproto.h>
  #endif
@@ -108,17 +109,17 @@
  
  /* FIXME: this whole block of externs should be from the appropriate headers */
  #ifdef MITSHM
-@@ -320,6 +330,9 @@ static ExtensionToggle ExtensionToggleLi
+@@ -304,6 +312,9 @@ static ExtensionToggle ExtensionToggleLi
  #ifdef XCSECURITY
      { "SECURITY", &noSecurityExtension },
  #endif
 +#ifdef SolarisIAExtension
 +    { IANAME /* "SolarisIA" */, &noIAExtension },
-+#endif    
++#endif
  #ifdef RES
      { "X-Resource", &noResExtension },
  #endif
-@@ -493,6 +506,9 @@ InitExtensions(int argc, char *argv[])
+@@ -472,6 +483,9 @@ InitExtensions(int argc, char *argv[])
  	GlxPushProvider(&__glXDRISWRastProvider);
      if (!noGlxExtension) GlxExtensionInit();
  #endif
--- a/open-src/xserver/xorg/Makefile	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/Makefile	Mon Mar 14 15:37:30 2011 -0700
@@ -2,7 +2,7 @@
 #
 # Xorg server Makefile
 #
-# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -38,8 +38,8 @@
 MODULE_VERSION=$(XORGSERVER_VERS)
 
 # Checksums for upstream tarball
-TARBALL_MD5  = 8c0146330fb155c23d947ac37d431d4b
-TARBALL_SHA1 = 0f1b71363843b7e394d6de62d0db5b74d3e645ef
+TARBALL_MD5  = 040f091dfdfb4e335116eb0032cc690b
+TARBALL_SHA1 = e8d5776fe973f15c0e907fd827106f8d296acf7e
 
 # Patches to apply to source after unpacking, in order
 # *** Moved to patch-list file so they can be shared between Xorg & Xvnc builds
@@ -163,8 +163,8 @@
 # scripts) are needed, so move the 32-bit one to /usr/bin instead of linking 
 # to isaexec.
 NOT_LINKED_TO_ISAEXEC = cvt gtf \
-  dmxaddinput dmxaddscreen dmxreconfig dmxresize dmxrminput \
-  dmxrmscreen dmxtodmx dmxwininfo vdltodmx xdmx xdmxconfig
+  dmxaddinput dmxaddscreen dmxinfo dmxreconfig dmxresize dmxrminput \
+  dmxrmscreen dmxtodmx dmxwininfo vdltodmx xdmxconfig
 
 # Steps that need to complete before the install_fix_paths in ../Makefile.inc
 # is run  to do the above isaexec fixes
@@ -179,15 +179,10 @@
 install_extras: default_install
 	-rm -f $(SDK_INCLUDES_DIR)/xorg-server.h
 	sed -e 's%#define XF86DRI 1%/* #define XF86DRI 1 */%' \
-	    -e 's%^.* _XSERVER64 .*$$%#include <sys/isa_defs.h>\
-#ifdef _LP64\
-#define _XSERVER64 1\
-#endif%' \
 	    $(SOURCE_DIR)/include/xorg-server.h > $(SDK_INCLUDES_DIR)/xorg-server.h
-	cp -pf $(SOURCE_DIR)/mi/mioverlay.h $(SDK_INCLUDES_DIR)/mioverlay.h
-	cp -pf $(SOURCE_DIR)/hw/xfree86/os-support/bus/xf86Sbus.h $(SDK_INCLUDES_DIR)/xf86Sbus.h
-	cp -pf $(SOURCE_DIR)/hw/xfree86/dri/*.h $(SDK_INCLUDES_DIR)/
-	-rm -f $(SDK_INCLUDES_DIR)/xf1bpp.h $(SDK_INCLUDES_DIR)/xf4bpp.h
+	cp -pf $(SOURCE_DIR)/mi/mioverlay.h \
+	       $(SOURCE_DIR)/hw/xfree86/os-support/bus/xf86Sbus.h \
+	       $(SOURCE_DIR)/hw/xfree86/dri/*.h $(SDK_INCLUDES_DIR)/
 	mkdir -p $(PROTODIR)$(X11_MAN_DIR)/man1
 	cp -pf $(SOURCE_DIR)/hw/xfree86/doc/man/xorgcfg.1 \
 	       $(SOURCE_DIR)/hw/xfree86/doc/man/xorgconfig.1 \
@@ -195,6 +190,10 @@
 	mkdir -p $(PROTODIR)/etc/hal/fdi/preprobe/10osvendor
 	cp -pf $(SOURCE_DIR)/config/x11-input.fdi \
 	 $(PROTODIR)/etc/hal/fdi/preprobe/10osvendor/10-x11-input.fdi
+	mkdir -p $(PROTODIR)/etc/X11/xorg.conf.d \
+		 $(PROTODIR)/etc/X11/xorg.conf.avail \
+		 $(PROTODIR)/usr/share/X11/xorg.conf.d
+	cp -pf 90-zap.conf $(PROTODIR)/etc/X11/xorg.conf.avail
 
 # Workaround bug in installing pkgconfig file to wrong directory in 64-bit
 # builds
--- a/open-src/xserver/xorg/amd64-loader-path.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/amd64-loader-path.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -18,9 +18,9 @@
 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 # DEALINGS IN THE SOFTWARE.
-diff -urp -x '*~' -x '*.orig' hw/xfree86/loader/loadmod.c hw/xfree86/loader/loadmod.c
---- hw/xfree86/loader/loadmod.c	2009-11-29 21:42:31.000000000 -0800
-+++ hw/xfree86/loader/loadmod.c	2009-12-06 12:38:47.776703128 -0800
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/loader/loadmod.c hw/xfree86/loader/loadmod.c
+--- hw/xfree86/loader/loadmod.c	2010-07-14 13:23:17.000000000 -0700
++++ hw/xfree86/loader/loadmod.c	2010-09-03 16:45:07.235123707 -0700
 @@ -167,6 +167,13 @@ InitPathList(const char *path)
  		list[n][len - 1] = '/';
  		list[n][len] = '\0';
@@ -35,7 +35,7 @@
  	    n++;
  	}
  	elem = strtok(NULL, ",");
-@@ -392,6 +399,18 @@ FindModuleInSubdir(const char *dirpath, 
+@@ -388,6 +395,18 @@ FindModuleInSubdir(const char *dirpath, 
      char *ret = NULL, tmpBuf[PATH_MAX];
      struct stat stat_buf;
  
@@ -54,7 +54,7 @@
      dir = opendir(dirpath);
      if (!dir)
          return NULL;
-@@ -399,6 +418,13 @@ FindModuleInSubdir(const char *dirpath, 
+@@ -395,6 +414,13 @@ FindModuleInSubdir(const char *dirpath, 
      while ((direntry = readdir(dir))) {
          if (direntry->d_name[0] == '.')
              continue;
@@ -68,7 +68,7 @@
          snprintf(tmpBuf, PATH_MAX, "%s%s/", dirpath, direntry->d_name);
  	/* the stat with the appended / fails for normal files,
  	   and works for sub dirs fine, looks a bit strange in strace
-@@ -408,6 +434,12 @@ FindModuleInSubdir(const char *dirpath, 
+@@ -404,6 +430,12 @@ FindModuleInSubdir(const char *dirpath, 
                  break;
              continue;
          }
--- a/open-src/xserver/xorg/autoconfig.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/autoconfig.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -20,10 +20,10 @@
 # DEALINGS IN THE SOFTWARE.
 6385111: Xorg auto-configuration Improvement
 
-diff -urp -x '*~' -x '*.orig' hw/xfree86/common/xf86Config.c hw/xfree86/common/xf86Config.c
---- hw/xfree86/common/xf86Config.c	2009-11-03 22:29:05.439748324 -0800
-+++ hw/xfree86/common/xf86Config.c	2009-11-03 22:29:06.884510478 -0800
-@@ -2063,7 +2063,7 @@ configMonitor(MonPtr monitorp, XF86ConfM
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/common/xf86Config.c hw/xfree86/common/xf86Config.c
+--- hw/xfree86/common/xf86Config.c	2010-09-03 16:45:19.100446935 -0700
++++ hw/xfree86/common/xf86Config.c	2010-09-03 16:45:21.057252713 -0700
+@@ -2045,7 +2045,7 @@ configMonitor(MonPtr monitorp, XF86ConfM
      cmodep = conf_monitor->mon_modeline_lst;
      while( cmodep ) {
          mode = xnfcalloc(1, sizeof(DisplayModeRec));
--- a/open-src/xserver/xorg/autoconfig2.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/autoconfig2.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -19,10 +19,10 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 # DEALINGS IN THE SOFTWARE.
 Raise hsync and default to "1024x768" when DDC data not available.
-diff -urp -x '*~' -x '*.orig' hw/xfree86/common/xf86Mode.c hw/xfree86/common/xf86Mode.c
---- hw/xfree86/common/xf86Mode.c	2009-11-22 16:33:40.000000000 -0800
-+++ hw/xfree86/common/xf86Mode.c	2009-12-02 18:58:13.140105361 -0800
-@@ -1199,6 +1199,7 @@ xf86ValidateModes(ScrnInfoPtr scrp, Disp
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/common/xf86Mode.c hw/xfree86/common/xf86Mode.c
+--- hw/xfree86/common/xf86Mode.c	2010-06-05 18:16:49.000000000 -0700
++++ hw/xfree86/common/xf86Mode.c	2010-09-03 16:45:23.099750744 -0700
+@@ -1367,6 +1367,7 @@ xf86ValidateModes(ScrnInfoPtr scrp, Disp
      range hsync[MAX_HSYNC];
      range vrefresh[MAX_VREFRESH];
      Bool inferred_virtual = FALSE;
@@ -30,7 +30,7 @@
  
      DebugF("xf86ValidateModes(%p, %p, %p, %p,\n\t\t  %p, %d, %d, %d, %d, %d, %d, %d, %d, 0x%x)\n",
  	   scrp, availModes, modeNames, clockRanges,
-@@ -1244,8 +1245,9 @@ xf86ValidateModes(ScrnInfoPtr scrp, Disp
+@@ -1412,8 +1413,9 @@ xf86ValidateModes(ScrnInfoPtr scrp, Disp
  		}
  	    } else {
  		scrp->monitor->hsync[0].lo = 31.5;
@@ -41,7 +41,7 @@
  	    }
  	    type = "default ";
  	}
-@@ -1460,6 +1462,11 @@ xf86ValidateModes(ScrnInfoPtr scrp, Disp
+@@ -1626,6 +1628,11 @@ xf86ValidateModes(ScrnInfoPtr scrp, Disp
  	xf86DeleteMode(&scrp->modes, scrp->modes);
      endp = &scrp->modes;
      last = NULL;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/xserver/xorg/autodetect-kernel-dev-fb.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -0,0 +1,122 @@
+# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/common/xf86AutoConfig.c hw/xfree86/common/xf86AutoConfig.c
+--- hw/xfree86/common/xf86AutoConfig.c	2010-12-16 15:40:50.420727168 -0500
++++ hw/xfree86/common/xf86AutoConfig.c	2010-12-03 15:50:42.721496105 -0500
+@@ -219,6 +219,12 @@ static void
+ listPossibleVideoDrivers(char *matches[], int nmatches)
+ {
+     int i;
++#ifdef sun
++    int got_vis_id = 0;
++    struct vis_identifier   visid;
++    int iret;
++    extern char xf86SolarisFbDev[PATH_MAX];
++#endif
+     
+     for (i = 0 ; i < nmatches ; i++) {
+         matches[i] = NULL;
+@@ -229,50 +235,50 @@ listPossibleVideoDrivers(char *matches[]
+     /* Check for driver type based on /dev/fb type and if valid, use
+        it instead of PCI bus probe results */
+     if (xf86Info.consoleFd >= 0) {
+-	struct vis_identifier   visid;
++	SYSCALL(iret = ioctl(xf86Info.consoleFd, VIS_GETIDENTIFIER, &visid));
++	if (iret >= 0)
++	    got_vis_id = 1;
++    }
++    if (!got_vis_id) {
++	int fbfd;
++
++	fbfd = open(xf86SolarisFbDev, O_RDONLY);
++	if (fbfd >= 0) {
++	    SYSCALL(iret = ioctl(fbfd, VIS_GETIDENTIFIER, &visid));
++	    if (iret >= 0)
++		got_vis_id = 1;
++	    close(fbfd);
++	}
++    }
++    if (got_vis_id) {
+ 	const char *cp;
+-	extern char xf86SolarisFbDev[PATH_MAX];
+-	int iret;
+ 
+-	SYSCALL(iret = ioctl(xf86Info.consoleFd, VIS_GETIDENTIFIER, &visid));
+-	if (iret < 0) {
+-	    int fbfd;
++	xf86Msg(X_PROBED, "console driver: %s\n", visid.name);
+ 
+-	    fbfd = open(xf86SolarisFbDev, O_RDONLY);
+-	    if (fbfd >= 0) {
+-		SYSCALL(iret = ioctl(fbfd, VIS_GETIDENTIFIER, &visid));
+-		close(fbfd);
+-	    }
++	/* Special case from before the general case was set */
++	if (strcmp(visid.name, "NVDAnvda") == 0) {
++	    matches[i++] = xnfstrdup("nvidia");
+ 	}
+ 
+-	if (iret < 0) {
+-	    xf86Msg(X_WARNING,
+-		    "could not get frame buffer identifier from %s\n",
+-		    xf86SolarisFbDev);
+-	} else {
+-	    xf86Msg(X_PROBED, "console driver: %s\n", visid.name);
+-
+-	    /* Special case from before the general case was set */
+-	    if (strcmp(visid.name, "NVDAnvda") == 0) {
+-		matches[i++] = xnfstrdup("nvidia");
++	/* General case - split into vendor name (initial all-caps
++	   prefix) & driver name (rest of the string). */
++	if (strcmp(visid.name, "SUNWtext") != 0) {
++	    for (cp = visid.name; (*cp != '\0') && isupper(*cp); cp++) {
++		    /* find end of all uppercase vendor section */
+ 	    }
++	    if ((cp != visid.name) && (*cp != '\0')) {
++		char *driverName = xnfstrdup(cp);
++		char *vendorName = xnfstrdup(visid.name);
++		vendorName[cp - visid.name] = '\0';
+ 
+-	    /* General case - split into vendor name (initial all-caps
+-	       prefix) & driver name (rest of the string). */
+-	    if (strcmp(visid.name, "SUNWtext") != 0) {
+-		for (cp = visid.name; (*cp != '\0') && isupper(*cp); cp++) {
+-		    /* find end of all uppercase vendor section */
+-		}
+-		if ((cp != visid.name) && (*cp != '\0')) {
+-		    char *driverName = xnfstrdup(cp);
+-		    char *vendorName = xnfstrdup(visid.name);
+-		    vendorName[cp - visid.name] = '\0';
+-
+-		    matches[i++] = vendorName;
+-		    matches[i++] = driverName;
+-		}
++		matches[i++] = vendorName;
++		matches[i++] = driverName;
+ 	    }
+ 	}
++    } else {
++	xf86Msg(X_WARNING,
++		"could not get frame buffer identifier from %s\n",
++		xf86SolarisFbDev);
+     }
+ #endif
+ #ifdef __sparc__
--- a/open-src/xserver/xorg/cli-nobanner.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/cli-nobanner.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -18,13 +18,14 @@
 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 # DEALINGS IN THE SOFTWARE.
-diff -urp -x '*~' -x '*.orig' os/utils.c os/utils.c
---- os/utils.c	2009-11-03 22:28:49.970963082 -0800
-+++ os/utils.c	2009-11-03 22:28:51.431860676 -0800
-@@ -773,6 +773,12 @@ ProcessCommandLine(int argc, char *argv[
+diff -Nurp -x '*~' -x '*.orig' os/utils.c os/utils.c
+diff -Nurp -x '*~' -x '*.orig' os/utils.c os/utils.c
+--- os/utils.c	2011-02-15 15:53:10.744333673 -0800
++++ os/utils.c	2011-02-15 15:53:12.747548720 -0800
+@@ -772,6 +772,12 @@ ProcessCommandLine(int argc, char *argv[
+ 	    nolock = TRUE;
  	}
  #endif
- #endif
 +#ifdef SUNSOFT
 +	else if ( strcmp( argv[i], "-nobanner") == 0)
 +	{
--- a/open-src/xserver/xorg/cli-nolock.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/cli-nolock.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -18,33 +18,32 @@
 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 # DEALINGS IN THE SOFTWARE.
-diff -urp -x '*~' -x '*.orig' os/utils.c os/utils.c
---- os/utils.c	2009-09-07 23:04:53.000000000 -0700
-+++ os/utils.c	2009-11-03 22:28:49.970963082 -0800
-@@ -504,9 +504,11 @@ void UseMsg(void)
+diff -Nurp -x '*~' -x '*.orig' os/utils.c os/utils.c
+diff -Nurp -x '*~' -x '*.orig' os/utils.c os/utils.c
+--- os/utils.c	2011-01-07 06:26:45.000000000 -0800
++++ os/utils.c	2011-02-15 15:53:10.744333673 -0800
+@@ -509,7 +509,9 @@ void UseMsg(void)
  #ifdef RLIMIT_STACK
      ErrorF("-ls int                limit stack space to N Kb\n");
  #endif
 +#ifndef SUNSOFT /* Not in Sun version as required by PSARC 2004/187 TCR */
- #ifdef SERVER_LOCK
      ErrorF("-nolock                disable the locking mechanism\n");
- #endif
 +#endif
  #ifndef NOLOGOHACK
      ErrorF("-logo                  enable logo in screen saver\n");
      ErrorF("nologo                 disable logo in screen saver\n");
-@@ -758,6 +760,7 @@ ProcessCommandLine(int argc, char *argv[
+@@ -759,6 +761,7 @@ ProcessCommandLine(int argc, char *argv[
  		UseMsg();
  	}
  #endif
 +#ifndef SUNSOFT /* Not in Sun version as required by PSARC 2004/187 TCR */
- #ifdef SERVER_LOCK
  	else if ( strcmp ( argv[i], "-nolock") == 0)
  	{
-@@ -769,6 +772,7 @@ ProcessCommandLine(int argc, char *argv[
+ #if !defined(WIN32) && !defined(__CYGWIN__)
+@@ -768,6 +771,7 @@ ProcessCommandLine(int argc, char *argv[
+ #endif
  	    nolock = TRUE;
  	}
- #endif
 +#endif
  #ifndef NOLOGOHACK
  	else if ( strcmp( argv[i], "-logo") == 0)
--- a/open-src/xserver/xorg/closedevice.patch	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-From c47e2eaed19fa97dd0479fcc7646809d7fcae472 Mon Sep 17 00:00:00 2001
-From: Alan Coopersmith <[email protected]>
-Date: Mon, 4 Jan 2010 11:36:06 -0800
-Subject: [PATCH] CloseDevice: call XkbRemoveResourceClient before freeing key class struct
-
-XkbRemoveResourceClient() returns immediately if dev->key is NULL.
-CloseDevice calls XkbRemoveResourceClient until it removes all resources.
-
-If we free dev->key and NULL it before XkbRemoveResourceClient, then
-infinite loop ensues, and the server appears to hang on exit or crash.
-
-Signed-off-by: Alan Coopersmith <[email protected]>
----
- dix/devices.c |    6 +++---
- 1 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/dix/devices.c b/dix/devices.c
-index 6329d28..92b95ed 100644
---- a/dix/devices.c
-+++ b/dix/devices.c
-@@ -842,6 +842,9 @@ CloseDevice(DeviceIntPtr dev)
-     if(dev->valuator && dev->valuator->accelScheme.AccelCleanupProc)
- 	dev->valuator->accelScheme.AccelCleanupProc(dev);
- 
-+    while (dev->xkb_interest)
-+	XkbRemoveResourceClient((DevicePtr)dev,dev->xkb_interest->resource);
-+
-     xfree(dev->name);
- 
-     classes = (ClassesPtr)&dev->key;
-@@ -853,9 +856,6 @@ CloseDevice(DeviceIntPtr dev)
-         FreeAllDeviceClasses(classes);
-     }
- 
--    while (dev->xkb_interest)
--	XkbRemoveResourceClient((DevicePtr)dev,dev->xkb_interest->resource);
--
-     if (DevHasCursor(dev) && dev->spriteInfo->sprite) {
-         xfree(dev->spriteInfo->sprite->spriteTrace);
-         xfree(dev->spriteInfo->sprite);
--- 
-1.5.6.5
-
--- a/open-src/xserver/xorg/dixmods-deps.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/dixmods-deps.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -1,6 +1,6 @@
-diff -urp -x '*~' -x '*.orig' hw/xfree86/dixmods/Makefile.am hw/xfree86/dixmods/Makefile.am
---- hw/xfree86/dixmods/Makefile.am	2009-05-08 17:45:57.848078000 -0700
-+++ hw/xfree86/dixmods/Makefile.am	2009-05-08 17:46:07.162324000 -0700
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/dixmods/Makefile.am hw/xfree86/dixmods/Makefile.am
+--- hw/xfree86/dixmods/Makefile.am	2010-09-03 16:45:29.752570908 -0700
++++ hw/xfree86/dixmods/Makefile.am	2010-09-03 16:45:32.323005868 -0700
 @@ -36,6 +36,7 @@ libdbe_la_SOURCES = dbemodule.c
  
  libfb_la_LDFLAGS = -avoid-version
@@ -18,27 +18,28 @@
  endif
  libglx_la_LIBADD = \
  	$(top_builddir)/glx/libglx.la \
-diff -urp -x '*~' -x '*.orig' hw/xfree86/int10/Makefile.am hw/xfree86/int10/Makefile.am
---- hw/xfree86/int10/Makefile.am	2007-10-17 07:01:23.000000000 -0700
-+++ hw/xfree86/int10/Makefile.am	2009-05-08 17:46:07.162854000 -0700
-@@ -42,3 +42,5 @@ libint10_la_SOURCES = stub.c xf86int10mo
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/int10/Makefile.am hw/xfree86/int10/Makefile.am
+--- hw/xfree86/int10/Makefile.am	2010-07-14 13:23:17.000000000 -0700
++++ hw/xfree86/int10/Makefile.am	2010-09-03 16:45:32.323355539 -0700
+@@ -44,3 +44,5 @@ libint10_la_SOURCES = stub.c xf86int10mo
  endif
  
  EXTRA_DIST = xf86x86emu.h INT10.HOWTO
 +
 +libint10_la_LIBADD = $(PCIACCESS_LIBS)
---- hw/xfree86/shadowfb/Makefile.am~	Tue Apr 15 23:14:18 2008
-+++ hw/xfree86/shadowfb/Makefile.am	Wed Apr  7 07:33:34 2010
-@@ -7,3 +7,5 @@
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/shadowfb/Makefile.am hw/xfree86/shadowfb/Makefile.am
+--- hw/xfree86/shadowfb/Makefile.am	2010-06-05 18:16:52.000000000 -0700
++++ hw/xfree86/shadowfb/Makefile.am	2010-09-03 16:45:32.323606069 -0700
+@@ -7,3 +7,5 @@ sdk_HEADERS = shadowfb.h
  INCLUDES = $(XORG_INCS)
  
  AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
 +
 +libshadowfb_la_LIBADD = -lXfont
-
---- hw/xfree86/vbe/Makefile.am~	Tue Apr 15 23:14:18 2008
-+++ hw/xfree86/vbe/Makefile.am	Tue Apr 20 16:01:20 2010
-@@ -8,3 +8,5 @@
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/vbe/Makefile.am hw/xfree86/vbe/Makefile.am
+--- hw/xfree86/vbe/Makefile.am	2010-06-05 18:16:52.000000000 -0700
++++ hw/xfree86/vbe/Makefile.am	2010-09-03 16:45:32.323810540 -0700
+@@ -8,3 +8,5 @@ AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
  
  INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \
             -I$(srcdir)/../int10
--- a/open-src/xserver/xorg/dmx.patch	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
---- mi/miinitext.c.orig	Wed Oct 20 17:49:04 2010
-+++ mi/miinitext.c	Thu Oct 21 14:23:23 2010
-@@ -67,6 +67,7 @@
- #undef DAMAGE
- #undef COMPOSITE
- #undef MITSHM
-+#undef TSOL
- #endif
--- a/open-src/xserver/xorg/dtlogin-userinfo.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/dtlogin-userinfo.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -18,20 +18,21 @@
 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 # DEALINGS IN THE SOFTWARE.
-diff -urp -x '*~' -x '*.orig' configure.ac configure.ac
---- configure.ac	2009-11-03 22:28:52.912813822 -0800
-+++ configure.ac	2009-11-03 22:28:54.304262174 -0800
-@@ -1328,6 +1328,7 @@ PKG_CHECK_MODULES([XSERVERLIBS], [$REQUI
- XSERVER_CFLAGS="${XSERVERCFLAGS_CFLAGS} ${SHA1_CFLAGS}"
- XSERVER_LIBS="$DIX_LIB $CONFIG_LIB $MI_LIB $OS_LIB"
- XSERVER_SYS_LIBS="${XSERVERLIBS_LIBS} ${SYS_LIBS} ${LIBS} ${SHA1_LIB}"
+diff -Nurp -x '*~' -x '*.orig' configure.ac configure.ac
+diff -Nurp -x '*~' -x '*.orig' configure.ac configure.ac
+--- configure.ac	2011-02-04 11:37:03.000000000 -0800
++++ configure.ac	2011-02-15 15:53:16.732320605 -0800
+@@ -1472,6 +1472,7 @@ PKG_CHECK_MODULES([XSERVERLIBS], [$REQUI
+ XSERVER_CFLAGS="${XSERVER_CFLAGS} ${XSERVERCFLAGS_CFLAGS}"
+ XSERVER_LIBS="$DIX_LIB $MI_LIB $OS_LIB"
+ XSERVER_SYS_LIBS="${XSERVERLIBS_LIBS} ${SYS_LIBS} ${LIBS}"
 +XSERVER_SYS_LIBS="${XSERVER_SYS_LIBS} -lproject"
  AC_SUBST([XSERVER_LIBS])
  AC_SUBST([XSERVER_SYS_LIBS])
  
-diff -urp -x '*~' -x '*.orig' dix/main.c dix/main.c
---- dix/main.c	2009-10-19 19:45:37.000000000 -0700
-+++ dix/main.c	2009-11-03 22:28:54.304577823 -0800
+diff -Nurp -x '*~' -x '*.orig' dix/main.c dix/main.c
+--- dix/main.c	2010-12-02 12:16:53.000000000 -0800
++++ dix/main.c	2011-02-15 15:53:16.732690379 -0800
 @@ -116,6 +116,11 @@ Equipment Corporation.
  #include "dpmsproc.h"
  #endif
@@ -44,10 +45,10 @@
  extern void Dispatch(void);
  
  extern void InitProcVectors(void);
-@@ -169,6 +174,13 @@ int main(int argc, char *argv[], char *e
+@@ -168,6 +173,13 @@ int main(int argc, char *argv[], char *e
+ 	InitBlockAndWakeupHandlers();
  	/* Perform any operating system dependent initializations you'd like */
  	OsInit();
-         config_init();
 +
 +#ifdef SUNSOFT
 +	/* Create pipe for dtlogin authentication info before we tell dtlogin 
@@ -58,7 +59,7 @@
  	if(serverGeneration == 1)
  	{
  	    CreateWellKnownSockets();
-@@ -284,6 +296,11 @@ int main(int argc, char *argv[], char *e
+@@ -290,6 +302,11 @@ int main(int argc, char *argv[], char *e
  
  	Dispatch();
  
@@ -70,30 +71,23 @@
          UndisplayDevices();
  
  	/* Now free up whatever must be freed */
-diff -urp -x '*~' -x '*.orig' os/Makefile.am os/Makefile.am
---- os/Makefile.am	2009-10-21 14:52:56.000000000 -0700
-+++ os/Makefile.am	2009-11-03 22:28:54.304721381 -0800
-@@ -24,6 +24,7 @@ libos_la_SOURCES = 	\
- 	xdmauth.c	\
- 	xstrans.c	\
- 	xprintf.c	\
-+	dtlogin.c	\
- 	$(XORG_SRCS)
- 
- if SECURE_RPC
-@@ -38,6 +39,8 @@ if NEED_STRLCAT
+diff -Nurp -x '*~' -x '*.orig' os/Makefile.am os/Makefile.am
+--- os/Makefile.am	2010-03-25 22:17:44.000000000 -0700
++++ os/Makefile.am	2011-02-15 15:53:16.732911213 -0800
+@@ -47,6 +47,9 @@ if NEED_STRLCAT
  libos_la_SOURCES += $(STRLCAT_SRCS)
  endif
  
++libos_la_SOURCES += dtlogin.c
 +libos_la_LIBADD = -lproject
 +
  EXTRA_DIST = $(SECURERPC_SRCS) $(INTERNALMALLOC_SRCS) \
       $(XDMCP_SRCS) $(STRLCAT_SRCS)
  
-diff -urp -x '*~' -x '*.orig' os/auth.c os/auth.c
---- os/auth.c	2009-07-09 21:05:36.000000000 -0700
-+++ os/auth.c	2009-11-03 22:28:54.304879545 -0800
-@@ -289,6 +289,19 @@ AddAuthorization (unsigned name_length, 
+diff -Nurp -x '*~' -x '*.orig' os/auth.c os/auth.c
+--- os/auth.c	2010-05-12 20:16:31.000000000 -0700
++++ os/auth.c	2011-02-15 15:53:16.733178408 -0800
+@@ -290,6 +290,19 @@ AddAuthorization (unsigned name_length, 
      return 0;
  }
  
--- a/open-src/xserver/xorg/fbdevhw-path.patch	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-From 0a4cc50c3e86104316e19e166737e2ad83fc38bb Mon Sep 17 00:00:00 2001
-From: Alan Coopersmith <[email protected]>
-Date: Wed, 2 Jun 2010 14:24:24 -0700
-Subject: [PATCH] Install fbdevhw module in normal module directory instead of linux/
-
-Since we no longer support OS-independent custom elfloader modules,
-we don't need to put the OS-dependent modules into os-specific subdirs
-any more.
-
-We do however still need to install the stubs version of this module
-on non-Linux platforms, since a number of drivers link to functions
-in it, even when built on non-Linux platforms.
-
-Signed-off-by: Alan Coopersmith <[email protected]>
----
- hw/xfree86/fbdevhw/Makefile.am |    3 +--
- 1 files changed, 1 insertions(+), 2 deletions(-)
-
-diff --git a/hw/xfree86/fbdevhw/Makefile.am b/hw/xfree86/fbdevhw/Makefile.am
-index 0663525..76a69c1 100644
---- a/hw/xfree86/fbdevhw/Makefile.am
-+++ b/hw/xfree86/fbdevhw/Makefile.am
-@@ -1,5 +1,4 @@
--linuxmoduledir = $(moduledir)/linux
--linuxmodule_LTLIBRARIES = libfbdevhw.la
-+module_LTLIBRARIES = libfbdevhw.la
- 
- libfbdevhw_la_LDFLAGS = -avoid-version
- 
--- 
-1.5.6.5
-
--- a/open-src/xserver/xorg/fontmod.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/fontmod.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -21,10 +21,10 @@
 Add Sun's old "bitstream" font module to the list of obsolete modules
 to ignore in xorg.conf files.
 
-diff -urp -x '*~' -x '*.orig' hw/xfree86/common/xf86Config.c hw/xfree86/common/xf86Config.c
---- hw/xfree86/common/xf86Config.c	2010-01-07 18:14:17.933694496 -0800
-+++ hw/xfree86/common/xf86Config.c	2010-01-07 18:14:19.290141839 -0800
-@@ -246,6 +246,7 @@ xf86ModulelistFromConfig(pointer **optli
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/common/xf86Config.c hw/xfree86/common/xf86Config.c
+--- hw/xfree86/common/xf86Config.c	2010-09-03 16:45:07.229888581 -0700
++++ hw/xfree86/common/xf86Config.c	2010-09-03 16:45:09.170375390 -0700
+@@ -256,6 +256,7 @@ xf86ModulelistFromConfig(pointer **optli
      char **modulearray;
      char *ignore[] = { "GLcore", "speedo", "bitmap", "drm",
  		       "freetype", "type1",
--- a/open-src/xserver/xorg/getifaddrs.patch	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-From 59906b99a15a356101ec6ee8045df2227be07979 Mon Sep 17 00:00:00 2001
-From: Alan Coopersmith <[email protected]>
-Date: Thu, 29 Apr 2010 18:45:34 -0700
-Subject: [PATCH] Fix compiler issues with getifaddrs() call on OpenSolaris
-
-OpenSolaris recently added support for the getifaddrs() API.
-
-Building with that uncovered two compiler issues (one warning, one error)
-in the code that was now being built for the first time in our builds:
-
-"access.c", line 768: warning: argument #1 is incompatible with prototype:
-        prototype: pointer to struct sockaddr {unsigned short sa_family, array[14] of char sa_data} : "access.c", line 213
-        argument : pointer to struct sockaddr_storage {unsigned short ss_family, array[6] of char _ss_pad1, double _ss_align, array[240] of char _ss_pad2}
-
-"access.c", line 838: assignment type mismatch:
-        struct sockaddr {unsigned short sa_family, array[14] of char sa_data} "=" struct sockaddr_storage {unsigned short ss_family, array[6] of char _ss_pad1, double _ss_align, array[240] of char _ss_pad2}
-
-Signed-off-by: Alan Coopersmith <[email protected]>
----
- os/access.c |    9 ++++-----
- 1 files changed, 4 insertions(+), 5 deletions(-)
-
-diff --git a/os/access.c b/os/access.c
-index 74c340a..3572da0 100644
---- a/os/access.c
-+++ b/os/access.c
-@@ -765,7 +765,8 @@ DefineSelf (int fd)
- 	    continue;
- #endif /* DNETCONN */
- 	len = sizeof(*(ifr->ifa_addr));
--	family = ConvertAddr(ifr->ifa_addr, &len, (pointer *)&addr);
-+	family = ConvertAddr((struct sockaddr *) ifr->ifa_addr, &len,
-+			     (pointer *)&addr);
- 	if (family == -1 || family == FamilyLocal) 
- 	    continue;
- #if defined(IPv6) && defined(AF_INET6)
-@@ -789,7 +790,6 @@ DefineSelf (int fd)
- 	}
- #ifdef XDMCP
- 	{
--	    struct sockaddr broad_addr;
- 	    /*
- 	     * If this isn't an Internet Address, don't register it.
- 	     */
-@@ -835,11 +835,10 @@ DefineSelf (int fd)
- 	    if ((ifr->ifa_flags & IFF_BROADCAST) &&
- 		(ifr->ifa_flags & IFF_UP) &&
-                 ifr->ifa_broadaddr)
--		broad_addr = *ifr->ifa_broadaddr;
-+		XdmcpRegisterBroadcastAddress(
-+		    (struct sockaddr_in *) ifr->ifa_broadaddr);
- 	    else
- 		continue;
--	    XdmcpRegisterBroadcastAddress((struct sockaddr_in *)
--					  &broad_addr);
- 	}
- #endif /* XDMCP */
- 		
--- 
-1.5.6.5
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/xserver/xorg/headers_64bit.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -0,0 +1,66 @@
+From patchwork Thu Jan  6 22:29:01 2011
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [3/3] xfree86: Fix the sdk headers to be multilib-safe
+Date: Fri, 07 Jan 2011 06:29:01 -0000
+From: Adam Jackson <[email protected]>
+X-Patchwork-Id: 3576
+Message-Id: <[email protected]>
+To: [email protected]
+
+Use _LP64 (verified on gcc and sun compilers) instead of _XSERVER64 in
+internal header usage, and always define _XSERVER64 for modules if _LP64
+is defined.  Prevents differing xorg-server.h between 32 and 64 bit
+packages.
+
+Signed-off-by: Adam Jackson <[email protected]>
+Reviewed-by: Alan Coopersmith <[email protected]>
+
+---
+include/colormapst.h     |    4 ++--
+ include/xorg-server.h.in |    7 ++++---
+ 2 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/include/colormapst.h b/include/colormapst.h
+index 0ba5bd0..b597e2c 100644
+--- a/include/colormapst.h
++++ b/include/colormapst.h
+@@ -103,12 +103,12 @@ typedef struct _ColormapRec
+ {
+     VisualPtr	pVisual;
+     short	class;		/* PseudoColor or DirectColor */
+-#if defined(_XSERVER64)
++#if defined(_LP64)
+     short	pad0;
+     XID		pad1;
+ #endif
+     XID		mid;		/* client's name for colormap */
+-#if defined(_XSERVER64) && (X_BYTE_ORDER == X_LITTLE_ENDIAN)
++#if defined(_LP64) && (X_BYTE_ORDER == X_LITTLE_ENDIAN)
+     XID		pad2;
+ #endif
+     ScreenPtr	pScreen;	/* screen map is associated with */
+diff --git a/include/xorg-server.h.in b/include/xorg-server.h.in
+index 76cab16..b10b994 100644
+--- a/include/xorg-server.h.in
++++ b/include/xorg-server.h.in
+@@ -157,9 +157,6 @@
+ /* Name of X server */
+ #undef __XSERVERNAME__
+ 
+-/* Define to 1 if unsigned long is 64 bits. */
+-#undef _XSERVER64
+-
+ /* Building vgahw module */
+ #undef WITH_VGAHW
+ 
+@@ -187,4 +184,8 @@
+ /* X Access Control Extension */
+ #undef XACE
+ 
++#ifdef _LP64
++#define _XSERVER64 1
++#endif
++
+ #endif /* _XORG_SERVER_H_ */
--- a/open-src/xserver/xorg/hotkey.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/hotkey.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -1,15 +1,16 @@
-diff -urp -x '*~' -x '*.orig' Xi/exevents.c Xi/exevents.c
---- Xi/exevents.c	2009-11-22 16:35:01.000000000 -0800
-+++ Xi/exevents.c	2009-12-02 18:58:25.404138833 -0800
-@@ -198,8 +198,16 @@ CopyKeyClass(DeviceIntPtr device, Device
+diff -Nurp -x '*~' -x '*.orig' Xi/exevents.c Xi/exevents.c
+diff -Nurp -x '*~' -x '*.orig' Xi/exevents.c Xi/exevents.c
+--- Xi/exevents.c	2010-12-23 14:15:10.000000000 -0800
++++ Xi/exevents.c	2011-02-15 15:53:51.551620898 -0800
+@@ -194,7 +194,16 @@ CopyKeyClass(DeviceIntPtr device, Device
+ {
      KeyClassPtr mk = master->key;
-     KeyClassPtr dk = device->key;
-     int i;
+ 
 +#ifdef SUNSOFT
 +    DeviceIntPtr mdev = dixLookupPrivate(&master->devPrivates,
 +	HotkeyMapDevicePrivateKey);
 +#endif
- 
++
 +#ifdef SUNSOFT
 +    if ((device == master) || (device == mdev))
 +#else
@@ -18,11 +19,37 @@
          return;
  
      mk->sourceid = device->id;
-diff -urp -x '*~' -x '*.orig' config/hal.c config/hal.c
---- config/hal.c	2009-11-22 16:35:01.000000000 -0800
-+++ config/hal.c	2009-12-02 18:58:25.404450482 -0800
-@@ -186,6 +186,62 @@ device_is_duplicate(char *config_info)
-     return FALSE;
+diff -Nurp -x '*~' -x '*.orig' Xi/extinit.c Xi/extinit.c
+--- Xi/extinit.c	2010-12-02 12:24:35.000000000 -0800
++++ Xi/extinit.c	2011-02-15 15:53:51.552122593 -0800
+@@ -371,6 +371,10 @@ extern XExtensionVersion XIVersion;
+ 
+ Mask PropagateMask[MAXDEVICES];
+ 
++#ifdef SUNSOFT
++DevPrivateKeyRec HotkeyMapDevicePrivateKeyRec;
++#endif
++
+ /*****************************************************************
+  *
+  * Versioning support
+@@ -1255,6 +1259,11 @@ XInputExtensionInit(void)
+     if (!dixRegisterPrivateKey(&XIClientPrivateKeyRec, PRIVATE_CLIENT, sizeof(XIClientRec)))
+         FatalError("Cannot request private for XI.\n");
+ 
++#ifdef SUNSOFT   
++    if (!dixRegisterPrivateKey(&HotkeyMapDevicePrivateKeyRec, PRIVATE_DEVICE, 0))
++        FatalError("Cannot request private for hotkey.\n");
++#endif
++
+     if (!AddCallback(&ClientStateCallback, XIClientCallback, 0))
+         FatalError("Failed to add callback to XI.\n");
+ 
+diff -Nurp -x '*~' -x '*.orig' config/hal.c config/hal.c
+--- config/hal.c	2010-06-27 16:43:05.000000000 -0700
++++ config/hal.c	2011-02-15 15:53:51.552429571 -0800
+@@ -125,6 +125,63 @@ get_prop_string_array(LibHalContext *hal
+     return ret;
  }
  
 +#ifdef SUNSOFT
@@ -32,6 +59,7 @@
 +    DeviceIntPtr	dev;
 +    char		*config_info = NULL;
 +    InputOption 	*options = NULL, *tmpo = NULL;
++    InputAttributes	attrs = {0};
 +
 +    options = xcalloc(sizeof(*options), 1);
 +    if (!options){
@@ -61,7 +89,7 @@
 +	goto unwind;
 +
 +    LogMessage(X_INFO, "config/hal: Adding input device %s\n", driver);
-+    if (NewInputDeviceRequest(options, &dev) != Success) {
++    if (NewInputDeviceRequest(options, &attrs, &dev) != Success) {
 +	LogMessage(X_ERROR, "config/hal: NewInputDeviceRequest failed\n");
 +	dev = NULL;
 +	goto unwind;
@@ -84,7 +112,7 @@
  static void
  device_added(LibHalContext *hal_ctx, const char *udi)
  {
-@@ -195,6 +251,9 @@ device_added(LibHalContext *hal_ctx, con
+@@ -136,6 +193,9 @@ device_added(LibHalContext *hal_ctx, con
      DBusError error;
      struct xkb_options xkb_opts = {0};
      int rc;
@@ -94,7 +122,7 @@
  
      LibHalPropertySet *set = NULL;
  	LibHalPropertySetIterator set_iter;
-@@ -398,6 +457,16 @@ device_added(LibHalContext *hal_ctx, con
+@@ -377,6 +437,16 @@ device_added(LibHalContext *hal_ctx, con
      if (xkb_opts.options)
          add_option(&options, "xkb_options", xkb_opts.options);
  
@@ -110,10 +138,10 @@
 +   
      /* this isn't an error, but how else do you output something that the user can see? */
      LogMessage(X_INFO, "config/hal: Adding input device %s\n", name);
-     if ((rc = NewInputDeviceRequest(options, &dev)) != Success) {
-diff -urp -x '*~' -x '*.orig' config/x11-input.fdi config/x11-input.fdi
---- config/x11-input.fdi	2009-10-27 23:56:19.000000000 -0700
-+++ config/x11-input.fdi	2009-12-02 18:58:25.404611476 -0800
+     if ((rc = NewInputDeviceRequest(options, &attrs, &dev)) != Success) {
+diff -Nurp -x '*~' -x '*.orig' config/x11-input.fdi config/x11-input.fdi
+--- config/x11-input.fdi	2009-09-27 18:56:59.000000000 -0700
++++ config/x11-input.fdi	2011-02-15 15:53:51.552591586 -0800
 @@ -76,6 +76,12 @@
        <!-- If we're using Linux, we use evdev by default (falling back to
             kbd otherwise). -->
@@ -127,31 +155,18 @@
        <merge key="input.x11_options.XkbModel" type="string">pc105</merge>
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
               string="Linux">
-diff -urp -x '*~' -x '*.orig' dix/devices.c dix/devices.c
---- dix/devices.c	2009-12-02 18:58:23.505610344 -0800
-+++ dix/devices.c	2009-12-02 18:58:25.405167943 -0800
-@@ -91,6 +91,10 @@ SOFTWARE.
- 
- static int CoreDevicePrivateKeyIndex;
- DevPrivateKey CoreDevicePrivateKey = &CoreDevicePrivateKeyIndex;
-+#ifdef SUNSOFT
-+static int HotkeyMapDevicePrivateKeyIndex;
-+DevPrivateKey HotkeyMapDevicePrivateKey = &HotkeyMapDevicePrivateKeyIndex;
-+#endif
- /* Used to store classes currently not in use by an MD */
- static int UnusedClassesPrivateKeyIndex;
- DevPrivateKey UnusedClassesPrivateKey = &UnusedClassesPrivateKeyIndex;
-diff -urp -x '*~' -x '*.orig' include/inputstr.h include/inputstr.h
---- include/inputstr.h	2009-11-22 16:35:01.000000000 -0800
-+++ include/inputstr.h	2009-12-02 18:58:25.405410778 -0800
-@@ -56,6 +56,10 @@ SOFTWARE.
+diff -Nurp -x '*~' -x '*.orig' include/inputstr.h include/inputstr.h
+--- include/inputstr.h	2010-12-03 21:53:07.000000000 -0800
++++ include/inputstr.h	2011-02-15 15:53:51.552836408 -0800
+@@ -57,6 +57,11 @@ SOFTWARE.
  #include "geext.h"
  #include "privates.h"
  
 +#ifdef SUNSOFT
-+extern _X_EXPORT DevPrivateKey HotkeyMapDevicePrivateKey;
++extern _X_EXPORT DevPrivateKeyRec HotkeyMapDevicePrivateKeyRec;
++#define HotkeyMapDevicePrivateKey (&HotkeyMapDevicePrivateKeyRec)
 +#endif
 +
- #define BitIsOn(ptr, bit) (((BYTE *) (ptr))[(bit)>>3] & (1 << ((bit) & 7)))
+ #define BitIsOn(ptr, bit) (!!(((BYTE *) (ptr))[(bit)>>3] & (1 << ((bit) & 7))))
  #define SetBit(ptr, bit)  (((BYTE *) (ptr))[(bit)>>3] |= (1 << ((bit) & 7)))
  #define ClearBit(ptr, bit) (((BYTE *)(ptr))[(bit)>>3] &= ~(1 << ((bit) & 7)))
--- a/open-src/xserver/xorg/make_xkm_output_dir.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/make_xkm_output_dir.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -12,21 +12,21 @@
 by gid 0, to fix bug:
 6916317 Changing xkb settings after login not working on snv130
 
-diff -urp -x '*~' -x '*.orig' xkb/Makefile.am xkb/Makefile.am
---- xkb/Makefile.am	2009-10-21 14:52:56.000000000 -0700
-+++ xkb/Makefile.am	2009-11-03 22:28:52.978880918 -0800
+diff -Nurp -x '*~' -x '*.orig' xkb/Makefile.am xkb/Makefile.am
+--- xkb/Makefile.am	2010-06-05 18:17:03.000000000 -0700
++++ xkb/Makefile.am	2010-09-03 16:44:59.203991086 -0700
 @@ -1,6 +1,7 @@
  noinst_LTLIBRARIES = libxkb.la libxkbstubs.la
  
- AM_CFLAGS = $(DIX_CFLAGS) \
-+	-DMAKE_XKM_OUTPUT_DIR \
- 	-DHAVE_XKB_CONFIG_H
+ AM_CFLAGS = $(DIX_CFLAGS)
++AM_CFLAGS += -DMAKE_XKM_OUTPUT_DIR
  
  DDX_SRCS = \
-diff -urp -x '*~' -x '*.orig' xkb/ddxLoad.c xkb/ddxLoad.c
---- xkb/ddxLoad.c	2010-01-07 14:44:57.000000000 -0800
-+++ xkb/ddxLoad.c	2010-01-12 14:52:06.919527180 -0800
-@@ -152,6 +152,18 @@ Win32System(const char *cmdline)
+         ddxBeep.c \
+diff -Nurp -x '*~' -x '*.orig' xkb/ddxLoad.c xkb/ddxLoad.c
+--- xkb/ddxLoad.c	2010-07-14 13:23:17.000000000 -0700
++++ xkb/ddxLoad.c	2010-09-03 16:44:59.204354950 -0700
+@@ -150,6 +150,18 @@ Win32System(const char *cmdline)
  #define System(x) Win32System(x)
  #endif
  
@@ -45,7 +45,7 @@
  static void
  OutputDirectory(
      char* outdir,
-@@ -159,7 +171,11 @@ OutputDirectory(
+@@ -157,7 +169,11 @@ OutputDirectory(
  {
  #ifndef WIN32
      /* Can we write an xkm and then open it too? */
@@ -58,7 +58,7 @@
      {
  	(void) strcpy (outdir, XKM_OUTPUT_DIR);
      } else
-@@ -201,6 +217,15 @@ XkbDDXCompileKeymapByNames(	XkbDescPtr		
+@@ -199,6 +215,15 @@ XkbDDXCompileKeymapByNames(	XkbDescPtr		
      const char *xkmfile = "-";
  #endif
  
@@ -74,7 +74,7 @@
      snprintf(keymap, sizeof(keymap), "server-%s", display);
  
      OutputDirectory(xkm_output_dir, sizeof(xkm_output_dir));
-@@ -245,7 +270,12 @@ XkbDDXCompileKeymapByNames(	XkbDescPtr		
+@@ -246,6 +271,11 @@ XkbDDXCompileKeymapByNames(	XkbDescPtr		
  #else
      out= fopen(tmpname, "w");
  #endif
@@ -86,4 +86,3 @@
      
      if (out!=NULL) {
  #ifdef DEBUG
-
--- a/open-src/xserver/xorg/mousekeys.patch	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-Temporary solution for https://bugs.freedesktop.org/show_bug.cgi?id=24856
-aka Sun bug 6949755: Mouse Keys are ununusable
-
-Ensures waitForUpdate is False before calling SetCursorPosition.
-Normally waitForUpdate is False when SilkenMouse is active, True
-when it's not.   When it's True, the mouse cursor position on
-screen is not updated immediately.
-
-This is more critical on Solaris, since we disabled SigIO, thus in turn
-disable SilkenMouse, due to the SSE2 vs. signal handler issues described in
-Sun bugs 6849925, 6859428, and 6879897.
-
---- xkb/ddxFakeMtn.c	2010-01-14 17:11:32.000000000 -0800
-+++ xkb/ddxFakeMtn.c	2010-05-19 16:21:52.593826378 -0700
-@@ -113,6 +113,15 @@ ScreenPtr	   pScreen, oldScreen;
- 
-     if (pScreen != oldScreen)
- 	NewCurrentScreen(inputInfo.pointer, pScreen, oldX, oldY);
--    if (pScreen->SetCursorPosition)
-+    if (pScreen->SetCursorPosition) {
-+	Bool waitForUpdate;
-+	miPointerScreenPtr pScreenPriv = GetScreenPrivate(pScreen);
-+
-+	OsBlockSignals();
-+	waitForUpdate = pScreenPriv->waitForUpdate;
-+	pScreenPriv->waitForUpdate = False;
- 	(*pScreen->SetCursorPosition)(inputInfo.pointer, pScreen, oldX, oldY, TRUE);
-+	pScreenPriv->waitForUpdate = waitForUpdate;
-+	OsReleaseSignals();
-+    }
- }
--- a/open-src/xserver/xorg/nvidia-autoconfig.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/nvidia-autoconfig.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -18,10 +18,10 @@
 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 # DEALINGS IN THE SOFTWARE.
-diff -urp -x '*~' -x '*.orig' hw/xfree86/common/xf86Config.c hw/xfree86/common/xf86Config.c
---- hw/xfree86/common/xf86Config.c	2009-11-03 22:29:03.988992847 -0800
-+++ hw/xfree86/common/xf86Config.c	2009-11-03 22:29:05.439748324 -0800
-@@ -534,11 +534,30 @@ fixup_video_driver_list(char **drivers)
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/common/xf86Config.c hw/xfree86/common/xf86Config.c
+--- hw/xfree86/common/xf86Config.c	2010-09-03 16:45:16.628892543 -0700
++++ hw/xfree86/common/xf86Config.c	2010-09-03 16:45:19.100446935 -0700
+@@ -538,11 +538,30 @@ fixup_video_driver_list(char **drivers)
                  if (!strcmp(*drv, "ati")) {
                      ati = drv;
                      x = *ati; *ati = *atimisc; *atimisc = x;
--- a/open-src/xserver/xorg/patch-list	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/patch-list	Mon Mar 14 15:37:30 2011 -0700
@@ -1,6 +1,5 @@
-CreateNewResourceType.patch,-p1
-resource-names.patch,-p1
-fbdevhw-path.patch,-p1
+upstream-in-1.9-branch.patch,-p1
+headers_64bit.patch,-p1
 sun-paths.patch
 sun-extramodes.patch
 sun-manpage.patch
@@ -18,7 +17,6 @@
 nvidia-autoconfig.patch
 autoconfig.patch
 autoconfig2.patch
-6406044.patch
 6535006.patch
 signal-handler.patch
 6721634.patch
@@ -26,11 +24,7 @@
 sparc-initvisuals.patch
 hotkey.patch
 vt.patch
-vbe-packing.patch
 6906694.patch
 6912996.patch
-6942816.patch
-getifaddrs.patch,-p1
-mousekeys.patch
-6949754.patch
-dmx.patch
+record-regset.patch
+autodetect-kernel-dev-fb.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/xserver/xorg/record-regset.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -0,0 +1,13 @@
+diff -Nurp -x '*~' -x '*.orig' record/record.c record/record.c
+--- record/record.c	2010-07-14 13:23:17.000000000 -0700
++++ record/record.c	2010-09-03 16:45:46.118590143 -0700
+@@ -1467,6 +1467,9 @@ typedef struct
+     short first, last;	/* if for extension, major opcode interval */
+ } SetInfoRec, *SetInfoPtr;
+ 
++#undef ERR /* protect against #define ERR in <sys/regset.h> on Solaris x86,
++	      which gets included indirectly via #include <stdlib.h> */
++
+ /* These constant are used to index into an array of SetInfoRec. */
+ enum {REQ,	/* set info for requests */
+       REP,	/* set info for replies */
--- a/open-src/xserver/xorg/resource-names.patch	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,775 +0,0 @@
-[Adjusted to apply to xorg-server 1.7.6]
-
-From a11c58fa0c5809f918b36b84be53385cb2d8ea59 Mon Sep 17 00:00:00 2001
-From: Alan Coopersmith <[email protected]>
-Date: Fri, 11 Dec 2009 00:58:25 -0800
-Subject: [PATCH] Ensure all resource types created have names registered
-
-Calls RegisterResourceName to record the type name for
-use by X-Resource, XACE/SELinux/XTsol, and DTrace.
-
-Signed-off-by: Alan Coopersmith <[email protected]>
-Reviewed-by: Keith Packard <[email protected]>
----
- Xext/mbuf.c                           |    7 +++++++
- Xext/panoramiX.c                      |    6 ++++++
- Xext/saver.c                          |    4 ++++
- Xext/shape.c                          |    3 +++
- Xext/shm.c                            |    2 ++
- Xext/sleepuntil.c                     |    2 ++
- Xext/sync.c                           |    6 ++++++
- Xext/xvdisp.c                         |    3 +++
- Xext/xvmain.c                         |   15 +++++++++++----
- Xext/xvmc.c                           |    4 ++++
- composite/compext.c                   |    6 ++++++
- damageext/damageext.c                 |    3 +++
- dbe/dbe.c                             |    3 +++
- hw/dmx/glxProxy/glxext.c              |    7 +++++++
- hw/kdrive/ephyr/ephyrdriext.c         |    2 ++
- hw/xfree86/dixmods/extmod/xf86vmode.c |    2 ++
- hw/xfree86/dri/dri.c                  |    3 +++
- hw/xfree86/dri/xf86dri.c              |    4 ++++
- hw/xfree86/dri2/dri2ext.c             |    3 +++
- hw/xquartz/applewm.c                  |    3 +++
- hw/xquartz/xpr/dri.c                  |    4 ++++
- hw/xwin/winwindowswm.c                |    3 +++
- mi/miarc.c                            |    2 ++
- randr/randr.c                         |    4 ++++
- record/record.c                       |    2 ++
- render/render.c                       |    4 ++++
- xfixes/cursor.c                       |    7 +++++++
- xfixes/region.c                       |    4 ++++
- xfixes/select.c                       |    6 ++++++
- xkb/xkb.c                             |    2 ++
- 30 files changed, 122 insertions(+), 4 deletions(-)
-
-diff --git a/Xext/mbuf.c b/Xext/mbuf.c
-index af31221..02354b0 100644
---- a/Xext/mbuf.c
-+++ b/Xext/mbuf.c
-@@ -42,6 +42,8 @@ in this Software without prior written authorization from The Open Group.
- #include "opaque.h"
- #include "sleepuntil.h"
- #include "inputstr.h"
-+#include "registry.h"
-+
- #include <X11/extensions/multibufconst.h>
- #include <X11/extensions/multibufproto.h>
- 
-@@ -481,6 +483,11 @@ MultibufferExtensionInit()
- 				 ProcMultibufferDispatch, SProcMultibufferDispatch,
- 				 MultibufferResetProc, StandardMinorOpcode)))
-     {
-+	RegisterResourceName(MultibufferDrawableResType,
-+			     "MultibufferDrawable");
-+	RegisterResourceName(MultibufferResType, "MultibufferBuffer");
-+	RegisterResourceName(MultibuffersResType, "MultibufferWindow");
-+	RegisterResourceName(OtherClientResType, "MultibufferOtherClient");
- 	MultibufferEventBase = extEntry->eventBase;
- 	MultibufferErrorBase = extEntry->errorBase;
- 	EventSwapVector[MultibufferEventBase + MultibufferClobberNotify] = (EventSwapPtr) SClobberNotifyEvent;
-diff --git a/Xext/panoramiX.c b/Xext/panoramiX.c
-index f48bd36..2a950ee 100644
---- a/Xext/panoramiX.c
-+++ b/Xext/panoramiX.c
-@@ -52,6 +52,7 @@ Equipment Corporation.
- #include "globals.h"
- #include "servermd.h"
- #include "resource.h"
-+#include "registry.h"
- #ifdef RENDER
- #include "picturestr.h"
- #endif
-@@ -513,6 +514,11 @@ void PanoramiXExtensionInit(int argc, char *argv[])
- 	XRT_COLORMAP = CreateNewResourceType(XineramaDeleteResource);
- 
- 	if (XRT_WINDOW && XRT_PIXMAP && XRT_GC && XRT_COLORMAP) {
-+	    RegisterResourceName(XRT_WINDOW, "XineramaWindow");
-+	    RegisterResourceName(XRT_PIXMAP, "XineramaPixmap");
-+	    RegisterResourceName(XRT_GC, "XineramaGC");
-+	    RegisterResourceName(XRT_COLORMAP, "XineramaColormap");
-+
- 	    panoramiXGeneration = serverGeneration;
- 	    success = TRUE;
- 	}
-diff --git a/Xext/saver.c b/Xext/saver.c
-index 04e6497..5757f85 100644
---- a/Xext/saver.c
-+++ b/Xext/saver.c
-@@ -47,6 +47,7 @@ in this Software without prior written authorization from the X Consortium.
- #include "cursorstr.h"
- #include "colormapst.h"
- #include "xace.h"
-+#include "registry.h"
- #ifdef PANORAMIX
- #include "panoramiX.h"
- #include "panoramiXsrv.h"
-@@ -266,6 +267,9 @@ ScreenSaverExtensionInit(INITARGS)
- 				 ProcScreenSaverDispatch, SProcScreenSaverDispatch,
- 				 NULL, StandardMinorOpcode)))
-     {
-+	RegisterResourceName(AttrType, "SaverAttr");
-+	RegisterResourceName(SaverEventType, "SaverEvent");
-+	RegisterResourceName(SuspendType, "SaverSuspend");
- 	ScreenSaverEventBase = extEntry->eventBase;
- 	EventSwapVector[ScreenSaverEventBase] = (EventSwapPtr) SScreenSaverNotifyEvent;
-     }
-diff --git a/Xext/shape.c b/Xext/shape.c
-index 700fe76..247f21b 100644
---- a/Xext/shape.c
-+++ b/Xext/shape.c
-@@ -40,6 +40,7 @@ in this Software without prior written authorization from The Open Group.
- #include "extnsionst.h"
- #include "dixstruct.h"
- #include "resource.h"
-+#include "registry.h"
- #include "opaque.h"
- #include <X11/extensions/shapeproto.h>
- #include "regionstr.h"
-@@ -134,6 +135,8 @@ ShapeExtensionInit(void)
- 				 ProcShapeDispatch, SProcShapeDispatch,
- 				 NULL, StandardMinorOpcode)))
-     {
-+	RegisterResourceName(ClientType, "ShapeClient");
-+	RegisterResourceName(ShapeEventType, "ShapeEvent");
- 	ShapeEventBase = extEntry->eventBase;
- 	EventSwapVector[ShapeEventBase] = (EventSwapPtr) SShapeNotifyEvent;
-     }
-diff --git a/Xext/shm.c b/Xext/shm.c
-index 9e462f2..589155d 100644
---- a/Xext/shm.c
-+++ b/Xext/shm.c
-@@ -52,6 +52,7 @@ in this Software without prior written authorization from The Open Group.
- #include "servermd.h"
- #include "shmint.h"
- #include "xace.h"
-+#include "registry.h"
- #include <X11/extensions/shmproto.h>
- #include <X11/Xfuncproto.h>
- #include "protocol-versions.h"
-@@ -283,6 +284,7 @@ ShmExtensionInit(INITARGS)
- 				 ProcShmDispatch, SProcShmDispatch,
- 				 ShmResetProc, StandardMinorOpcode)))
-     {
-+	RegisterResourceName(ShmSegType, "ShmSeg");
- 	ShmReqCode = (unsigned char)extEntry->base;
- 	ShmCompletionCode = extEntry->eventBase;
- 	BadShmSegCode = extEntry->errorBase;
-diff --git a/Xext/sleepuntil.c b/Xext/sleepuntil.c
-index 2616a5e..6b5964e 100644
---- a/Xext/sleepuntil.c
-+++ b/Xext/sleepuntil.c
-@@ -39,6 +39,7 @@ in this Software without prior written authorization from The Open Group.
- #include "dixstruct.h"
- #include "pixmapstr.h"
- #include "scrnintstr.h"
-+#include "registry.h"
- 
- typedef struct _Sertafied {
-     struct _Sertafied	*next;
-@@ -90,6 +91,7 @@ ClientSleepUntil (ClientPtr client,
- 	SertafiedResType = CreateNewResourceType (SertafiedDelete);
- 	if (!SertafiedResType)
- 	    return FALSE;
-+	RegisterResourceName(SertafiedResType, "ClientSleep");
- 	SertafiedGeneration = serverGeneration;
- 	BlockHandlerRegistered = FALSE;
-     }
-diff --git a/Xext/sync.c b/Xext/sync.c
-index d8a2b15..b3bba17 100644
---- a/Xext/sync.c
-+++ b/Xext/sync.c
-@@ -64,6 +64,7 @@ PERFORMANCE OF THIS SOFTWARE.
- #include "extnsionst.h"
- #include "dixstruct.h"
- #include "resource.h"
-+#include "registry.h"
- #include "opaque.h"
- #include <X11/extensions/syncproto.h>
- #include "syncsrv.h"
-@@ -878,6 +879,7 @@ SyncCreateSystemCounter(
- 	{
- 	    return NULL;
- 	}
-+	RegisterResourceName(RTCounter, "SyncCounter");
-     }
- 
-     pCounter = SyncCreateCounter(NULL, FakeClientID(0), initial);
-@@ -2133,6 +2135,10 @@ SyncExtensionInit(void)
- 	return;
-     }
- 
-+    RegisterResourceName(RTCounter, "SyncCounter");
-+    RegisterResourceName(RTAlarm, "SyncAlarm");
-+    RegisterResourceName(RTAwait, "SyncAwait");
-+    RegisterResourceName(RTAlarmClient, "SyncAlarmClient");
-     SyncEventBase = extEntry->eventBase;
-     SyncErrorBase = extEntry->errorBase;
-     EventSwapVector[SyncEventBase + XSyncCounterNotify] = (EventSwapPtr) SCounterNotifyEvent;
-diff --git a/Xext/xvdisp.c b/Xext/xvdisp.c
-index 1f3fc0f..e674dfd 100644
---- a/Xext/xvdisp.c
-+++ b/Xext/xvdisp.c
-@@ -36,6 +36,7 @@ SOFTWARE.
- #include "gcstruct.h"
- #include "dixstruct.h"
- #include "resource.h"
-+#include "registry.h"
- #include "opaque.h"
- 
- #include <X11/extensions/Xv.h>
-@@ -1867,6 +1868,8 @@ void XineramifyXv(void)
- 
-    if (!xvsp0 || !XvXRTPort) return;
- 
-+   RegisterResourceName(XvXRTPort, "XvXRTPort");
-+
-    for(i = 0; i < xvsp0->nAdaptors; i++) {
-       refAdapt = xvsp0->pAdaptors + i;
- 
-diff --git a/Xext/xvmain.c b/Xext/xvmain.c
-index 7c8a3c3..c33c209 100644
---- a/Xext/xvmain.c
-+++ b/Xext/xvmain.c
-@@ -90,6 +90,7 @@ SOFTWARE.
- #include "extnsionst.h"
- #include "dixstruct.h"
- #include "resource.h"
-+#include "registry.h"
- #include "opaque.h"
- #include "input.h"
- 
-@@ -213,36 +214,42 @@ CreateResourceTypes(void)
-       ErrorF("CreateResourceTypes: failed to allocate port resource.\n");
-       return FALSE;
-     }
--  
-+  RegisterResourceName(XvRTPort, "XvRTPort");
-+
-   if (!(XvRTGrab = CreateNewResourceType(XvdiDestroyGrab)))
-     {
-       ErrorF("CreateResourceTypes: failed to allocate grab resource.\n");
-       return FALSE;
-     }
--  
-+  RegisterResourceName(XvRTGrab, "XvRTGrab");
-+
-   if (!(XvRTEncoding = CreateNewResourceType(XvdiDestroyEncoding)))
-     {
-       ErrorF("CreateResourceTypes: failed to allocate encoding resource.\n");
-       return FALSE;
-     }
--  
-+  RegisterResourceName(XvRTEncoding, "XvRTEncoding");
-+
-   if (!(XvRTVideoNotify = CreateNewResourceType(XvdiDestroyVideoNotify)))
-     {
-       ErrorF("CreateResourceTypes: failed to allocate video notify resource.\n");
-       return FALSE;
-     }
--  
-+  RegisterResourceName(XvRTVideoNotify, "XvRTVideoNotify");
-+
-   if (!(XvRTVideoNotifyList = CreateNewResourceType(XvdiDestroyVideoNotifyList)))
-     {
-       ErrorF("CreateResourceTypes: failed to allocate video notify list resource.\n");
-       return FALSE;
-     }
-+  RegisterResourceName(XvRTVideoNotifyList, "XvRTVideoNotifyList");
- 
-   if (!(XvRTPortNotify = CreateNewResourceType(XvdiDestroyPortNotify)))
-     {
-       ErrorF("CreateResourceTypes: failed to allocate port notify resource.\n");
-       return FALSE;
-     }
-+  RegisterResourceName(XvRTPortNotify, "XvRTPortNotify");
- 
-   return TRUE;
- 
-diff --git a/Xext/xvmc.c b/Xext/xvmc.c
-index c17a4b1..0a233b1 100644
---- a/Xext/xvmc.c
-+++ b/Xext/xvmc.c
-@@ -11,6 +11,7 @@
- #include "os.h"
- #include "dixstruct.h"
- #include "resource.h"
-+#include "registry.h"
- #include "scrnintstr.h"
- #include "extnsionst.h"
- #include "servermd.h"
-@@ -676,12 +677,15 @@ XvMCExtensionInit(void)
- 
-    if(!(XvMCRTContext = CreateNewResourceType(XvMCDestroyContextRes)))
- 	return;
-+   RegisterResourceName(XvMCRTContext, "XvMCRTContext");
- 
-    if(!(XvMCRTSurface = CreateNewResourceType(XvMCDestroySurfaceRes)))
- 	return;
-+   RegisterResourceName(XvMCRTSurface, "XvMCRTSurface");
- 
-    if(!(XvMCRTSubpicture = CreateNewResourceType(XvMCDestroySubpictureRes)))
- 	return;
-+   RegisterResourceName(XvMCRTSubpicture, "XvMCRTSubpicture");
- 
-    extEntry = AddExtension(XvMCName, XvMCNumEvents, XvMCNumErrors, 
-                               ProcXvMCDispatch, SProcXvMCDispatch,
-diff --git a/composite/compext.c b/composite/compext.c
-index b5afdd3..74f0309 100644
---- a/composite/compext.c
-+++ b/composite/compext.c
-@@ -47,6 +47,7 @@
- 
- #include "compint.h"
- #include "xace.h"
-+#include "registry.h"
- #include "protocol-versions.h"
- 
- static CARD8	CompositeReqCode;
-@@ -549,14 +550,19 @@ CompositeExtensionInit (void)
-     CompositeClientWindowType = CreateNewResourceType (FreeCompositeClientWindow);
-     if (!CompositeClientWindowType)
- 	return;
-+    RegisterResourceName(CompositeClientWindowType, "CompositeClientWindow");
- 
-     CompositeClientSubwindowsType = CreateNewResourceType (FreeCompositeClientSubwindows);
-     if (!CompositeClientSubwindowsType)
- 	return;
-+    RegisterResourceName(CompositeClientSubwindowsType,
-+			 "CompositeClientSubwindows");
- 
-     CompositeClientOverlayType = CreateNewResourceType (FreeCompositeClientOverlay);
-     if (!CompositeClientOverlayType)
- 	return;
-+    RegisterResourceName(CompositeClientOverlayType,
-+			 "CompositeClientOverlay");
- 
-     if (!dixRequestPrivate(CompositeClientPrivateKey,
- 			   sizeof(CompositeClientRec)))
-diff --git a/damageext/damageext.c b/damageext/damageext.c
-index 449c2fd..044e8ef 100644
---- a/damageext/damageext.c
-+++ b/damageext/damageext.c
-@@ -24,6 +24,7 @@
- #include <dix-config.h>
- #endif
- 
-+#include "registry.h"
- #include "damageextint.h"
- #include "protocol-versions.h"
- 
-@@ -500,10 +501,12 @@ DamageExtensionInit(void)
-     DamageExtType = CreateNewResourceType (FreeDamageExt);
-     if (!DamageExtType)
- 	return;
-+    RegisterResourceName(DamageExtType, "DamageExt");
- 
-     DamageExtWinType = CreateNewResourceType (FreeDamageExtWin);
-     if (!DamageExtWinType)
- 	return;
-+    RegisterResourceName(DamageExtWinType, "DamageExtWin");
- 
-     if (!dixRequestPrivate(DamageClientPrivateKey, sizeof (DamageClientRec)))
- 	return;
-diff --git a/dbe/dbe.c b/dbe/dbe.c
-index 8d2a343..7af8736 100644
---- a/dbe/dbe.c
-+++ b/dbe/dbe.c
-@@ -54,6 +54,7 @@
- #include "dbestruct.h"
- #include "midbe.h"
- #include "xace.h"
-+#include "registry.h"
- 
- /* GLOBALS */
- 
-@@ -1577,11 +1578,13 @@ DbeExtensionInit(void)
-     if (!dbeDrawableResType)
- 	return;
-     dbeDrawableResType |= RC_DRAWABLE;
-+    RegisterResourceName(dbeDrawableResType, "dbeDrawable");
- 
-     dbeWindowPrivResType =
-         CreateNewResourceType(DbeWindowPrivDelete);
-     if (!dbeWindowPrivResType)
- 	return;
-+    RegisterResourceName(dbeWindowPrivResType, "dbeWindow");
- 
-     if (!dixRegisterPrivateOffset(dbeDrawableResType,
- 				  offsetof(PixmapRec, devPrivates)))
-diff --git a/hw/dmx/glxProxy/glxext.c b/hw/dmx/glxProxy/glxext.c
-index 0c39068..c00ae6e 100644
---- a/hw/dmx/glxProxy/glxext.c
-+++ b/hw/dmx/glxProxy/glxext.c
-@@ -44,6 +44,7 @@
- #include "glxvisuals.h"
- #include "micmap.h"
- #include "glxswap.h"
-+#include "registry.h"
- 
- /*
- ** Stubs to satisfy miinitext.c references.
-@@ -303,6 +304,12 @@ void GlxExtensionInit(void)
- 	!__glXWindowRes || !__glXPbufferRes)
- 	return;
- 
-+    RegisterResourceName(__glXContextRes, "GLXContext");
-+    RegisterResourceName(__glXClientRes, "GLXClient");
-+    RegisterResourceName(__glXPixmapRes, "GLXPixmap");
-+    RegisterResourceName(__glXWindowRes, "GLXWindow");
-+    RegisterResourceName(__glXPbufferRes, "GLXPbuffer");
-+
-     /*
-     ** Add extension to server extensions.
-     */
-diff --git a/hw/kdrive/ephyr/ephyrdriext.c b/hw/kdrive/ephyr/ephyrdriext.c
-index ba1733b..a2839ea 100644
---- a/hw/kdrive/ephyr/ephyrdriext.c
-+++ b/hw/kdrive/ephyr/ephyrdriext.c
-@@ -43,6 +43,7 @@
- #include "privates.h"
- #include "dixstruct.h"
- #include "extnsionst.h"
-+#include "registry.h"
- #include "colormapst.h"
- #include "cursorstr.h"
- #include "scrnintstr.h"
-@@ -145,6 +146,7 @@ ephyrDRIExtensionInit (ScreenPtr a_screen)
-         EPHYR_LOG_ERROR ("failed to register DRI event resource type\n") ;
-         goto out ;
-     }
-+    RegisterResourceName(EventType, "DRIEvents");
- #endif
- 
-     if ((extEntry = AddExtension(XF86DRINAME,
-diff --git a/hw/xfree86/dixmods/extmod/xf86vmode.c b/hw/xfree86/dixmods/extmod/xf86vmode.c
-index 4920115..c35a83f 100644
---- a/hw/xfree86/dixmods/extmod/xf86vmode.c
-+++ b/hw/xfree86/dixmods/extmod/xf86vmode.c
-@@ -39,6 +39,7 @@ from Kaleb S. KEITHLEY
- #include "misc.h"
- #include "dixstruct.h"
- #include "extnsionst.h"
-+#include "registry.h"
- #include "scrnintstr.h"
- #include "servermd.h"
- #include <X11/extensions/xf86vmproto.h>
-@@ -201,6 +202,7 @@ XFree86VidModeExtensionInit(void)
- #endif
- 	VidModeErrorBase = extEntry->errorBase;
- #ifdef XF86VIDMODE_EVENTS
-+	RegisterResourceName(EventType, "VidModeEvent");
- 	XF86VidModeEventBase = extEntry->eventBase;
- 	EventSwapVector[XF86VidModeEventBase] = (EventSwapPtr)SXF86VidModeNotifyEvent;
- #endif
-diff --git a/hw/xfree86/dri/dri.c b/hw/xfree86/dri/dri.c
-index 1a6cb4d..be0604e 100644
---- a/hw/xfree86/dri/dri.c
-+++ b/hw/xfree86/dri/dri.c
-@@ -51,6 +51,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- #include "misc.h"
- #include "dixstruct.h"
- #include "extnsionst.h"
-+#include "registry.h"
- #include "colormapst.h"
- #include "cursorstr.h"
- #include "scrnintstr.h"
-@@ -794,6 +795,8 @@ DRIExtensionInit(void)
- 
-     if (!DRIDrawablePrivResType || !DRIContextPrivResType)
- 	return FALSE;
-+    RegisterResourceName(DRIDrawablePrivResType, "DRIDrawable");
-+    RegisterResourceName(DRIContextPrivResType, "DRIContext");
- 
-     RegisterBlockAndWakeupHandlers(DRIBlockHandler, DRIWakeupHandler, NULL);
- 
-diff --git a/hw/xfree86/dri/xf86dri.c b/hw/xfree86/dri/xf86dri.c
-index 035057b..2da9767 100644
---- a/hw/xfree86/dri/xf86dri.c
-+++ b/hw/xfree86/dri/xf86dri.c
-@@ -47,6 +47,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- #include "misc.h"
- #include "dixstruct.h"
- #include "extnsionst.h"
-+#include "registry.h"
- #include "colormapst.h"
- #include "cursorstr.h"
- #include "scrnintstr.h"
-@@ -111,6 +112,9 @@ XFree86DRIExtensionInit(void)
- 				 StandardMinorOpcode))) {
- 	DRIReqCode = (unsigned char)extEntry->base;
- 	DRIErrorBase = extEntry->errorBase;
-+#ifdef XF86DRI_EVENTS
-+	RegisterResourceName(EventType, "DRIEvent");
-+#endif
-     }
- }
- 
-diff --git a/hw/xfree86/dri2/dri2ext.c b/hw/xfree86/dri2/dri2ext.c
-index 8acf267..112e76c 100644
---- a/hw/xfree86/dri2/dri2ext.c
-+++ b/hw/xfree86/dri2/dri2ext.c
-@@ -42,6 +42,7 @@
- #include "scrnintstr.h"
- #include "pixmapstr.h"
- #include "extnsionst.h"
-+#include "registry.h"
- #include "xf86drm.h"
- #include "xfixes.h"
- #include "dri2.h"
-@@ -421,6 +422,8 @@ DRI2ExtensionInit(void)
-     if (!dri2DrawableRes)
- 	return;
- 
-+    RegisterResourceName(dri2DrawableRes, "DRI2Drawable");
-+
-     dri2Extension = AddExtension(DRI2_NAME,
- 				 DRI2NumberEvents,
- 				 DRI2NumberErrors,
-diff --git a/hw/xquartz/applewm.c b/hw/xquartz/applewm.c
-index d1a6175..26cf5d2 100644
---- a/hw/xquartz/applewm.c
-+++ b/hw/xquartz/applewm.c
-@@ -37,6 +37,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- #include "dixstruct.h"
- #include "globals.h"
- #include "extnsionst.h"
-+#include "registry.h"
- #include "colormapst.h"
- #include "cursorstr.h"
- #include "scrnintstr.h"
-@@ -129,6 +130,8 @@ AppleWMExtensionInit(
-         WMEventBase = extEntry->eventBase;
-         EventSwapVector[WMEventBase] = (EventSwapPtr) SNotifyEvent;
-         appleWMProcs = procsPtr;
-+	RegisterResourceName(ClientType, "WMClient");
-+	RegisterResourceName(EventType, "WMEvent");
-     }
- }
- 
-diff --git a/hw/xquartz/xpr/dri.c b/hw/xquartz/xpr/dri.c
-index a9c0f22..b59f5d3 100644
---- a/hw/xquartz/xpr/dri.c
-+++ b/hw/xquartz/xpr/dri.c
-@@ -55,6 +55,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- #include "misc.h"
- #include "dixstruct.h"
- #include "extnsionst.h"
-+#include "registry.h"
- #include "colormapst.h"
- #include "cursorstr.h"
- #include "scrnintstr.h"
-@@ -279,6 +280,9 @@ DRIExtensionInit(void)
- {
-     DRIDrawablePrivResType = CreateNewResourceType(DRIDrawablePrivDelete);
- 
-+    if (DRIDrawablePrivResType != 0)
-+	RegisterResourceName(DRIDrawablePrivResType, "DRIDrawable");
-+
-     return (DRIDrawablePrivResType != 0);
- }
- 
-diff --git a/hw/xwin/winwindowswm.c b/hw/xwin/winwindowswm.c
-index 3d4d8c2..2383c59 100755
---- a/hw/xwin/winwindowswm.c
-+++ b/hw/xwin/winwindowswm.c
-@@ -34,6 +34,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- #include "misc.h"
- #include "dixstruct.h"
- #include "extnsionst.h"
-+#include "registry.h"
- #include "colormapst.h"
- #include "cursorstr.h"
- #include "scrnintstr.h"
-@@ -102,6 +103,8 @@ winWindowsWMExtensionInit ()
-       WMErrorBase = extEntry->errorBase;
-       WMEventBase = extEntry->eventBase;
-       EventSwapVector[WMEventBase] = (EventSwapPtr) SNotifyEvent;
-+      RegisterResourceName(ClientType, "WMClient");
-+      RegisterResourceName(eventResourceType, "WMEvent");
-     }
- }
- 
-diff --git a/mi/miarc.c b/mi/miarc.c
-index a3e2580..b4b684b 100644
---- a/mi/miarc.c
-+++ b/mi/miarc.c
-@@ -62,6 +62,7 @@ SOFTWARE.
- #include "mifpoly.h"
- #include "mi.h"
- #include "mifillarc.h"
-+#include "registry.h"
- #include <X11/Xfuncproto.h>
- 
- static double miDsin(double a);
-@@ -867,6 +868,7 @@ miComputeWideEllipse(
- 	if (!cacheType)
- 	{
- 	    cacheType = CreateNewResourceType(miFreeArcCache);
-+	    RegisterResourceName(cacheType, "miArcCache");
- 	    (void) AddResource(FakeClientID(0), cacheType, NULL);
- 	}
-     } else {
-diff --git a/randr/randr.c b/randr/randr.c
-index 5944564..7d59a68 100644
---- a/randr/randr.c
-+++ b/randr/randr.c
-@@ -29,6 +29,8 @@
- #include <dix-config.h>
- #endif
- 
-+#include "registry.h"
-+
- #include "randrstr.h"
- 
- /* From render.h */
-@@ -339,9 +341,11 @@ RRExtensionInit (void)
-     RRClientType = CreateNewResourceType(RRFreeClient);
-     if (!RRClientType)
- 	return;
-+    RegisterResourceName(RRClientType, "RandRClient");
-     RREventType = CreateNewResourceType(RRFreeEvents);
-     if (!RREventType)
- 	return;
-+    RegisterResourceName(RREventType, "RandREvent");
-     extEntry = AddExtension (RANDR_NAME, RRNumberEvents, RRNumberErrors,
- 			     ProcRRDispatch, SProcRRDispatch,
- 			     NULL, StandardMinorOpcode);
-diff --git a/record/record.c b/record/record.c
-index b94b4ae..649f4b2 100644
---- a/record/record.c
-+++ b/record/record.c
-@@ -44,6 +44,7 @@ and Jim Haggerty of Metheus.
- #include "inputstr.h"
- #include "eventconvert.h"
- 
-+#include "registry.h"
- 
- #include <stdio.h>
- #include <assert.h>
-@@ -2878,6 +2879,7 @@ RecordExtensionInit(void)
-     RTContext = CreateNewResourceType(RecordDeleteContext);
-     if (!RTContext)
- 	return;
-+    RegisterResourceName(RTContext, "RecordContext");
- 
-     ppAllContexts = NULL;
-     numContexts = numEnabledContexts = numEnabledRCAPs = 0;
-diff --git a/render/render.c b/render/render.c
-index a32d797..53bb555 100644
---- a/render/render.c
-+++ b/render/render.c
-@@ -46,6 +46,7 @@
- #include "cursorstr.h"
- #include "xace.h"
- #include "protocol-versions.h"
-+#include "registry.h"
- 
- #if HAVE_STDINT_H
- #include <stdint.h>
-@@ -3241,6 +3242,9 @@ PanoramiXRenderInit (void)
-     int	    i;
-     
-     XRT_PICTURE = CreateNewResourceType (XineramaDeleteResource);
-+    if (XRT_PICTURE)
-+	RegisterResourceName(XRT_PICTURE, "XineramaPicture");
-+
-     for (i = 0; i < RenderNumberRequests; i++)
- 	PanoramiXSaveRenderVector[i] = ProcRenderVector[i];
-     /*
-diff --git a/xfixes/cursor.c b/xfixes/cursor.c
-index c3e1e35..0ef3e3a 100644
---- a/xfixes/cursor.c
-+++ b/xfixes/cursor.c
-@@ -53,6 +53,7 @@
- #include "inputstr.h"
- #include "windowstr.h"
- #include "xace.h"
-+#include "registry.h"
- 
- static RESTYPE		CursorClientType;
- static RESTYPE		CursorHideCountType;
-@@ -1085,8 +1086,14 @@ XFixesCursorInit (void)
- 	SetCursorScreen (pScreen, cs);
-     }
-     CursorClientType = CreateNewResourceType(CursorFreeClient);
-+    if (CursorClientType)
-+	RegisterResourceName(CursorClientType, "XFixesCursorClient");
-     CursorHideCountType = CreateNewResourceType(CursorFreeHideCount);
-+    if (CursorHideCountType)
-+	RegisterResourceName(CursorClientType, "XFixesCursorClient");
-     CursorWindowType = CreateNewResourceType(CursorFreeWindow);
-+    if (CursorWindowType)
-+	RegisterResourceName(CursorWindowType, "XFixesCursorWindow");
- 
-     if (pInvisibleCursor == NULL) {
- 	pInvisibleCursor = createInvisibleCursor();
-diff --git a/xfixes/region.c b/xfixes/region.c
-index 59d8cee..3942c9d 100644
---- a/xfixes/region.c
-+++ b/xfixes/region.c
-@@ -33,6 +33,7 @@ extern int RenderErrBase;
- #include <regionstr.h>
- #include <gcstruct.h>
- #include <window.h>
-+#include "registry.h"
- 
- RESTYPE RegionResType;
- 
-@@ -65,6 +66,9 @@ XFixesRegionInit (void)
- {
-     RegionResType = CreateNewResourceType(RegionResFree);
- 
-+    if (RegionResType)
-+	RegisterResourceName(RegionResType, "XFixesRegion");
-+
-     return (RegionResType != 0);
- }
- 
-diff --git a/xfixes/select.c b/xfixes/select.c
-index a5811bd..5a00ea8 100644
---- a/xfixes/select.c
-+++ b/xfixes/select.c
-@@ -26,6 +26,7 @@
- 
- #include "xfixesint.h"
- #include "xace.h"
-+#include "registry.h"
- 
- static RESTYPE		SelectionClientType, SelectionWindowType;
- static Bool		SelectionCallbackRegistered = FALSE;
-@@ -285,6 +286,11 @@ Bool
- XFixesSelectionInit (void)
- {
-     SelectionClientType = CreateNewResourceType(SelectionFreeClient);
-+    if (SelectionClientType)
-+	RegisterResourceName(SelectionClientType, "XFixesSelectionClient");
-     SelectionWindowType = CreateNewResourceType(SelectionFreeWindow);
-+    if (SelectionWindowType)
-+	RegisterResourceName(SelectionWindowType, "XFixesSelectionWindow");
-+
-     return SelectionClientType && SelectionWindowType;
- }
-diff --git a/xkb/xkb.c b/xkb/xkb.c
-index c490f8b..f5ccd16 100644
---- a/xkb/xkb.c
-+++ b/xkb/xkb.c
-@@ -39,6 +39,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
- #include "xace.h"
- #include "xkb.h"
- #include "protocol-versions.h"
-+#include "registry.h"
- 
- #include <X11/extensions/XI.h>
- #include <X11/extensions/XKMformat.h>
-@@ -6707,6 +6708,7 @@ XkbExtensionInit(void)
-     RT_XKBCLIENT = CreateNewResourceType(XkbClientGone);
-     if (!RT_XKBCLIENT)
- 	return;
-+    RegisterResourceName(RT_XKBCLIENT, "XkbClient");
- 
-     if ((extEntry = AddExtension(XkbName, XkbNumberEvents, XkbNumberErrors,
- 				 ProcXkbDispatch, SProcXkbDispatch,
--- 
-1.5.6.5
-
--- a/open-src/xserver/xorg/signal-handler.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/signal-handler.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -1,7 +1,7 @@
-diff -urp -x '*~' -x '*.orig' hw/xfree86/dri/dri.c hw/xfree86/dri/dri.c
---- hw/xfree86/dri/dri.c	2009-12-02 18:58:16.434496135 -0800
-+++ hw/xfree86/dri/dri.c	2009-12-02 18:58:18.707182684 -0800
-@@ -2490,7 +2490,11 @@ int drmInstallSIGIOHandler(int fd, void 
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/dri/dri.c hw/xfree86/dri/dri.c
+--- hw/xfree86/dri/dri.c	2010-06-06 10:53:51.000000000 -0700
++++ hw/xfree86/dri/dri.c	2010-09-03 16:45:27.658917271 -0700
+@@ -2494,7 +2494,11 @@ int drmInstallSIGIOHandler(int fd, void 
      entry     = drmGetEntry(fd);
      entry->f  = f;
  
@@ -13,7 +13,7 @@
  }
  
  int drmRemoveSIGIOHandler(int fd)
-@@ -2499,5 +2503,9 @@ int drmRemoveSIGIOHandler(int fd)
+@@ -2503,5 +2507,9 @@ int drmRemoveSIGIOHandler(int fd)
  
      entry->f = NULL;
  
--- a/open-src/xserver/xorg/sparc-initvisuals.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/sparc-initvisuals.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -1,7 +1,7 @@
-diff -urp -x '*~' -x '*.orig' mi/micmap.c mi/micmap.c
---- mi/micmap.c	2009-10-27 23:56:24.000000000 -0700
-+++ mi/micmap.c	2009-12-02 18:58:23.806599766 -0800
-@@ -499,6 +499,11 @@ maskShift (Pixel p)
+diff -Nurp -x '*~' -x '*.orig' mi/micmap.c mi/micmap.c
+--- mi/micmap.c	2010-06-10 07:07:55.000000000 -0700
++++ mi/micmap.c	2010-09-03 16:45:35.359696561 -0700
+@@ -494,6 +494,11 @@ maskShift (Pixel p)
   * the set which can be used with this version of cfb.
   */
  
@@ -13,7 +13,7 @@
  Bool
  miInitVisuals(VisualPtr *visualp, DepthPtr *depthp, int *nvisualp,
  		int *ndepthp, int *rootDepthp, VisualID *defaultVisp,
-@@ -518,6 +523,13 @@ miInitVisuals(VisualPtr *visualp, DepthP
+@@ -513,6 +518,13 @@ miInitVisuals(VisualPtr *visualp, DepthP
      int		*preferredCVCs, *prefp;
      int		first_depth;
  
--- a/open-src/xserver/xorg/sparc-nopciprobe.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/sparc-nopciprobe.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -23,11 +23,11 @@
 Omit Bus probing on sparc. It is terribly slow and we get the same info thru /dev/fb
 
 *** hw/xfree86/common/xf86Init.c.orig	Thu Dec 18 18:01:47 2008
-diff -urp -x '*~' -x '*.orig' hw/xfree86/common/xf86Init.c hw/xfree86/common/xf86Init.c
---- hw/xfree86/common/xf86Init.c	2009-10-08 21:08:28.000000000 -0700
-+++ hw/xfree86/common/xf86Init.c	2009-11-03 22:29:02.592675371 -0800
-@@ -604,7 +604,10 @@ InitOutput(ScreenInfo *pScreenInfo, int 
-     xf86OpenConsole();
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/common/xf86Init.c hw/xfree86/common/xf86Init.c
+--- hw/xfree86/common/xf86Init.c	2010-06-10 07:07:55.000000000 -0700
++++ hw/xfree86/common/xf86Init.c	2010-09-03 16:45:14.619429003 -0700
+@@ -396,7 +396,10 @@ InitOutput(ScreenInfo *pScreenInfo, int 
+         DoShowOptions();
  
      /* Do a general bus probe.  This will be a PCI probe for x86 platforms */
 +#if (!defined(__sparc__) && !defined(__sparc))
--- a/open-src/xserver/xorg/sparc-probe.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/sparc-probe.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -22,9 +22,9 @@
 
 Allow probing for /dev/fb cards other than the traditional sbus devices.
 
-diff -urp -x '*~' -x '*.orig' hw/xfree86/common/xf86sbusBus.c hw/xfree86/common/xf86sbusBus.c
---- hw/xfree86/common/xf86sbusBus.c	2009-08-10 21:00:23.000000000 -0700
-+++ hw/xfree86/common/xf86sbusBus.c	2009-11-03 22:29:01.187852455 -0800
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/common/xf86sbusBus.c hw/xfree86/common/xf86sbusBus.c
+--- hw/xfree86/common/xf86sbusBus.c	2010-06-10 07:07:55.000000000 -0700
++++ hw/xfree86/common/xf86sbusBus.c	2010-09-03 16:45:12.667073647 -0700
 @@ -40,6 +40,10 @@
  #include "xf86sbusBus.h"
  #include "xf86Sbus.h"
@@ -38,7 +38,7 @@
  static int xf86nSbusInfo;
 @@ -212,8 +216,25 @@ xf86SbusProbe(void)
  		xf86ErrorF(" at %s", promPath);
- 		xfree(promPath);
+ 		free(promPath);
  	    }
 -	} else
 +	} else {
@@ -63,9 +63,9 @@
  	xf86ErrorF("\n");
      }
      if (useProm)
-diff -urp -x '*~' -x '*.orig' hw/xfree86/common/xf86sbusBus.h hw/xfree86/common/xf86sbusBus.h
---- hw/xfree86/common/xf86sbusBus.h	2009-08-10 21:00:23.000000000 -0700
-+++ hw/xfree86/common/xf86sbusBus.h	2009-11-03 22:29:01.188001632 -0800
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/common/xf86sbusBus.h hw/xfree86/common/xf86sbusBus.h
+--- hw/xfree86/common/xf86sbusBus.h	2010-06-05 18:16:49.000000000 -0700
++++ hw/xfree86/common/xf86sbusBus.h	2010-09-03 16:45:12.667333987 -0700
 @@ -39,6 +39,7 @@
  #define SBUS_DEVICE_FFB		0x000b
  #define SBUS_DEVICE_GT		0x000c
@@ -74,9 +74,9 @@
  
  typedef struct sbus_prom_node {
      int			node;
-diff -urp -x '*~' -x '*.orig' hw/xfree86/os-support/bus/Sbus.c hw/xfree86/os-support/bus/Sbus.c
---- hw/xfree86/os-support/bus/Sbus.c	2009-08-10 21:00:24.000000000 -0700
-+++ hw/xfree86/os-support/bus/Sbus.c	2009-11-03 22:29:01.188224955 -0800
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/os-support/bus/Sbus.c hw/xfree86/os-support/bus/Sbus.c
+--- hw/xfree86/os-support/bus/Sbus.c	2010-07-14 13:23:17.000000000 -0700
++++ hw/xfree86/os-support/bus/Sbus.c	2010-09-03 16:45:12.667732075 -0700
 @@ -68,6 +68,7 @@ struct sbus_devtable sbusDeviceTable[] =
      { SBUS_DEVICE_TCX, FBTYPE_TCXCOLOR, "tcx", "suntcx", "Sun TCX" },
      { SBUS_DEVICE_FFB, FBTYPE_CREATOR, "ffb", "sunffb", "Sun FFB" },
--- a/open-src/xserver/xorg/sun-manpage.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/sun-manpage.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -1,19 +1,19 @@
 diff -Nurp -x '*~' -x '*.orig' cpprules.in cpprules.in
-diff -urp -x '*~' -x '*.orig' cpprules.in cpprules.in
---- cpprules.in	2010-03-12 12:38:21.000000000 +0800
-+++ cpprules.in	2010-04-21 15:37:09.527675889 +0800
-@@ -25,7 +25,7 @@ XORGRELSTRING = @PACKAGE_STRING@
+diff -Nurp -x '*~' -x '*.orig' cpprules.in cpprules.in
+--- cpprules.in	2010-04-27 13:16:52.000000000 -0700
++++ cpprules.in	2011-02-15 15:53:08.559356397 -0800
+@@ -23,7 +23,7 @@ XORGRELSTRING = @PACKAGE_STRING@
    XORGMANNAME = X Version 11
    XSERVERNAME = Xorg
  
 -MANDEFS = \
-+MANDEFS = -D__SUNSOFT__ -D__distroname__="$${DISTRO_NAME}" \
++MANDEFS = -D__SOLARIS_BUILD__ -D__distroname__="$${DISTRO_NAME}" \
          -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \
          -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \
  	-D__appmansuffix__=$(APP_MAN_SUFFIX) \
-diff -urp -x '*~' -x '*.orig' doc/Xserver.man.pre doc/Xserver.man.pre
---- doc/Xserver.man.pre	2010-03-12 12:38:21.000000000 +0800
-+++ doc/Xserver.man.pre	2010-04-21 15:37:09.528520653 +0800
+diff -Nurp -x '*~' -x '*.orig' doc/Xserver.man.pre doc/Xserver.man.pre
+--- doc/Xserver.man.pre	2010-05-21 23:06:42.000000000 -0700
++++ doc/Xserver.man.pre	2011-02-15 15:53:08.559855800 -0800
 @@ -1,3 +1,25 @@
 +.\" 
 +.\" Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -44,7 +44,7 @@
  .SH SYNOPSIS
  .B X
  [option ...]
-+#ifdef __SUNSOFT__ 
++#ifdef __SOLARIS_BUILD__ 
 +\fB/usr/bin/Xserver\fP [\fB-c\fP \fIclass\fP] \fB:\fP\fIdisplaynumber\fP [\fIX server arguments\fP]
 +#endif
 +.PP
@@ -53,7 +53,7 @@
  is the generic name for the X Window System display server.  It is
  frequently a link or a copy of the appropriate server binary for
  driving the most frequently used server on a given machine.
-+#ifdef __SUNSOFT__
++#ifdef __SOLARIS_BUILD__
 +In this release of __distroname__, /usr/bin/X is a link to the 
 +Xserver program which starts the appropriate X server based on properties
 +set for the service management facility, under the service identifier
@@ -61,7 +61,7 @@
 +SMF PROPERTIES section below.
 +#endif
  .SH "STARTING THE SERVER"
-+#ifdef __SUNSOFT__
++#ifdef __SOLARIS_BUILD__
 +On __distroname__, the X server is usually started from the GNOME
 +Display Manager program \fIgdm\fP(1m).   This role may also be performed
 +by the X Display Manager program \fIxdm\fP(1), or another display manager. 
@@ -72,11 +72,11 @@
  This utility is run from the system boot files and takes care of keeping
  the server running, prompting for usernames and passwords, and starting up
  the user sessions.
-@@ -183,6 +222,35 @@ causes all remaining command line argume
- sets the maximum big request to
- .I size
- MB.
-+#ifdef __SUNSOFT__
+@@ -175,6 +214,35 @@ MB.
+ .TP 8
+ .B \-nocursor
+ disable the display of the pointer cursor.
++#ifdef __SOLARIS_BUILD__
 +.TP 8
 +.B \-nolisten \fItransport\fP
 +disables listening for client connections on the named transport. The 
@@ -108,7 +108,7 @@
  .TP 8
  .B \-nolisten \fItrans-type\fP
  disables a transport type.  For example, TCP/IP connections can be disabled
-@@ -190,6 +258,7 @@ with
+@@ -182,6 +250,7 @@ with
  .BR "\-nolisten tcp" .
  This option may be issued multiple times to disable listening to different
  transport types.
@@ -116,7 +116,7 @@
  .TP 8
  .B \-noreset
  prevents a server reset when the last client connection is closed.  This
-@@ -389,7 +458,7 @@ located in the XKB base directory or a s
+@@ -381,7 +450,7 @@ located in the XKB base directory or a s
  relative path from the XKB base directory.  The default XKB base directory is
  .IR __projectroot__/lib/X11/xkb .
  .TP 8
@@ -125,11 +125,11 @@
  enables(+) or disables(-) AccessX key sequences.
  .TP 8
  .B \-xkbdir \fIdirectory\fP
-@@ -545,6 +614,117 @@ the following font path:
+@@ -537,6 +606,117 @@ the following font path:
      /usr/share/fonts/default/Type1,
      /usr/share/fonts/default/ghostscript
  .fi
-+#ifdef __SUNSOFT__
++#ifdef __SOLARIS_BUILD__
 + 
 +.SH SMF PROPERTIES
 +.PP
@@ -243,11 +243,11 @@
  
  .SH FILES
  .TP 30
-@@ -559,12 +724,23 @@ Outline font directories
+@@ -551,12 +731,23 @@ Outline font directories
  .TP 30
  .I /tmp/.X11-unix/X\fBn\fP
  Unix domain socket for display number \fBn\fP
-+#ifdef __SUNSOFT__
++#ifdef __SOLARIS_BUILD__
 +.TP 30
 +.I /tmp/.X11-pipe/X\fBn\fP
 +Named pipe (FIFO) for display number \fBn\fP
@@ -258,7 +258,7 @@
  .TP 30
  .I __projectroot__/lib/X11/xdm/xdm-errors
  Default error log file if the server is run from \fIxdm\fP(1)
-+#ifdef __SUNSOFT__
++#ifdef __SOLARIS_BUILD__
 +.TP 30
 +.I /var/log/gdm/:\fBn\fP.log
 +Default error log file for display number \fBn\fP if the server is run 
@@ -267,23 +267,23 @@
  .SH "SEE ALSO"
  General information: \fIX\fP(__miscmansuffix__)
  .PP
-@@ -581,14 +757,28 @@ Security: \fIXsecurity\fP(__miscmansuffi
+@@ -573,14 +764,28 @@ Security: \fIXsecurity\fP(__miscmansuffi
  \fIxdm\fP(1), \fIxhost\fP(1), \fIxfwp\fP(1),
  .I "Security Extension Specification"
  .PP
-+#ifdef __SUNSOFT__
++#ifdef __SOLARIS_BUILD__
 +Starting the server: \fIgdm\fP(1m), \fIstartx\fP(1), \fIxdm\fP(1), \fIxinit\fP(1)
 +#else
  Starting the server: \fIstartx\fP(1), \fIxdm\fP(1), \fIxinit\fP(1)
 +#endif
  .PP
  Controlling the server once started: \fIxset\fP(1), \fIxsetroot\fP(1),
- \fIxhost\fP(1)
-+#ifdef __SUNSOFT__ 
+ \fIxhost\fP(1), \fIxinput\fP(1), \fIxrandr\fP(1)
++#ifdef __SOLARIS_BUILD__ 
 +.\" Only list the servers shipped on Solaris
 +.PP
 +Server-specific man pages:
-+\fIXorg\fP(1), \fIXephyr\fP(1), \fIXvfb\fP(1), \fIXvnc\fP(1)
++\fIXorg\fP(1), \fIXdmx\fP(1), \fIXephyr\fP(1), \fIXvfb\fP(1), \fIXvnc\fP(1)
 +.PP
 +Service management framework:
 +\fIsmf\fP(5), \fIsvcadm\fP(1M), \fIsvccfg\fP(1M)
@@ -291,7 +291,7 @@
  .PP
  Server-specific man pages:
  \fIXorg\fP(1), \fIXdmx\fP(1), \fIXephyr\fP(1), \fIXnest\fP(1),
- \fIXvfb\fP(1), \fIXDarwin\fP(1), \fIXWin\fP(1).
+ \fIXvfb\fP(1), \fIXquartz\fP(1), \fIXWin\fP(1).
 +#endif
  .PP
  Server internal documentation:
--- a/open-src/xserver/xorg/sun-paths.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/sun-paths.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -1,7 +1,7 @@
-diff -urp -x '*~' -x '*.orig' hw/xfree86/common/xf86Config.c hw/xfree86/common/xf86Config.c
---- hw/xfree86/common/xf86Config.c	2010-05-03 17:47:58.000000000 -0700
-+++ hw/xfree86/common/xf86Config.c	2010-10-20 20:27:00.062592706 -0700
-@@ -77,9 +77,9 @@ extern DeviceAssocRec mouse_assoc;
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/common/xf86Config.c hw/xfree86/common/xf86Config.c
+--- hw/xfree86/common/xf86Config.c	2010-06-10 23:10:22.000000000 -0700
++++ hw/xfree86/common/xf86Config.c	2011-02-15 15:53:04.379144701 -0800
+@@ -75,9 +75,9 @@ extern DeviceAssocRec mouse_assoc;
   */
  #ifndef ROOT_CONFIGPATH
  #define ROOT_CONFIGPATH	"%A," "%R," \
@@ -13,7 +13,7 @@
  			"/etc/X11/%X-%M," "/etc/X11/%X," "/etc/%X," \
  			"%P/etc/X11/%X.%H," "%P/etc/X11/%X-%M," \
  			"%P/etc/X11/%X," \
-@@ -87,8 +87,8 @@ extern DeviceAssocRec mouse_assoc;
+@@ -85,8 +85,8 @@ extern DeviceAssocRec mouse_assoc;
  			"%P/lib/X11/%X"
  #endif
  #ifndef USER_CONFIGPATH
@@ -24,23 +24,23 @@
  			"/etc/X11/%X-%M," "/etc/X11/%X," "/etc/%X," \
  			"%P/etc/X11/%X.%H," "%P/etc/X11/%X-%M," \
  			"%P/etc/X11/%X," \
-diff -urp -x '*~' -x '*.orig' hw/xfree86/common/xf86Globals.c hw/xfree86/common/xf86Globals.c
---- hw/xfree86/common/xf86Globals.c	2009-11-22 16:35:01.000000000 -0800
-+++ hw/xfree86/common/xf86Globals.c	2009-12-02 18:57:45.196668578 -0800
-@@ -143,7 +143,8 @@ xf86InfoRec xf86Info = {
- #endif
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/common/xf86Globals.c hw/xfree86/common/xf86Globals.c
+--- hw/xfree86/common/xf86Globals.c	2010-06-06 14:37:03.000000000 -0700
++++ hw/xfree86/common/xf86Globals.c	2011-02-15 15:53:04.379410669 -0800
+@@ -140,7 +140,8 @@ xf86InfoRec xf86Info = {
  };
  const char *xf86ConfigFile = NULL;
+ const char *xf86ConfigDir = NULL;
 -const char *xf86ModulePath = DEFAULT_MODULE_PATH;
 +/* Sun: add old module path for compatibility with out-of-tree driver packages */
 +const char *xf86ModulePath = DEFAULT_MODULE_PATH ",/usr/X11/lib/modules/";
  MessageType xf86ModPathFrom = X_DEFAULT;
  const char *xf86LogFile = DEFAULT_LOGPREFIX;
  MessageType xf86LogFileFrom = X_DEFAULT;
-diff -urp -x '*~' -x '*.orig' hw/xfree86/doc/man/xorg.conf.man.pre hw/xfree86/doc/man/xorg.conf.man.pre
---- hw/xfree86/doc/man/xorg.conf.man.pre	2010-05-03 17:47:59.000000000 -0700
-+++ hw/xfree86/doc/man/xorg.conf.man.pre	2010-10-20 20:27:00.063252935 -0700
-@@ -28,9 +28,9 @@ server is started as a normal user:
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/doc/man/xorg.conf.man.pre hw/xfree86/doc/man/xorg.conf.man.pre
+--- hw/xfree86/doc/man/xorg.conf.man.pre	2010-06-10 23:10:22.000000000 -0700
++++ hw/xfree86/doc/man/xorg.conf.man.pre	2011-02-15 15:53:04.380098603 -0800
+@@ -36,9 +36,9 @@ server is started as a normal user:
  .RS 4
  .nf
  .IR /etc/X11/ <cmdline>
@@ -52,7 +52,7 @@
  .I /etc/X11/__xconfigfile__\-4
  .I /etc/X11/__xconfigfile__
  .I /etc/__xconfigfile__
-@@ -62,10 +62,10 @@ search locations are as follows:
+@@ -70,10 +70,10 @@ search locations are as follows:
  .nf
  <cmdline>
  .IR /etc/X11/ <cmdline>
@@ -65,3 +65,14 @@
  .I /etc/X11/__xconfigfile__\-4
  .I /etc/X11/__xconfigfile__
  .I /etc/__xconfigfile__
+diff -Nurp -x '*~' -x '*.orig' include/xorg-server.h.in include/xorg-server.h.in
+--- include/xorg-server.h.in	2011-02-15 15:53:02.434190580 -0800
++++ include/xorg-server.h.in	2011-02-15 15:53:04.380266311 -0800
+@@ -184,6 +184,7 @@
+ /* X Access Control Extension */
+ #undef XACE
+ 
++#include <sys/isa_defs.h> /* Ensure _LP64 is defined when needed on Solaris */
+ #ifdef _LP64
+ #define _XSERVER64 1
+ #endif
--- a/open-src/xserver/xorg/sun-src/IA/interactive.c	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/sun-src/IA/interactive.c	Mon Mar 14 15:37:30 2011 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1993, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1993, 2011, Oracle and/or its affiliates. All rights reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -50,8 +50,6 @@
 #include <unistd.h>
 
 
-#define NEED_REPLIES
-#define NEED_EVENTS
 #include <X11/X.h>
 #include <X11/Xproto.h>
 #include "os.h"
@@ -66,20 +64,26 @@
 
 #include "interactive_srv.h"
 
-static int ProcIADispatch(ClientPtr client), SProcIADispatch(ClientPtr client);
-static int ProcIASetProcessInfo(ClientPtr client), SProcIASetProcessInfo(ClientPtr client);
-static int ProcIAGetProcessInfo(ClientPtr client), SProcIAGetProcessInfo(ClientPtr client);
-static int ProcIAQueryVersion(ClientPtr client), SProcIAQueryVersion(ClientPtr client);
+static int ProcIADispatch(ClientPtr client);
+static int SProcIADispatch(ClientPtr client);
+static int ProcIASetProcessInfo(ClientPtr client);
+static int SProcIASetProcessInfo(ClientPtr client);
+static int ProcIAGetProcessInfo(ClientPtr client);
+static int SProcIAGetProcessInfo(ClientPtr client);
+static int ProcIAQueryVersion(ClientPtr client);
+static int SProcIAQueryVersion(ClientPtr client);
 static void IACloseDown(ExtensionEntry *ext);
-static void IAClientStateChange(CallbackListPtr *pcbl, pointer nulldata, pointer calldata);
+static void IAClientStateChange(CallbackListPtr *pcbl, pointer nulldata,
+				pointer calldata);
 
-static int InitializeClass(void );
-static void SetIAPrivate(int*);
+static int InitializeClass(void);
+static void SetIAPrivate(int *);
 static void ChangeInteractive(ClientPtr);
 static int SetPriority(const ClientProcessPtr, int);
 static void ChangePriority(register ClientPtr client);
 
-static int SetClientPrivate(ClientPtr client, ConnectionPidPtr stuff, int length);
+static int SetClientPrivate(ClientPtr client, ConnectionPidPtr stuff,
+			    int length);
 static void FreeProcessList(IAClientPrivatePtr priv);
 /* static int LocalConnection(OsCommPtr); */
 static int PidSetEqual(ClientProcessPtr, ClientProcessPtr);
@@ -87,7 +91,7 @@
 static int IAWrapProcVectors(void);
 static int IAUnwrapProcVectors(void);
 
-static CARD32 IAInitTimerCall(OsTimerPtr timer,CARD32 now,pointer arg);
+static CARD32 IAInitTimerCall(OsTimerPtr timer, CARD32 now, pointer arg);
 
 static iaclass_t 	IAClass;
 static id_t		TScid;
@@ -98,8 +102,8 @@
 static OsTimerPtr 	IAInitTimer = NULL;
 static int (* IASavedProcVector[256]) (ClientPtr client);
 
-static int IAPrivKeyIndex;
-static DevPrivateKey IAPrivKey = &IAPrivKeyIndex;
+static DevPrivateKeyRec IAPrivKeyRec;
+#define IAPrivKey (&IAPrivKeyRec)
 
 #define GetIAClient(pClient)	\
     ((IAClientPrivatePtr) dixLookupPrivate(&(pClient)->devPrivates, IAPrivKey))
@@ -149,6 +153,9 @@
     if (SetPriority(&myProc, SET_PRIORITY) != Success)
 	return;
 
+    if (!dixRegisterPrivateKey(&IAPrivKeyRec, PRIVATE_CLIENT, 0))
+	return;
+
     if (!AddCallback(&ClientStateCallback, IAClientStateChange, NULL))
         return;
 
@@ -185,7 +192,7 @@
 	return Success;
     }
 
-    priv = xalloc(sizeof(IAClientPrivateRec));
+    priv = malloc(sizeof(IAClientPrivateRec));
     if (priv == NULL) {
 	return BadAlloc;
     }
@@ -200,7 +207,7 @@
 
 /* Called when we first hit WaitForSomething to initialize serverClient */
 static CARD32
-IAInitTimerCall(OsTimerPtr timer,CARD32 now,pointer arg)
+IAInitTimerCall(OsTimerPtr timer, CARD32 now, pointer arg)
 {
     ConnectionPidRec serverPid;
 
@@ -252,7 +259,7 @@
 	}
 
 	FreeProcessList(priv);
-	xfree(priv);
+	free(priv);
 	dixSetPrivate(&(pClient)->devPrivates, IAPrivKey, NULL);
 	break;
 
@@ -331,7 +338,7 @@
     if ((stuff->flags & INTERACTIVE_SETTING) &&
 	(stuff->uid==ServerUid || ServerUid==0) &&
 	LocalClient(client)) {
-	SetIAPrivate((int*)&stuff[1]);
+	SetIAPrivate((int *)&stuff[1]);
     }
 
     return (client->noClientException);
@@ -346,7 +353,7 @@
     xIAGetProcessInfoReply rep;
     register int length = 0;
     int i;
-    int32_t* write_back = NULL;
+    int32_t *write_back = NULL;
 
     REQUEST_SIZE_MATCH(xIAGetProcessInfoReq);
     rep.type = X_Reply;
@@ -358,20 +365,19 @@
 	if ( (priv == NULL) || (priv->process == NULL) ) {
 	    rep.count = 0;
 	} else {
-    	    CurrentPids = priv->process;
+	    CurrentPids = priv->process;
 	    rep.count = CurrentPids->count;
 	    length = rep.count << 2;
 	    rep.length = rep.count;
-	    write_back = (int32_t *) xalloc((size_t) rep.count * sizeof(int32_t));
+	    write_back = malloc((size_t) rep.count * sizeof(int32_t));
 	    if (write_back == NULL)
 		return ~Success;
-
-	    int32_t* tmp = write_back;
+	    else {
+		int32_t *tmp = write_back;
 
-	    for (i = 0; i < CurrentPids->count; ++i)
-		*write_back++ = *CurrentPids->pids++;
-
-	    write_back = tmp;
+		for (i = 0; i < CurrentPids->count; ++i)
+		    *tmp++ = *CurrentPids->pids++;
+	    }
 	}
     }
     if (stuff->flags & INTERACTIVE_SETTING) {
@@ -379,7 +385,7 @@
 	length=rep.count << 2;
 	rep.length = rep.count;
 
-	write_back = (int32_t *) xalloc(sizeof(int32_t));
+	write_back = malloc(sizeof(int32_t));
 	if (write_back == NULL)
 	    return ~Success;
 
@@ -391,7 +397,7 @@
     if (rep.length > 0) {
 	(void) WriteToClient(client, (int) sizeof(int32_t) * rep.count,
 		(char *) write_back);
-	xfree((char *) write_back);
+	free(write_back);
     }
 
     return (client->noClientException);
@@ -557,7 +563,7 @@
     for (i = 0; i < cpp->count ; i++) {
 	id_t	pid = cpp->pids[i];
 
-	pcinfo.pc_cid=PC_CLNULL;
+	pcinfo.pc_cid = PC_CLNULL;
 	if ((priocntl(P_PID, pid, PC_GETPARMS, (caddr_t)&pcinfo)) < 0) {
 	    if ( setegid(usr_egid) < 0 ) {
 		Error("Error in resetting egid");
@@ -622,7 +628,7 @@
 }
 
 static void
-SetIAPrivate(int * value)
+SetIAPrivate(int *value)
 {
     ia_nice = *value;
 }
@@ -645,15 +651,15 @@
 	FreeProcessList(priv);
     }
 
-    cpp = (ClientProcessPtr)xalloc(sizeof(ClientProcessRec));
+    cpp = malloc(sizeof(ClientProcessRec));
 
     if (cpp == NULL)
 	return BadAlloc;
 
-    cpp->pids = (ConnectionPidPtr)xalloc(sizeof(ConnectionPidRec)*length);
+    cpp->pids = malloc(sizeof(ConnectionPidRec)*length);
 
     if (cpp->pids == NULL) {
-	xfree(cpp);
+	free(cpp);
 	return BadAlloc;
     }
 
@@ -674,13 +680,13 @@
 	return;
     priv->process = NULL;
 
-    if ( LastPids == cpp )
+    if (LastPids == cpp)
 	LastPids = NULL;
 
     if (cpp->pids != NULL)
-	xfree(cpp->pids);
+	free(cpp->pids);
 
-    xfree(cpp);
+    free(cpp);
 }
 
 /*
--- a/open-src/xserver/xorg/sun-src/os/dtlogin.c	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/sun-src/os/dtlogin.c	Mon Mar 14 15:37:30 2011 -0700
@@ -1,4 +1,5 @@
-/* Copyright (c) 1996, 2009, Oracle and/or its affiliates. All rights reserved.
+/*
+ * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -40,6 +41,10 @@
  * For the original definition, see Sun ASARC case 1995/390
  */
 
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
 #include <X11/Xos.h>
 #include <sys/param.h>
 #include <sys/socket.h>
@@ -99,8 +104,8 @@
 struct dmScreenPriv {
     CloseScreenProcPtr	CloseScreen;
 };
-static int dmScreenKeyIndex;
-static DevPrivateKey dmScreenKey = &dmScreenKeyIndex;
+static DevPrivateKeyRec dmScreenKeyRec;
+#define dmScreenKey (&dmScreenKeyRec)
 static struct dmdata *dmHandlerData;
 static struct dmuser originalUser; /* user to switch back to in CloseDown */
 
@@ -138,7 +143,7 @@
 
     if (getuid() != 0)  return;
 
-    dmd = Xcalloc(sizeof(struct dmdata));
+    dmd = calloc(1, sizeof(struct dmdata));
     if (dmd == NULL) {
 	DtloginError("Failed to allocate %d bytes for display manager pipe",
 		     sizeof(struct dmdata));
@@ -154,7 +159,7 @@
     dmd->pipeFD = dtlogin_create_pipe(displayNumber, dmd);
 
     if (dmd->pipeFD == -1) {
-	xfree(dmd);
+	free(dmd);
 	return;
     }
 
@@ -197,7 +202,7 @@
 	dixLookupPrivate(&pScreen->devPrivates, dmScreenKey);
 
     pScreen->CloseScreen = pScreenPriv->CloseScreen;
-    xfree ((pointer) pScreenPriv);
+    free (pScreenPriv);
 
     return (*pScreen->CloseScreen) (i, pScreen);
 }
@@ -279,10 +284,10 @@
 
     close(dmd->pipeFD);
     remove(dmd->pipename);
-    xfree(dmd->pipename);
-    xfree(dmd->buf);
-    xfree(dmd->user.homedir);
-    xfree(dmd);
+    free(dmd->pipename);
+    free(dmd->buf);
+    free(dmd->user.homedir);
+    free(dmd);
 
     if (dmHandlerData == dmd) {
 	dmHandlerData = NULL;
@@ -298,7 +303,7 @@
 
     if (dmd->buf == NULL) {
 	dmd->bufsize = BUFLEN;
-	dmd->buf = xalloc(dmd->bufsize);
+	dmd->buf = malloc(dmd->bufsize);
 	dmd->buf[0] = '\0';
     }
 
@@ -312,7 +317,7 @@
 	 */
 	if (bufLen > (dmd->bufsize/2)) {
 	    dmd->bufsize += BUFLEN;
-	    dmd->buf = xrealloc(dmd->buf, dmd->bufsize);
+	    dmd->buf = realloc(dmd->buf, dmd->bufsize);
 	}
 
 	nbRead = read(dmd->pipeFD, dmd->buf + bufLen,
@@ -425,7 +430,7 @@
 	else if ( (strcmp(k, "UID") == 0) || (strcmp(k, "GID") == 0)
 		  || (strcmp(k, "G_LIST_ID") == 0) ) {
 	    /* Value is numeric, convert to int */
-	    int val;
+	    long val;
 
 	    errno = 0;
 	    val = strtol(v, NULL, 10);
@@ -444,14 +449,14 @@
 	    }
 
 	    if (strcmp(k, "UID") == 0) {
-		dmd->user.uid = val;
+		dmd->user.uid = (uid_t) val;
 	    }
 	    else if (strcmp(k, "GID") == 0) {
-		dmd->user.gid = val;
+		dmd->user.gid = (gid_t) val;
 	    }
 	    else if (strcmp(k, "G_LIST_ID") == 0) {
 		if (dmd->user.groupid_cnt < NGROUPS_UMAX) {
-		    dmd->user.groupids[dmd->user.groupid_cnt++] = val;
+		    dmd->user.groupids[dmd->user.groupid_cnt++] = (gid_t) val;
 		}
 	    }
 	}
@@ -548,19 +553,28 @@
 	if ((user->uid != 0) && (user != &originalUser)) {
 	    int i;
 
-	    for (i = 0; i < screenInfo.numScreens; i++)
-	    {
-		ScreenPtr pScreen = screenInfo.screens[i];
-		struct dmScreenPriv *pScreenPriv;
+	    if (dixRegisterPrivateKey(dmScreenKey, PRIVATE_SCREEN, 0)) {
+		for (i = 0; i < screenInfo.numScreens; i++)
+		{
+		    ScreenPtr pScreen = screenInfo.screens[i];
+		    struct dmScreenPriv *pScreenPriv
+			= calloc(1, sizeof(struct dmScreenPriv));
+
+		    dixSetPrivate(&pScreen->devPrivates, dmScreenKey,
+				  pScreenPriv);
 
-		pScreenPriv = (struct dmScreenPriv *)
-		    Xcalloc(sizeof(struct dmScreenPriv));
-		dixSetPrivate(&pScreen->devPrivates, dmScreenKey, pScreenPriv);
-
-		if (pScreenPriv != NULL) {
-		    pScreenPriv->CloseScreen = pScreen->CloseScreen;
-		    pScreen->CloseScreen = DtloginCloseScreen;
+		    if (pScreenPriv != NULL) {
+			pScreenPriv->CloseScreen = pScreen->CloseScreen;
+			pScreen->CloseScreen = DtloginCloseScreen;
+		    } else {
+			DtloginError("Failed to allocate %d bytes"
+				     " for uid reset info",
+				     sizeof(struct dmScreenPriv));
+		    }
 		}
+	    } else {
+		DtloginError("Failed to register screen private %s",
+			     "for uid reset info");
 	    }
 	}
     }
--- a/open-src/xserver/xorg/sun-src/os/solaris/mdb/scripts/list_Xserver_servergrab_client	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/sun-src/os/solaris/mdb/scripts/list_Xserver_servergrab_client	Mon Mar 14 15:37:30 2011 -0700
@@ -1,6 +1,6 @@
 #!/usr/bin/ksh93
 #
-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -39,7 +39,8 @@
 
 mdb "$@" > ${MDBOUT} <<__EOF__
 GrabInProgress/D
-*clients+((*GrabInProgress)*4) ::client_pids
+::sizeof void* | ::typeset psize
+clients + ((*GrabInProgress) * <psize) ::client_pids
 __EOF__
 
 cat ${MDBOUT}
--- a/open-src/xserver/xorg/sun-src/tsol/Makefile.am	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/sun-src/tsol/Makefile.am	Mon Mar 14 15:37:30 2011 -0700
@@ -1,6 +1,6 @@
 #########################################################################
 #
-# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -39,4 +39,4 @@
 
 AM_CFLAGS = $(DIX_CFLAGS) $(TSOLPOLICYFILEDEF)
 
-libxtsol_la_LIBADD = -ltsol -ltsnet -lbsm
+libxtsol_la_LIBADD = -ltsol -ltsnet -lbsm $(top_builddir)/randr/librandr.la
--- a/open-src/xserver/xorg/sun-src/tsol/tsol.h	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/sun-src/tsol/tsol.h	Mon Mar 14 15:37:30 2011 -0700
@@ -1,4 +1,5 @@
-/* Copyright (c) 2004, 2009, Oracle and/or its affiliates. All rights reserved.
+/*
+ * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -18,15 +19,14 @@
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  * DEALINGS IN THE SOFTWARE.
- */ 
+ */
 
+#ifndef _XTSOL_SERVER_H
+#define _XTSOL_SERVER_H
 
 /*
  * tsol.h server side extension
  */
-
-#define NEED_REPLIES
-#define NEED_EVENTS
 #define _XTSOL_SERVER
 
 #ifdef HAVE_DIX_CONFIG_H
@@ -49,6 +49,7 @@
 #include <X11/extensions/Xtsol.h>
 #include <X11/extensions/Xtsolproto.h>
 
+#include "tsolextension.h"
 #include "tsolinfo.h"
 
 #ifndef CALLBACK
@@ -90,7 +91,6 @@
 
 
 /* tsolextension.c */
-extern void TsolExtensionInit(void);
 extern int tsolMultiLevel;
 extern int (*TsolSavedProcVector[PROCVECTORSIZE])(ClientPtr /*client*/);
 extern int (*TsolSavedSwappedProcVector[PROCVECTORSIZE])(ClientPtr /*client*/);
@@ -156,3 +156,4 @@
 
 extern CALLBACK(TsolAuditStart);
 extern CALLBACK(TsolAuditEnd);
+#endif /* _XTSOL_SERVER_H */
--- a/open-src/xserver/xorg/sun-src/tsol/tsolextension.c	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/sun-src/tsol/tsolextension.c	Mon Mar 14 15:37:30 2011 -0700
@@ -1,4 +1,5 @@
-/* Copyright (c) 2004, 2009, Oracle and/or its affiliates. All rights reserved.
+/*
+ * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -42,9 +43,6 @@
 #include <rpc/rpc.h>
 #include <zone.h>
 
-
-#define NEED_REPLIES
-
 #ifdef HAVE_DIX_CONFIG_H
 #include <dix-config.h>
 #endif
@@ -117,6 +115,17 @@
 static Selection *tsol_sel_agnt = NULL; /* entry in CurrentSelection to get seln */
 static Atom tsol_atom_sel_agnt = 0; /* selection agent atom created during init */
 
+/*
+ * Key to lookup devPrivate data in various structures
+ */
+DevPrivateKeyRec tsolClientPrivateKeyRec;
+DevPrivateKeyRec tsolPixmapPrivateKeyRec;
+DevPrivateKeyRec tsolWindowPrivateKeyRec;
+DevPrivateKeyRec tsolPropertyPrivateKeyRec;
+DevPrivateKeyRec tsolSelectionPrivateKeyRec;
+DevPrivateKeyRec tsolDevicePrivateKeyRec;
+
+
 int (*TsolSavedProcVector[PROCVECTORSIZE])(ClientPtr client);
 int (*TsolSavedSwappedProcVector[PROCVECTORSIZE])(ClientPtr client);
 
@@ -144,11 +153,11 @@
 static CALLBACK(TsolClientStateCallback);
 static CALLBACK(TsolSelectionCallback);
 
-extern int tsol_check_policy(TsolInfoPtr tsolinfo, TsolResPtr tsolres, 
+extern int tsol_check_policy(TsolInfoPtr tsolinfo, TsolResPtr tsolres,
 	xpolicy_t flags, int reqcode);
-extern void TsolCheckDrawableAccess(CallbackListPtr *pcbl, pointer nulldata, 
+extern void TsolCheckDrawableAccess(CallbackListPtr *pcbl, pointer nulldata,
 	pointer calldata);
-extern void TsolCheckXIDAccess(CallbackListPtr *pcbl, pointer nulldata, 
+extern void TsolCheckXIDAccess(CallbackListPtr *pcbl, pointer nulldata,
 	pointer calldata);
 extern Bool client_has_privilege(TsolInfoPtr tsolinfo, priv_set_t *priv);
 
@@ -171,7 +180,7 @@
 
 	/* sleep(20); */
 
-	/* MAC/Label support is available only if labeld svc is enabled */ 
+	/* MAC/Label support is available only if labeld svc is enabled */
 	if (is_system_labeled()) {
 		tsol_mac_enabled = TRUE;
 	} else {
@@ -205,8 +214,39 @@
 		return;
 
 	/* Allocate storage in devPrivates */
-	if (!dixRequestPrivate(tsolPrivateKey, sizeof (TsolPrivateRec))) {
-		ErrorF("TsolExtensionInit: Cannot allocate devPrivate.\n");
+	if (!dixRegisterPrivateKey(tsolClientPrivateKey, PRIVATE_CLIENT,
+				   sizeof (TsolInfoRec))) {
+		ErrorF("TsolExtensionInit: Cannot allocate client private.\n");
+		return;
+	}
+
+	if (!dixRegisterPrivateKey(tsolPixmapPrivateKey, PRIVATE_PIXMAP,
+				   sizeof (TsolResRec))) {
+		ErrorF("TsolExtensionInit: Cannot allocate pixmap private.\n");
+		return;
+	}
+
+	if (!dixRegisterPrivateKey(tsolWindowPrivateKey, PRIVATE_WINDOW,
+				   sizeof (TsolResRec))) {
+		ErrorF("TsolExtensionInit: Cannot allocate window private.\n");
+		return;
+	}
+
+	if (!dixRegisterPrivateKey(tsolPropertyPrivateKey, PRIVATE_PROPERTY,
+				   sizeof (TsolResRec))) {
+		ErrorF("TsolExtensionInit: Cannot allocate property private.\n");
+		return;
+	}
+
+	if (!dixRegisterPrivateKey(tsolSelectionPrivateKey, PRIVATE_SELECTION,
+				   sizeof (TsolResRec))) {
+		ErrorF("TsolExtensionInit: Cannot allocate selection private.\n");
+		return;
+	}
+
+	if (!dixRegisterPrivateKey(tsolDevicePrivateKey, PRIVATE_DEVICE,
+				   sizeof (HotKeyRec))) {
+		ErrorF("TsolExtensionInit: Cannot allocate device private.\n");
 		return;
 	}
 
@@ -217,8 +257,9 @@
 			tsolinfo->sl = (bslabel_t *)lookupSL_low();
 			tsolinfo->uid = 0;
 			tsolinfo->pid = getpid();
-			snprintf(tsolinfo->pname, MAXNAME, "client id %d (pid %d)",
-  				serverClient->index, tsolinfo->pid);
+			snprintf(tsolinfo->pname, MAXNAME,
+				 "client id %d (pid %d)",
+				 serverClient->index, tsolinfo->pid);
 		}
 	}
 
@@ -284,7 +325,7 @@
 
 	switch (rtype) {
 	case RT_WINDOW:
-	case RT_PIXMAP:	
+	case RT_PIXMAP:
 		/* Drawables policy */
 		TsolCheckDrawableAccess(pcbl, nulldata, calldata);
 		break;
@@ -295,9 +336,9 @@
 		TsolCheckXIDAccess(pcbl, nulldata, calldata);
 		break;
 	default:
-		/* 
+		/*
 		 * Handle other resource types.
-		 * In RANDR extension, usual window policy is 
+		 * In RANDR extension, usual window policy is
 		 * enforced before checking for RREventType.
 		 */
 		if (rtype == RREventType) {
@@ -312,7 +353,7 @@
 {
 	SelectionInfoRec *pselinfo = (SelectionInfoRec *)calldata;
 	Selection *pSel = pselinfo->selection;
-	TsolResPtr tsolseln = TsolResourcePrivate(pSel);
+	TsolResPtr tsolseln = TsolSelectionPrivate(pSel);
 
 	switch (pselinfo->kind) {
 	case SelectionClientClose:
@@ -322,7 +363,7 @@
 	/* fall through to reset the SL */
 
 	case SelectionWindowDestroy:
-	    tsolseln->sl = NULL; 
+	    tsolseln->sl = NULL;
 	    break;
 
 	default:
@@ -682,7 +723,6 @@
 {
     TsolInfoPtr tsolinfo = GetClientTsolInfo(client);
     bslabel_t *sl;
-    int        err_code;
     extern priv_set_t *pset_win_mac_write;
 
     REQUEST(xSetPolyInstInfoReq);
@@ -710,7 +750,6 @@
     WindowPtr    pWin;
     TsolResPtr  tsolprop;
     PropertyPtr  pProp;
-    int          err_code;
     int rc;
 
     REQUEST(xSetPropLabelReq);
@@ -755,7 +794,7 @@
     }
 
     /* Initialize property created internally by server */
-    tsolprop = TsolResourcePrivate(pProp);
+    tsolprop = TsolPropertyPrivate(pProp);
 
     sl = (bslabel_t *)(stuff + 1);
 
@@ -773,7 +812,6 @@
     WindowPtr   pWin;
     TsolResPtr tsolprop;
     PropertyPtr pProp;
-    int         err_code;
     int 	rc;
 
     REQUEST(xSetPropUIDReq);
@@ -818,7 +856,7 @@
     }
 
     /* Initialize property created internally by server */
-    tsolprop = TsolResourcePrivate(pProp);
+    tsolprop = TsolPropertyPrivate(pProp);
 
     tsolprop->uid = stuff->uid;
 
@@ -834,7 +872,6 @@
     WindowPtr   pWin;
     xEvent      message;
     TsolResPtr  tsolres;
-    int         err_code;
     int		rc;
 
     REQUEST(xSetResLabelReq);
@@ -858,12 +895,12 @@
 
         case IsWindow:
 	    rc = dixLookupWindow(&pWin, stuff->id, client, DixWriteAccess);
-    	    if (rc != Success)
+	    if (rc != Success)
 		return rc;
 
             if (pWin)
             {
-                tsolres = TsolResourcePrivate(pWin);
+                tsolres = TsolWindowPrivate(pWin);
             }
             else
             {
@@ -875,11 +912,11 @@
         case IsPixmap:
 	    rc = dixLookupDrawable((DrawablePtr *)&pMap, stuff->id, client,
 				   M_DRAWABLE_PIXMAP, DixWriteAccess);
-    	    if (rc != Success)
+	    if (rc != Success)
 		return rc;
             if (pMap)
             {
-                tsolres = TsolResourcePrivate(pMap);
+                tsolres = TsolPixmapPrivate(pMap);
             }
             else
             {
@@ -926,7 +963,6 @@
     PixmapPtr pMap;
     WindowPtr pWin;
     TsolResPtr tsolres;
-    int        err_code;
     int        rc;
     extern priv_set_t *pset_win_dac_write;
 
@@ -958,12 +994,12 @@
 
         case IsWindow:
 	    rc = dixLookupWindow(&pWin, stuff->id, client, DixWriteAccess);
-    	    if (rc != Success)
+	    if (rc != Success)
 		return rc;
 
             if (pWin)
             {
-                tsolres = TsolResourcePrivate(pWin);
+                tsolres = TsolWindowPrivate(pWin);
             }
             else
             {
@@ -979,7 +1015,7 @@
 
             if (pMap)
             {
-                tsolres = TsolResourcePrivate(pMap);
+                tsolres = TsolPixmapPrivate(pMap);
             }
             else
             {
@@ -1005,7 +1041,6 @@
 ProcGetClientAttributes(ClientPtr client)
 {
     int         n;
-    int         err_code;
     int         rc;
     ClientPtr   res_client; /* resource owner client */
     TsolInfoPtr tsolinfo, res_tsolinfo;
@@ -1066,7 +1101,6 @@
     int         n;
     int         reply_length = 0;
     int         rc;
-    int         err_code;
     Bool        write_to_client = 0;
     bslabel_t   *sl;
     ClientPtr   res_client; /* resource owner client */
@@ -1097,7 +1131,7 @@
     rep.sequenceNumber = client->sequence;
 
     /* allocate temp storage for labels */
-    sl = (bslabel_t *)(xalloc(SL_SIZE));
+    sl = malloc(SL_SIZE);
     rep.data00 = rep.data01 = 0;
     if (sl == NULL)
         return (BadAlloc);
@@ -1130,7 +1164,7 @@
     {
         WriteToClient(client, reply_length, (char *)sl);
     }
-    xfree(sl);
+    free(sl);
 
     return (client->noClientException);
 }
@@ -1169,7 +1203,7 @@
     pProp = wUserProps (pWin);
     while (pProp)
     {
-        tsolprop = TsolResourcePrivate(pProp);
+        tsolprop = TsolPropertyPrivate(pProp);
 
         if (pProp->propertyName == stuff->atom) {
 
@@ -1190,7 +1224,7 @@
     if (!pProp)
     {
         /* property does not exist, use window's attributes */
-	tsolres = TsolResourcePrivate(pWin);
+	tsolres = TsolWindowPrivate(pWin);
 	tsolprop = NULL;
     }
 
@@ -1200,7 +1234,7 @@
     }
 
     /* allocate temp storage for labels */
-    sl = (bslabel_t *)(xalloc(SL_SIZE));
+    sl = malloc(SL_SIZE);
     rep.sllength = rep.illength = 0;
     if (sl == NULL)
         return (BadAlloc);
@@ -1236,7 +1270,7 @@
     {
         WriteToClient(client, reply_length, (char *)sl);
     }
-    xfree(sl);
+    free(sl);
 
     return (client->noClientException);
 }
@@ -1274,7 +1308,7 @@
 	if (rc != Success)
 	    return rc;
 
-	tsolres = TsolResourcePrivate(pWin);
+	tsolres = TsolWindowPrivate(pWin);
     }
 
     if (stuff->resourceType == IsPixmap &&
@@ -1285,7 +1319,7 @@
 	if (rc != Success)
 	    return rc;
 
-	tsolres = TsolResourcePrivate(pMap);
+	tsolres = TsolPixmapPrivate(pMap);
     }
 
     if (stuff->mask & RES_UID)
@@ -1294,7 +1328,7 @@
     }
 
     /* allocate temp storage for labels */
-    sl = (bslabel_t *)(xalloc(SL_SIZE));
+    sl = malloc(SL_SIZE);
     rep.sllength = rep.illength = rep.iillength = 0;
     if (sl == NULL)
         return (BadAlloc);
@@ -1332,7 +1366,7 @@
     {
             WriteToClient(client, reply_length, (char *)sl);
     }
-    xfree(sl);
+    free(sl);
 
     return (client->noClientException);
 }
@@ -1342,7 +1376,6 @@
 {
     WindowPtr pWin = NULL, pParent;
     int       rc;
-    int       err_code;
     TsolInfoPtr  tsolinfo;
 
     REQUEST(xMakeTPWindowReq);
@@ -1365,13 +1398,14 @@
         PanoramiXRes     *panres = NULL;
         int         j;
 
-	if ((panres = (PanoramiXRes *)LookupIDByType(stuff->id, XRT_WINDOW))
-		== NULL)
-	    return BadWindow;
+	rc = dixLookupResourceByType((pointer *) &panres, stuff->id,
+				     XRT_WINDOW, client, DixWriteAccess);
+	if (rc != Success)
+	    return rc;
 
 	FOR_NSCREENS_BACKWARD(j)
 	{
-		rc = dixLookupWindow(&pWin, panres->info[j].id, 
+		rc = dixLookupWindow(&pWin, panres->info[j].id,
 			client, DixWriteAccess);
 		if (rc != Success)
 		    return rc;
@@ -1432,7 +1466,6 @@
 {
     WindowPtr    pWin;
     int          rc;
-    int          err_code;
     TsolInfoPtr  tsolinfo;
 
     REQUEST(xMakeTrustedWindowReq);
@@ -1466,7 +1499,6 @@
 {
     WindowPtr    pWin;
     int          rc;
-    int          err_code;
     TsolInfoPtr  tsolinfo;
 
     REQUEST(xMakeUntrustedWindowReq);
@@ -1508,13 +1540,13 @@
     GrabPtr         ptrgrab = mouse->deviceGrab.grab;
 
 	if (kbdgrab) {
-	    	grabclient = clients[CLIENT_ID(kbdgrab->resource)];
+		grabclient = clients[CLIENT_ID(kbdgrab->resource)];
 		if (client->index != grabclient->index)
 			(*keybd->deviceGrab.DeactivateGrab)(keybd);
 	}
 
 	if (ptrgrab) {
-	    	grabclient = clients[CLIENT_ID(ptrgrab->resource)];
+		grabclient = clients[CLIENT_ID(ptrgrab->resource)];
 		if (client->index != grabclient->index)
 			(*mouse->deviceGrab.DeactivateGrab)(mouse);
         }
@@ -1694,7 +1726,7 @@
     XDR             xdr;
     SVCXPRT         xprt;
 
-    temp_inmsg = (char *) xalloc(len);
+    temp_inmsg = malloc(len);
     memmove(temp_inmsg, inmsg, len);
 
     memset((char *)&msg, 0, sizeof(msg));
@@ -1707,7 +1739,7 @@
     tsol_why = AUTH_FAILED;
     xdrmem_create(&xdr, temp_inmsg, len, XDR_DECODE);
 
-    if ((r.rq_clntcred = (caddr_t) xalloc(MAX_AUTH_BYTES)) == NULL)
+    if ((r.rq_clntcred = malloc(MAX_AUTH_BYTES)) == NULL)
         goto bad1;
     r.rq_xprt = &xprt;
 
@@ -1734,7 +1766,7 @@
     return (((struct authdes_cred *) r.rq_clntcred)->adc_fullname.name);
 
 bad2:
-    Xfree(r.rq_clntcred);
+    free(r.rq_clntcred);
 bad1:
     return ((char *)0); /* ((struct authdes_cred *) NULL); */
 }
@@ -1756,7 +1788,7 @@
 	char	domainname[128];
 	char	netname[128];
 	char	audit_ret;
-	u_int	audit_val;
+	uint_t	audit_val;
 	uid_t	client_uid;
 	gid_t	client_gid;
 	int	client_gidlen;
@@ -1792,7 +1824,7 @@
 	 * i.e. global zone until a user logs in and the trusted stripe
 	 * is in place. Unlabeled connections are rejected.
 	 */
-	if ((OwnerUID == (uid_t )(-1)) || (tsolMultiLevel && tpwin == NULL)) {
+	if ((OwnerUID == (uid_t)(-1)) || (tsolMultiLevel && tpwin == NULL)) {
 		if (HasTrustedPath(tsolinfo)) {
 			auth_token = CheckAuthorization(name_length, name, data_length,
 				data, client, reason);
@@ -1847,7 +1879,7 @@
 		(au_preselect(AUE_ClientConnect, &(tsolinfo->amask),
                       AU_PRS_BOTH, AU_PRS_USECACHE) == 1)) {
 		int status;
-		u_short connect_port = 0;
+		ushort_t connect_port = 0;
 		struct in_addr *connect_addr = NULL;
 		struct sockaddr_in *sin;
 		struct sockaddr_in6 *sin6;
@@ -1938,7 +1970,7 @@
 	}
 
 	tsolinfo = GetClientTsolInfo(client);
-	tsolres = TsolResourcePrivate(pWin);
+	tsolres = TsolWindowPrivate(pWin);
 	flags = (TSOL_MAC|TSOL_DAC|TSOL_DOMINATE|TSOL_READOP);
 	rec->status = tsol_check_policy(tsolinfo, tsolres, flags, MAJOROP_CODE);
 
@@ -2011,7 +2043,7 @@
          * check for polyinstantiation. Just initialize it and return.
          */
 
-	tsolseln = TsolResourcePrivate(pSel);
+	tsolseln = TsolSelectionPrivate(pSel);
 
 	if (tsolseln->sl == NULL) {
             tsolseln->sl = tsolinfo->sl;
@@ -2025,16 +2057,16 @@
 	    for (pSel = CurrentSelections; pSel; pSel = pSel->next) {
 
 		if (pSel->selection == selAtom) {
-		    tsolseln = TsolResourcePrivate(pSel);
+		    tsolseln = TsolSelectionPrivate(pSel);
 		    if (tsolseln->uid == tsolinfo->uid &&
 			 tsolseln->sl == tsolinfo->sl)
 		        break;
 		}
-	    }               
+	    }
 
 	    if (pSel) {
 		/* found a match */
-	        *rec->ppSel = pSel; 
+	        *rec->ppSel = pSel;
 	    } else {
 		/*
 		* Doesn't match yet; we'll get called again
@@ -2057,12 +2089,12 @@
 		for (pSel = CurrentSelections; pSel; pSel = pSel->next) {
 
 		    if (pSel->selection == selAtom) {
-		        tsolseln = TsolResourcePrivate(pSel);
+		        tsolseln = TsolSelectionPrivate(pSel);
 		        if (tsolseln->uid == tsolinfo->uid &&
 			     tsolseln->sl == tsolinfo->sl)
 		            break;
 		    }
-		}               
+		}
 
 	        if (pSel) {
 	            *rec->ppSel = pSel; /* found match */
@@ -2079,14 +2111,14 @@
 	    /*
 	     * Selection Agent processing. Override the owner
 	     */
-	    tsolseln = TsolResourcePrivate(pSel);
+	    tsolseln = TsolSelectionPrivate(pSel);
 	    if (!HasWinSelection(tsolinfo) &&
 			(tsolseln->uid != tsolinfo->uid ||
-			tsolseln->sl != tsolinfo->sl) && 
+			tsolseln->sl != tsolinfo->sl) &&
 			pSel->window != None && tsol_sel_agnt != NULL) {
                 pSel = tsol_sel_agnt;
            } else {
-		if (HasWinSelection(tsolinfo) && 
+		if (HasWinSelection(tsolinfo) &&
 			(tsolinfo->flags & TSOL_AUDITEVENT)) {
 		    auditwrite(AW_USEOFPRIV, 1, PRIV_WIN_SELECTION, AW_APPEND, AW_END);
 		}
@@ -2123,20 +2155,19 @@
     int reqtype;
     TsolResPtr tsolprop;
     TsolResPtr tsolres;
-    int tsol_method;
     Status retcode;
     xpolicy_t flags = 0;
 
     reqtype = MAJOROP_CODE;
-    tsolres = TsolResourcePrivate(pWin);
+    tsolres = TsolWindowPrivate(pWin);
     if (pProp != NULL) {
 	int polyprop = PolyProperty(propertyName, pWin);
 
-	tsolprop = TsolResourcePrivate(pProp);
+	tsolprop = TsolPropertyPrivate(pProp);
 
 	if (!polyprop) {
 
-	    tsolres = TsolResourcePrivate(pWin);
+	    tsolres = TsolWindowPrivate(pWin);
 	    if (tsolprop->sl == NULL) {
 		/* Initialize with label/uid etc */
 		if (WindowIsRoot(pWin)) {
@@ -2158,7 +2189,7 @@
 
 	    retcode = tsol_check_policy(tsolinfo, tsolprop, flags, MAJOROP_CODE);
 	    if (retcode != Success && (access_mode & DixGetAttrAccess)) {
-		/* If current property is not accessible, move on to 
+		/* If current property is not accessible, move on to
 		 *  next one for ListProperty
 		 */
 		retcode = Success;
@@ -2179,13 +2210,13 @@
 	    } else {
 		/* search for a matching (sl, uid) pair */
 		while (pProp) {
-	    	    tsolprop = TsolResourcePrivate(pProp);
+		    tsolprop = TsolPropertyPrivate(pProp);
 		    if (pProp->propertyName == propertyName &&
 			    tsolprop->sl == tsolinfo->sl &&
 			    tsolprop->uid == tsolinfo->uid)
 			break; /* match found */
 		    pProp = pProp->next;
-		} 
+		}
 
 		if (pProp) {
 		    *rec->ppProp = pProp; /* found */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/xserver/xorg/sun-src/tsol/tsolextension.h	Mon Mar 14 15:37:30 2011 -0700
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef _XORG_TSOL_EXTENSION_H
+#define	_XORG_TSOL_EXTENSION_H
+
+/*
+ * tsol extension interfaces exposed to the core X server
+ */
+
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
+#include <X11/X.h>
+#include <X11/Xproto.h>
+
+#define	_XTSOL_SERVER
+#include <X11/extensions/Xtsol.h>
+#include <X11/extensions/Xtsolproto.h>
+
+/* tsolextension.c */
+extern void TsolExtensionInit(void);
+#endif /* _XORG_TSOL_EXTENSION_H */
--- a/open-src/xserver/xorg/sun-src/tsol/tsolinfo.h	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/sun-src/tsol/tsolinfo.h	Mon Mar 14 15:37:30 2011 -0700
@@ -1,4 +1,5 @@
-/* Copyright (c) 2004, 2009, Oracle and/or its affiliates. All rights reserved.
+/*
+ * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -22,8 +23,8 @@
 
 
 
-#ifndef    _TSOL_INFO_H
-#define    _TSOL_INFO_H
+#ifndef	_TSOL_INFO_H
+#define	_TSOL_INFO_H
 
 #include <sys/types.h>
 
@@ -34,6 +35,7 @@
 #include <ucred.h>
 #include "misc.h"
 #include "dixstruct.h"
+#include "selection.h"
 #include "globals.h"
 #include <X11/keysym.h>
 
@@ -145,7 +147,7 @@
 
 #define WindowIsRoot(pWin) (pWin && (pWin->parent == NullWindow))
 #define DrawableIsRoot(pDraw)\
-	(pDraw && (pDraw->id == WindowTable[pDraw->pScreen->myNum]->drawable.id))
+	(pDraw && (pDraw->id == pDraw->pScreen->root->drawable.id))
 
 /*
  * True if client is part of TrustedPath
@@ -155,7 +157,7 @@
 	(tsolinfo->forced_trust == 1))
 
 #define XTSOLTrusted(pWin) \
-    ((TsolResourcePrivate(pWin))->flags & TRUSTED_MASK)
+    ((TsolWindowPrivate(pWin))->flags & TRUSTED_MASK)
 
 
 /*********************************
@@ -183,10 +185,10 @@
     zoneid_t		zid;		/* zone id */
     priv_set_t          *privs;         /* privileges */
     bslabel_t		*sl;            /* sensitivity label */
-    u_long              iaddr;          /* internet addr */
+    ulong_t             iaddr;          /* internet addr */
     Bool		trusted_path;	/* has trusted path */
     Bool		priv_debug;	/* do privilege debugging */
-    u_long              flags;          /* various flags */
+    ulong_t             flags;          /* various flags */
     int                 forced_trust;   /* client masked as trusted */
     au_id_t		auid;		/* audit id */
     au_mask_t		amask;		/* audit mask */
@@ -203,11 +205,11 @@
 typedef struct _TsolRes {
     bslabel_t  *sl;                     /* sensitivity label */
     uid_t       uid;                    /* user id */
-    u_long      flags;                  /* various flags */
+    ulong_t     flags;                  /* various flags */
     pid_t       pid;                    /* who created it */
     Bool	internal;		/* Created internally by the server */
-    Bool	poly;			/* Polyinstantiated or not. Applicable to
-					 * selection or properties */
+    Bool	poly;			/* Polyinstantiated or not. Applicable
+					   to selection or properties */
 } TsolResRec, *TsolResPtr;
 
 /*
@@ -226,22 +228,66 @@
 /*
  * information stored in devPrivates
  */
-typedef union {
-    TsolInfoRec		clientPrivate;
-    TsolResRec		resourcePrivate;
-    HotKeyRec		keyboardPrivate;
-} TsolPrivateRec, *TsolPrivatePtr;
+extern _X_HIDDEN DevPrivateKeyRec tsolClientPrivateKeyRec;
+#define tsolClientPrivateKey (&tsolClientPrivateKeyRec)
+
+extern _X_HIDDEN DevPrivateKeyRec tsolPixmapPrivateKeyRec;
+#define tsolPixmapPrivateKey (&tsolPixmapPrivateKeyRec)
+
+extern _X_HIDDEN DevPrivateKeyRec tsolWindowPrivateKeyRec;
+#define tsolWindowPrivateKey (&tsolWindowPrivateKeyRec)
+
+extern _X_HIDDEN DevPrivateKeyRec tsolPropertyPrivateKeyRec;
+#define tsolPropertyPrivateKey (&tsolPropertyPrivateKeyRec)
 
-extern DevPrivateKey tsolPrivateKey;
+extern _X_HIDDEN DevPrivateKeyRec tsolSelectionPrivateKeyRec;
+#define tsolSelectionPrivateKey (&tsolSelectionPrivateKeyRec)
+
+/* Currently only used in keyboard devices */
+extern _X_HIDDEN DevPrivateKeyRec tsolDevicePrivateKeyRec;
+#define tsolDevicePrivateKey (&tsolDevicePrivateKeyRec)
+
+static inline TsolInfoPtr
+TsolClientPrivate (ClientPtr pClient)
+{
+	return (TsolInfoPtr) dixLookupPrivate(&(pClient->devPrivates),
+					      tsolClientPrivateKey);
+}
 
-#define TsolClientPrivate(pClient) \
-    ((TsolInfoPtr) dixLookupPrivate(&(pClient)->devPrivates, tsolPrivateKey))
+static inline TsolResPtr
+TsolPixmapPrivate (PixmapPtr pPix)
+{
+	return (TsolResPtr) dixLookupPrivate(&(pPix->devPrivates),
+					     tsolPixmapPrivateKey);
+}
+
+static inline TsolResPtr
+TsolWindowPrivate (WindowPtr pWin)
+{
+	return (TsolResPtr) dixLookupPrivate(&(pWin->devPrivates),
+					     tsolWindowPrivateKey);
+}
 
-#define TsolResourcePrivate(pRes)	\
-    ((TsolResPtr) dixLookupPrivate(&(pRes)->devPrivates, tsolPrivateKey))
+static inline TsolResPtr
+TsolPropertyPrivate (PropertyPtr pProp)
+{
+	return (TsolResPtr) dixLookupPrivate(&(pProp->devPrivates),
+					     tsolPropertyPrivateKey);
+}
 
-#define TsolKeyboardPrivate(pDev)	\
-    ((HotKeyPtr) dixLookupPrivate(&(pDev)->devPrivates, tsolPrivateKey))
+static inline TsolResPtr
+TsolSelectionPrivate (Selection *pSel)
+{
+	return (TsolResPtr) dixLookupPrivate(&(pSel->devPrivates),
+					     tsolSelectionPrivateKey);
+}
+
+static inline HotKeyPtr
+TsolKeyboardPrivate (DeviceIntPtr pDev)
+{
+	return (HotKeyPtr) dixLookupPrivate(&(pDev->devPrivates),
+					    tsolDevicePrivateKey);
+}
 
 
 #define NODE_SLSIZE	16	/* increase sl array by this amount */
@@ -316,4 +362,4 @@
 	WindowPtr pSib, BoxPtr pSibBox);
 extern TsolResPtr TsolDrawablePrivate(DrawablePtr pDraw, ClientPtr client);
 
-#endif    /* _TSOL_INFO_H */
+#endif	/* _TSOL_INFO_H */
--- a/open-src/xserver/xorg/sun-src/tsol/tsolpolicy.c	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/sun-src/tsol/tsolpolicy.c	Mon Mar 14 15:37:30 2011 -0700
@@ -1,4 +1,5 @@
-/* Copyright (c) 2004, 2009, Oracle and/or its affiliates. All rights reserved.
+/*
+ * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -26,8 +27,6 @@
 #endif
 
 #include <X11/X.h>
-#define		NEED_REPLIES
-#define		NEED_EVENTS
 #include <stdio.h>
 #include <sys/types.h>
 #include <unistd.h>
@@ -108,7 +107,7 @@
 
 }
 /*
- * returns 
+ * returns
  *   TRUE  - if client/subject has the required privilege
  *   FALSE - otherwise
  */
@@ -123,7 +122,7 @@
 
 	if (priv_issubset(priv, tsolinfo->privs)) {
 		if (tsolinfo->flags & TSOL_AUDITEVENT) {
-			auditwrite(AW_USEOFPRIV, AUDIT_SUCCESS, priv, 
+			auditwrite(AW_USEOFPRIV, AUDIT_SUCCESS, priv,
 				AW_APPEND, AW_END);
 		}
 
@@ -133,7 +132,8 @@
 }
 
 int
-tsol_check_policy(TsolInfoPtr tsolinfo, TsolResPtr tsolres, xpolicy_t flags, int reqcode)
+tsol_check_policy(TsolInfoPtr tsolinfo, TsolResPtr tsolres,
+		  xpolicy_t flags, int reqcode)
 {
 	int status = BadAccess;
 
@@ -151,8 +151,8 @@
 		if (flags & TSOL_READOP) {
 			if (blequal(tsolinfo->sl, tsolres->sl) ||
 			    (blequal(tsolres->sl, &PublicObjSL) &&
-			 	reqcode != X_GetImage) ||
-			    ((flags & TSOL_DOMINATE)  &&
+				reqcode != X_GetImage) ||
+			    ((flags & TSOL_DOMINATE) &&
 				bldominates(tsolinfo->sl, tsolres->sl)) ||
 			    client_has_privilege(tsolinfo, pset_win_mac_read) ||
 			    HasTrustedPath(tsolinfo)) {
@@ -162,7 +162,7 @@
 				goto bad;
 			}
 		}
-			
+
 		if (flags & TSOL_WRITEOP) {
 			if (blequal(tsolinfo->sl, tsolres->sl) ||
 			    client_has_privilege(tsolinfo, pset_win_mac_write)) {
@@ -178,9 +178,9 @@
 		if (flags & TSOL_READOP) {
 			if ((tsolinfo->uid == tsolres->uid) ||
 			    tsolres->internal ||
-			    ((tsolres->uid == OwnerUID) && 
+			    ((tsolres->uid == OwnerUID) &&
 			    /* ((tsolres->uid == OwnerUID || tsolres->uid == DEF_UID) &&  */
-			 	blequal(tsolres->sl, &PublicObjSL)) ||
+			    blequal(tsolres->sl, &PublicObjSL)) ||
 			    client_has_privilege(tsolinfo, pset_win_dac_read)) {
 
 				status = Success;
@@ -209,8 +209,8 @@
 	LogMessageVerb(X_ERROR, TSOL_MSG_ERROR,
 		TSOL_LOG_PREFIX
 		"tsol_check_policy(%s, %s, %d, pid=%d, %s, %d, %s) = %s\n",
-		tsolinfo->pname, xsltos(tsolinfo->sl), tsolinfo->uid, 
-		tsolres->pid, xsltos(tsolres->sl), tsolres->uid, 
+		tsolinfo->pname, xsltos(tsolinfo->sl), tsolinfo->uid,
+		tsolres->pid, xsltos(tsolres->sl), tsolres->uid,
 		TsolRequestNameString(reqcode),
 		"BadAccess");
 
@@ -317,8 +317,6 @@
 	TsolInfoPtr tsolinfo = GetClientTsolInfo(client);
 	TsolResPtr  tsolres;
 	xpolicy_t flags;
-	int msgType;
-	int msgVerb;
 	int reqtype;
 
 	if (client->requestBuffer) {
@@ -333,13 +331,13 @@
 	case RT_WINDOW:
 		obj_code = AW_XWINDOW;
 		pWin = (WindowPtr ) (rec->res);
-		tsolres = TsolResourcePrivate(pWin);
+		tsolres = TsolWindowPrivate(pWin);
 		err_code = BadWindow;
 		break;
 	case RT_PIXMAP:
 		obj_code = AW_XPIXMAP;
 		pMap = (PixmapPtr ) (rec->res);
-		tsolres = TsolResourcePrivate(pMap);
+		tsolres = TsolPixmapPrivate(pMap);
 		err_code = BadDrawable;
 		break;
 	}
@@ -348,7 +346,7 @@
 	case X_GetImage:
 	case X_CopyArea:
 	case X_CopyPlane:
-		/* 
+		/*
 		 * Image operations are allowed here for lookup reasons.
 		 * The actual policy enforcement is in the protocol handler.
 		 */
@@ -357,7 +355,7 @@
 			check_mode &= ~DixReadAccess;
 		}
 		break;
-				
+
 
 	case X_ClearArea:
 		if (check_mode & DixWriteAccess) {
@@ -382,7 +380,7 @@
 
 		if (WindowIsRoot(pWin)) {
 			pWin = GetSpriteWindow(device);
-			tsolres = TsolResourcePrivate(pWin);
+			tsolres = TsolWindowPrivate(pWin);
 		}
 		break;
 
@@ -451,7 +449,7 @@
 			check_mode &= ~modes;
 		}
 	}
-	
+
 	if (tsolinfo->flags & TSOL_AUDITEVENT) {
 		set_audit_flags(tsolinfo);
 		auditwrite(obj_code, id, tsolres->uid,
@@ -501,13 +499,9 @@
 	Mask modes;
 	int object_code;
 	int err_code;
-	int status;
 
 	Mask check_mode = access_mode;
 	TsolInfoPtr tsolinfo = GetClientTsolInfo(client);
-	xpolicy_t flags;
-	int msgType;
-	int msgVerb;
 	int reqtype;
 
 	if (client->requestBuffer) {
@@ -545,7 +539,7 @@
 	}
 
 	/* DAC check is based on client isolation */
-	modes = (DixReadAccess|DixGetAttrAccess|DixUseAccess); 
+	modes = (DixReadAccess|DixGetAttrAccess|DixUseAccess);
 	if (check_mode & modes) {
 		if (!client_private(client, id) &&
 			(!client_has_privilege(tsolinfo, pset_win_dac_read))) {
@@ -562,10 +556,10 @@
 		}
 		check_mode &= ~modes;
 	}
-			
+
 	if (tsolinfo->flags & TSOL_AUDITEVENT) {
 		set_audit_flags(tsolinfo);
-		auditwrite(object_code, (u_long)id, tsolinfo->uid,
+		auditwrite(object_code, (ulong_t)id, tsolinfo->uid,
 			 AW_APPEND, AW_END);
 	}
 
@@ -601,11 +595,9 @@
 	Mask access_mode = rec->access_mode;
 	Mask modes;
 	int object_code = 0;
-	int err_code;
 
 	Mask check_mode = access_mode;
 	TsolInfoPtr tsolinfo = GetClientTsolInfo(client);
-	xpolicy_t flags;
 	int reqtype;
 
 	if (client->requestBuffer) {
@@ -623,7 +615,8 @@
 		switch (reqtype) {
 		case X_SetFontPath:
 			if (priv_win_fontpath ||
-				client_has_privilege(tsolinfo, pset_win_fontpath)) {
+				client_has_privilege(tsolinfo,
+						     pset_win_fontpath)) {
 				rec->status = Success;
 			}
 			object_code = AW_XFONT;
@@ -632,7 +625,8 @@
 		case X_ChangeHosts:
 		case X_SetAccessControl:
 			if (priv_win_config ||
-				client_has_privilege(tsolinfo, pset_win_config)) {
+				client_has_privilege(tsolinfo,
+						     pset_win_config)) {
 				rec->status = Success;
 			}
 			object_code = AW_XCLIENT;
@@ -643,14 +637,15 @@
 
 		if (tsolinfo->flags & TSOL_AUDITEVENT && object_code != 0) {
 			set_audit_flags(tsolinfo);
-			auditwrite(object_code, (u_long)client->index, tsolinfo->uid,
-				 AW_SLABEL, tsolinfo->sl,
-				 AW_APPEND, AW_END);
+			auditwrite(object_code, (ulong_t)client->index,
+				   tsolinfo->uid,
+				   AW_SLABEL, tsolinfo->sl,
+				   AW_APPEND, AW_END);
 		}
 	}
 
 	/* Allow get/read attributes, grab is enforced in protocol handler */
-	modes = (DixReadAccess|DixGetAttrAccess|DixGrabAccess); 
+	modes = (DixReadAccess|DixGetAttrAccess|DixGrabAccess);
 	if (check_mode & modes) {
 		rec->status = Success;
 		check_mode &= ~modes;
@@ -686,14 +681,9 @@
 	ClientPtr client = rec->client;
 	Mask access_mode = rec->access_mode;
 	Mask modes;
-	int object_code = 0;
-	int err_code;
 
 	Mask check_mode = access_mode;
 	TsolInfoPtr tsolinfo = GetClientTsolInfo(client);
-	xpolicy_t flags;
-	int msgType;
-	int msgVerb;
 	int reqtype;
 
 	if (client->requestBuffer) {
@@ -707,16 +697,17 @@
 	modes = (DixManageAccess|DixDestroyAccess);
 	if (check_mode & modes) {
 		if (priv_win_config ||
-				client_has_privilege(tsolinfo, pset_win_config)) {
+		    client_has_privilege(tsolinfo, pset_win_config)) {
 			rec->status = Success;
 		}
 		check_mode &= ~modes;
 
 		if (tsolinfo->flags & TSOL_AUDITEVENT) {
 			set_audit_flags(tsolinfo);
-			auditwrite(AW_XCLIENT, (u_long)client->index, tsolinfo->uid,
-				 AW_SLABEL, tsolinfo->sl,
-				 AW_APPEND, AW_END);
+			auditwrite(AW_XCLIENT, (ulong_t)client->index,
+				   tsolinfo->uid,
+				   AW_SLABEL, tsolinfo->sl,
+				   AW_APPEND, AW_END);
 		}
 	}
 
@@ -764,24 +755,26 @@
 	rec->status = BadWindow;
 
 	/* get/read access is allowed */
-	modes = (DixCreateAccess | DixGetAttrAccess | DixGetFocusAccess | DixReadAccess |
-		 DixShowAccess | DixHideAccess|DixUseAccess | DixBellAccess);
+	modes = (DixCreateAccess | DixGetAttrAccess | DixGetFocusAccess |
+		 DixReadAccess | DixShowAccess | DixHideAccess |
+		 DixUseAccess | DixBellAccess);
 	if (check_mode & modes) {
 		rec->status = Success;
 		check_mode &= ~modes;
 	}
 
 	/* change/set access requires privilege */
-	modes = (DixFreezeAccess | DixGrabAccess | DixManageAccess | DixSetAttrAccess |
-		 DixSetFocusAccess | DixForceAccess);
+	modes = (DixFreezeAccess | DixGrabAccess | DixManageAccess |
+		 DixSetAttrAccess | DixSetFocusAccess | DixForceAccess);
 	if (check_mode & modes) {
-		if (priv_win_devices || client_has_privilege(tsolinfo, pset_win_devices))
+		if (priv_win_devices ||
+		    client_has_privilege(tsolinfo, pset_win_devices))
 			rec->status = Success;
-			if (tsolinfo->flags & TSOL_AUDITEVENT) {
-				set_audit_flags(tsolinfo);
-				auditwrite(AW_XCLIENT, client->index, 
-					AW_APPEND, AW_END);
-			}
+		if (tsolinfo->flags & TSOL_AUDITEVENT) {
+		    set_audit_flags(tsolinfo);
+		    auditwrite(AW_XCLIENT, client->index,
+			       AW_APPEND, AW_END);
+		}
 		check_mode &= ~modes;
 	}
 
@@ -806,9 +799,9 @@
     }
 
 #endif /* !NO_TSOL_DEBUG_MESSAGES */
-} 
+}
 
-TsolResPtr 
+TsolResPtr
 TsolDrawablePrivate(DrawablePtr pDraw, ClientPtr client)
 {
 	int	rc;
@@ -819,14 +812,14 @@
 	if (pDraw->type == DRAWABLE_WINDOW) {
 		rc = dixLookupWindow(&pWin, pDraw->id, client, DixReadAccess);
 		if (rc == Success && pWin != NullWindow)
-			tsolres = TsolResourcePrivate(pWin);
+			tsolres = TsolWindowPrivate(pWin);
 	}
 	else if (pDraw->type == DRAWABLE_PIXMAP)
 	{
 		rc = dixLookupDrawable((DrawablePtr *)&pMap, pDraw->id, client,
 				       M_DRAWABLE_PIXMAP, DixReadAccess);
 		if (rc == Success && pMap != NullPixmap)
-			tsolres = TsolResourcePrivate(pMap);
+			tsolres = TsolPixmapPrivate(pMap);
 	}
 
 	return tsolres;
--- a/open-src/xserver/xorg/sun-src/tsol/tsolprotocol.c	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/sun-src/tsol/tsolprotocol.c	Mon Mar 14 15:37:30 2011 -0700
@@ -1,4 +1,5 @@
-/* Copyright (c) 2004, 2009, Oracle and/or its affiliates. All rights reserved.
+/*
+ * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -43,8 +44,6 @@
 #include "xkbstr.h"
 #include "xkbsrv.h"
 
-#define NEED_REPLIES
-
 #include "dixevents.h"
 #include "selection.h"
 #include "osdep.h"
@@ -174,8 +173,8 @@
 
 extern priv_set_t *pset_win_config;
 extern TsolResPtr TsolDrawablePrivateate(DrawablePtr pDraw, ClientPtr client);
-extern int
-tsol_check_policy(TsolInfoPtr tsolinfo, TsolResPtr tsolres, xpolicy_t flags, int reqcode);
+extern int tsol_check_policy(TsolInfoPtr tsolinfo, TsolResPtr tsolres,
+			     xpolicy_t flags, int reqcode);
 extern Bool client_has_privilege(TsolInfoPtr tsolinfo, priv_set_t *priv);
 
 
@@ -210,10 +209,10 @@
 
 	/* Allocate & Initialize the node for the first time */
 	if (tsol_node == NULL) {
-		newsize = (lastAtom > INITIAL_TSOL_NODELENGTH ? 
+		newsize = (lastAtom > INITIAL_TSOL_NODELENGTH ?
 			lastAtom : INITIAL_TSOL_NODELENGTH);
 
-		tsol_node = (TsolNodePtr )xalloc((newsize + 1) * sizeof(TsolNodeRec));
+		tsol_node = malloc((newsize + 1) * sizeof(TsolNodeRec));
 		if (tsol_node == NULL) {
 			ErrorF("Cannot allocate memory for Tsol node\n");
 			return;
@@ -232,8 +231,8 @@
 
 	/* If the node is already allocated, see if it needs to be extended */
 	if (lastAtom > tsol_lastAtom) {
-		tsol_node = (TsolNodePtr )xrealloc(tsol_node, 
-			(lastAtom + 1) * sizeof(TsolNodeRec));
+		tsol_node = realloc(tsol_node,
+				    (lastAtom + 1) * sizeof(TsolNodeRec));
 
 		if (tsol_node == NULL) {
 			ErrorF("Cannot allocate memory for Tsol node\n");
@@ -251,20 +250,23 @@
 			tsol_node[ia].slcount = 0;
 			tsol_node[ia].sl = NULL;
 			tsol_node[ia].slsize= 0;
-			tsol_node[ia].flags = MatchTsolConfig(atomname, strlen(atomname));
-			tsol_node[ia].IsSpecial = SpecialName(atomname, strlen(atomname));
+			tsol_node[ia].flags = MatchTsolConfig(atomname,
+							      strlen(atomname));
+			tsol_node[ia].IsSpecial = SpecialName(atomname,
+							      strlen(atomname));
 			if (client == NULL) {
-				/* Mark as internal atom for GetAtomName to succeed */
+				/* Mark as internal atom for
+				   GetAtomName to succeed */
 				tsol_node[ia].flags |= TSOLM_ATOM;
 			}
-				
+
 
 		}
 		tsol_lastAtom = lastAtom;
 	}
 
 	/* Store the label info for non-global atoms */
-	if (thisAtom != 0 && client != NULL && 
+	if (thisAtom != 0 && client != NULL &&
 			(tsol_node[thisAtom].flags & TSOLM_ATOM) == 0) {
 		TsolInfoPtr tsolinfo = GetClientTsolInfo(client);
 		TsolNodePtr tndp =  &(tsol_node[thisAtom]);
@@ -279,7 +281,7 @@
 
 		/* Allocate storage for sl if needed */
 		if (tndp->sl == NULL) {
-			tndp->sl = (bslabel_t **)xalloc(NODE_SLSIZE * (sizeof(bslabel_t *)));
+			tndp->sl = malloc(NODE_SLSIZE * (sizeof(bslabel_t *)));
 
 			if (tndp->sl == NULL) {
 				ErrorF("Not enough memory for atoms\n");
@@ -292,8 +294,8 @@
 		/* Expand storage space for sl if needed */
 		if (tndp->slsize < tndp->slcount) {
 			newsize = tndp->slsize + NODE_SLSIZE;
-			tndp->sl = (bslabel_t **)xrealloc(tndp->sl, 
-				newsize * (sizeof(bslabel_t *)));
+			tndp->sl = realloc(tndp->sl,
+					   newsize * (sizeof(bslabel_t *)));
 			if (tndp->sl == NULL) {
 				ErrorF("Not enough memory for atoms\n");
 			}
@@ -353,7 +355,6 @@
     if ((str = NameForAtom(stuff->id)))
     {
         char *blank_str = " ";
-        char *atomname;
 	TsolNodePtr tndp;
 
 	tndp = &(tsol_node[stuff->id]);
@@ -363,7 +364,7 @@
 	    TsolInfoPtr tsolinfo = GetClientTsolInfo(client);
 
 	    for (k = 0; k < tndp->slcount; k++) {
-		if (tsolinfo->sl == tndp->sl[k]) 
+		if (tsolinfo->sl == tndp->sl[k])
 		    break;
 	    }
 
@@ -381,8 +382,8 @@
 	(void)WriteToClient(client, len, str);
 	return(client->noClientException);
     }
-    else 
-    { 
+    else
+    {
 	client->errorValue = stuff->id;
 	return (BadAtom);
     }
@@ -393,7 +394,7 @@
 {
     bslabel_t admin_low;
     TsolInfoPtr tsolinfo = GetClientTsolInfo(client);
-    TsolResPtr  tsolres = TsolResourcePrivate(pWin);
+    TsolResPtr  tsolres = TsolWindowPrivate(pWin);
 
     tsolres->uid = tsolinfo->uid;
     tsolres->sl = tsolinfo->sl;
@@ -417,7 +418,7 @@
 TsolInitPixmap(ClientPtr client, PixmapPtr pMap)
 {
     TsolInfoPtr tsolinfo = GetClientTsolInfo(client);
-    TsolResPtr  tsolres = TsolResourcePrivate(pMap);
+    TsolResPtr  tsolres = TsolPixmapPrivate(pMap);
 
     tsolres->uid = tsolinfo->uid;
     tsolres->sl = tsolinfo->sl;
@@ -455,8 +456,10 @@
 	int         j;
 
 	if (tpwin) {
-            if ((panres = (PanoramiXRes *)LookupIDByType(tpwin->drawable.id,
-			XRT_WINDOW)) == NULL)
+	    rc = dixLookupResourceByType((pointer *) &panres,
+					 tpwin->drawable.id, XRT_WINDOW,
+					 client, DixReadAccess);
+	    if (rc != Success)
 		return;
 	}
 
@@ -465,7 +468,7 @@
 	    if (panres == NULL)
 		return;
 	    /* Validate trusted stripe window */
-	    rc = dixLookupWindow(&pWin, panres->info[j].id, client, 
+	    rc = dixLookupWindow(&pWin, panres->info[j].id, client,
 		DixReadAccess);
 	    if (rc != Success)
 	        return;
@@ -484,7 +487,7 @@
     {
 	/* Validate trusted stripe window */
 	if (tpwin) {
-            rc = dixLookupWindow(&pWin, tpwin->drawable.id, client, 
+            rc = dixLookupWindow(&pWin, tpwin->drawable.id, client,
 		DixReadAccess);
             if (rc != Success)
                 return;
@@ -750,7 +753,7 @@
 #endif /* TSOL */
 
     reply.type = X_Reply;
-    reply.root = WindowTable[pWin->drawable.pScreen->myNum]->drawable.id;
+    reply.root = pWin->drawable.pScreen->root->drawable.id;
     reply.sequenceNumber = client->sequence;
     if (pWin->parent)
 	reply.parent = pWin->parent->drawable.id;
@@ -760,8 +763,9 @@
     for (pChild = pWin->lastChild; pChild != pHead; pChild = pChild->prevSib)
 #ifdef TSOL
     {
-	tsolres = TsolResourcePrivate(pChild);
-	if (tsol_check_policy(tsolinfo, tsolres, flags, MAJOROP_CODE) == Success) {
+	tsolres = TsolWindowPrivate(pChild);
+	if (tsol_check_policy(tsolinfo, tsolres, flags, MAJOROP_CODE) ==
+	    Success) {
 		numChildren++;
     	}
     }
@@ -772,15 +776,16 @@
     {
 	int curChild = 0;
 
-	childIDs = (Window *) xalloc(numChildren * sizeof(Window));
+	childIDs = malloc(numChildren * sizeof(Window));
 	if (!childIDs)
 	    return BadAlloc;
 	for (pChild = pWin->lastChild; pChild != pHead; pChild = pChild->prevSib)
 #ifdef TSOL
 	{
 
-	    tsolres = TsolResourcePrivate(pChild);
-	    if (tsol_check_policy(tsolinfo, tsolres, flags, MAJOROP_CODE) == Success) {
+	    tsolres = TsolWindowPrivate(pChild);
+	    if (tsol_check_policy(tsolinfo, tsolres, flags, MAJOROP_CODE) ==
+		Success) {
 	        childIDs[curChild++] = pChild->drawable.id;
     	    }
     	}
@@ -797,7 +802,7 @@
     {
     	client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
 	WriteSwappedDataToClient(client, numChildren * sizeof(Window), childIDs);
-	xfree(childIDs);
+	free(childIDs);
     }
 
     return(client->noClientException);
@@ -923,7 +928,7 @@
     pSprite = mouse->spriteInfo->sprite;
 
     ptrWin = GetSpriteWindow(mouse);
-    tsolres = TsolResourcePrivate(ptrWin);
+    tsolres = TsolWindowPrivate(ptrWin);
     flags = (TSOL_MAC|TSOL_DAC|TSOL_READOP);
 
     if (tsol_check_policy(tsolinfo, tsolres, flags, MAJOROP_CODE) == Success) {
@@ -1086,8 +1091,8 @@
             box.y1 = pwinbox->y1;
             box.x2 = pwinbox->x2;
             box.y2 = box.y1;
-            tsolres_win = TsolResourcePrivate(pWin);
-            root = WindowTable[pWin->drawable.pScreen->myNum]->drawable.id;
+            tsolres_win = TsolWindowPrivate(pWin);
+            root = pWin->drawable.pScreen->root->drawable.id;
             rc = dixLookupWindow(&pRoot, root, client, DixReadAccess);
             if (rc != Success)
 		return rc;
@@ -1154,7 +1159,7 @@
     xgi.length = length;
 
     if (im_return) {
-	pBuf = (char *)xalloc(sz_xGetImageReply + length);
+	pBuf = malloc(sz_xGetImageReply + length);
 	if (!pBuf)
 	    return (BadAlloc);
 	if (widthBytesLine == 0)
@@ -1192,7 +1197,7 @@
 		length += widthBytesLine;
 	    }
 	}
-	if(!(pBuf = (char *) xalloc(length)))
+	if(!(pBuf = malloc(length)))
 	    return (BadAlloc);
 	WriteReplyToClient(client, sizeof (xGetImageReply), &xgi);
     }
@@ -1225,8 +1230,8 @@
             over_win = AnyWindowOverlapsJustMe(pWin, pHead, &box);
             if (over_win)
 	    {
-		tsolres = TsolResourcePrivate(over_win);
-    		if (tsol_check_policy(tsolinfo, tsolres, flags, MAJOROP_CODE) != Success) 
+		tsolres = TsolWindowPrivate(over_win);
+    		if (tsol_check_policy(tsolinfo, tsolres, flags, MAJOROP_CODE) != Success)
                 	overlap = TRUE;
             }
         }
@@ -1283,8 +1288,9 @@
                     over_win = AnyWindowOverlapsJustMe(pWin, pHead, &box);
 		    if (over_win)
 		    {
-			tsolres = TsolResourcePrivate(over_win);
-			if (tsol_check_policy(tsolinfo, tsolres, flags, MAJOROP_CODE) != Success) 
+			tsolres = TsolWindowPrivate(over_win);
+			if (tsol_check_policy(tsolinfo, tsolres, flags,
+					      MAJOROP_CODE) != Success)
 				overlap = TRUE;
 		    }
                 }
@@ -1317,7 +1323,7 @@
     }
 
     if (!im_return)
-	xfree(pBuf);
+	free(pBuf);
     return (client->noClientException);
 }
 
@@ -1364,7 +1370,6 @@
 int
 ProcTsolPolyRectangle (ClientPtr client)
 {
-    int savedtrust;
     int status;
     GC *pGC;
     DrawablePtr pDraw;
@@ -1392,7 +1397,6 @@
 int
 ProcTsolCopyArea (ClientPtr client)
 {
-    int savedtrust;
     int status;
     DrawablePtr pDst;
     DrawablePtr pSrc;
--- a/open-src/xserver/xorg/sun-src/tsol/tsolutils.c	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/sun-src/tsol/tsolutils.c	Mon Mar 14 15:37:30 2011 -0700
@@ -1,4 +1,5 @@
-/* Copyright (c) 2004, 2009, Oracle and/or its affiliates. All rights reserved.
+/*
+ * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -25,7 +26,6 @@
 #include <dix-config.h>
 #endif
 
-#define NEED_EVENTS
 #include <stdio.h>
 #include <X11/X.h>
 #include <X11/Xproto.h>
@@ -84,13 +84,6 @@
 static TsolPolyAtomRec tsolpolyprop = {FALSE, 0, 0, NULL};
 static TsolPolyAtomRec tsolpolyseln = {TRUE, 0, 0, NULL};
 
-
-/*
- * Key to lookup devPrivate data in various structures
- */
-static int tsolPrivateKeyIndex;
-DevPrivateKey tsolPrivateKey = &tsolPrivateKeyIndex;
-
 bclear_t SessionHI;	   /* HI Clearance */
 bclear_t SessionLO;	   /* LO Clearance */
 unsigned int StripeHeight = 0;
@@ -581,7 +574,7 @@
 	}
 
 	count = tsolconfig[i].count;
-	newlist = (char **)Xrealloc(tsolconfig[i].list, (count + 1) * sizeof(char **));
+	newlist = realloc(tsolconfig[i].list, (count + 1) * sizeof(char **));
 	if (newlist == NULL) {
 		ErrorF("Not enough memory for %s %s\n", keyword, value);
 		return;
@@ -877,11 +870,11 @@
     register WindowPtr pSib;
     BoxRec sboxrec;
     register BoxPtr sbox;
-    TsolResPtr win_res = TsolResourcePrivate(pWin);
+    TsolResPtr win_res = TsolWindowPrivate(pWin);
 
     for (pSib = pWin->prevSib; (pSib != NULL && pSib != pHead); pSib = pSib->prevSib)
     {
-        TsolResPtr sib_res = TsolResourcePrivate(pSib);
+        TsolResPtr sib_res = TsolWindowPrivate(pSib);
 
         if (pSib->mapped && !bldominates(win_res->sl, sib_res->sl))
         {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/xserver/xorg/upstream-in-1.9-branch.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -0,0 +1,256 @@
+From 0a4b0de9afeab0cd47e1e297d5b5d42bfda0a5a7 Mon Sep 17 00:00:00 2001
+From: Maarten Maathuis <[email protected]>
+Date: Sun, 30 Jan 2011 14:06:15 +0100
+Subject: [PATCH 01/16] exa: Only call driver FinishAccess hook if PrepareAccess hook succeeded.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Reviewed-by: Michel Dänzer <[email protected]>
+Signed-off-by: Maarten Maathuis <[email protected]>
+Signed-off-by: Keith Packard <[email protected]>
+(cherry picked from commit af87f6367ef733d1a4f3cfca4eeb92bfd84c2b6f)
+---
+ exa/exa.c |    3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/exa/exa.c b/exa/exa.c
+index 8adf847..a4e294a 100644
+--- a/exa/exa.c
++++ b/exa/exa.c
+@@ -421,7 +421,8 @@ exaFinishAccess(DrawablePtr pDrawable, int index)
+     /* We always hide the devPrivate.ptr. */
+     pPixmap->devPrivate.ptr = NULL;
+ 
+-    if (!pExaScr->info->FinishAccess || !exaPixmapHasGpuCopy(pPixmap))
++    /* Only call FinishAccess if PrepareAccess was called and succeeded. */
++    if (!pExaScr->info->FinishAccess || !pExaScr->access[i].retval)
+ 	return;
+ 
+     if (i >= EXA_PREPARE_AUX_DEST &&
+-- 
+1.7.3.2
+
+From 7b3b7efe78dec87c8059ea0d0985f08a97f0633d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <[email protected]>
+Date: Thu, 24 Feb 2011 12:17:57 +0100
+Subject: [PATCH 06/16] EXA/mixed: ModifyPixmapHeader pitch fixes. (bug #33929)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+If there's a GPU copy and a non-zero devKind was passed in, set the GPU copy
+pitch to that instead of to a possibly bogus value derived from the new width.
+This is e.g. used by the radeon driver's drmmode_xf86crtc_resize hook, fixes
+https://bugs.freedesktop.org/show_bug.cgi?id=33929 .
+
+On the other hand, the system memory copy doesn't need the pitch to be aligned
+beyond the PixmapBytePad of the width.
+
+Signed-off-by: Michel Dänzer <[email protected]>
+Acked-by: Cyril Brulebois <[email protected]>
+Tested-by: Cyril Brulebois <[email protected]>
+Reported-by: Thierry Vignaud <[email protected]>
+Tested-by: Thierry Vignaud <[email protected]>
+Signed-off-by: Keith Packard <[email protected]>
+(cherry picked from commit 31704510f448706524b7b7085cc4ff0ada7bfe7e)
+---
+ exa/exa_mixed.c |    9 +++++----
+ 1 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/exa/exa_mixed.c b/exa/exa_mixed.c
+index 606f1e1..fd1afb2 100644
+--- a/exa/exa_mixed.c
++++ b/exa/exa_mixed.c
+@@ -175,8 +175,10 @@ exaModifyPixmapHeader_mixed(PixmapPtr pPixmap, int width, int height, int depth,
+ 	depth != pPixmap->drawable.depth ||
+ 	bitsPerPixel != pPixmap->drawable.bitsPerPixel) {
+ 	if (pExaPixmap->driverPriv) {
+-            exaSetFbPitch(pExaScr, pExaPixmap,
+-                          width, height, bitsPerPixel);
++	    if (devKind > 0)
++		pExaPixmap->fb_pitch = devKind;
++	    else
++		exaSetFbPitch(pExaScr, pExaPixmap, width, height, bitsPerPixel);
+ 
+             exaSetAccelBlock(pExaScr, pExaPixmap,
+                              width, height, bitsPerPixel);
+@@ -187,8 +189,7 @@ exaModifyPixmapHeader_mixed(PixmapPtr pPixmap, int width, int height, int depth,
+ 	if (has_gpu_copy && pExaPixmap->sys_ptr) {
+ 	    free(pExaPixmap->sys_ptr);
+ 	    pExaPixmap->sys_ptr = NULL;
+-	    pExaPixmap->sys_pitch = devKind > 0 ? devKind :
+-	        PixmapBytePad(width, depth);
++	    pExaPixmap->sys_pitch = PixmapBytePad(width, depth);
+ 	    DamageUnregister(&pPixmap->drawable, pExaPixmap->pDamage);
+ 	    DamageDestroy(pExaPixmap->pDamage);
+ 	    pExaPixmap->pDamage = NULL;
+-- 
+1.7.3.2
+
+From 11bf10e22cefe661f5650d49316bbd938a40094c Mon Sep 17 00:00:00 2001
+From: Adam Jackson <[email protected]>
+Date: Mon, 8 Feb 2010 15:23:04 -0500
+Subject: [PATCH 12/16] xfree86: If the driver found modes on an output, don't add more
+
+Inferring modes from sync ranges is only valid if the monitor says it's
+valid.  If the monitor says it's valid, then we'll have already added
+those modes during EDID block parse.  If it doesn't, then we should
+believe it.
+
+If there's no EDID for an output, but sync ranges from the config, we'll
+still add default modes as normal.
+
+Reviewed-by: Alex Deucher <[email protected]>
+Signed-off-by: Adam Jackson <[email protected]>
+(cherry picked from commit dc498b433f36af5d2de3065e7c64cdb575385d81)
+---
+ hw/xfree86/modes/xf86Crtc.c |   10 +++++++++-
+ 1 files changed, 9 insertions(+), 1 deletions(-)
+
+diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
+index b2daec7..dd8ccad 100644
+--- a/hw/xfree86/modes/xf86Crtc.c
++++ b/hw/xfree86/modes/xf86Crtc.c
+@@ -1566,7 +1566,7 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY)
+ 	int		    min_clock = 0;
+ 	int		    max_clock = 0;
+ 	double		    clock;
+-	Bool		    add_default_modes = xf86ReturnOptValBool(output->options, OPTION_DEFAULT_MODES, TRUE);
++	Bool		    add_default_modes;
+ 	Bool		    debug_modes = config->debug_modes ||
+ 					  xf86Initialising;
+ 	enum det_monrec_source sync_source = sync_default;
+@@ -1612,6 +1612,14 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY)
+ 	}
+ 	
+ 	output_modes = (*output->funcs->get_modes) (output);
++
++	/*
++	 * If the user has a preference, respect it.
++	 * Otherwise, don't second-guess the driver.
++	 */
++	if (!xf86GetOptValBool(output->options, OPTION_DEFAULT_MODES,
++			       &add_default_modes))
++	    add_default_modes = (output_modes == NULL);
+ 	
+ 	edid_monitor = output->MonInfo;
+ 	
+-- 
+1.7.3.2
+
+From 8a18d18bb31933d8dd0fe63cd293d7ae6711abcc Mon Sep 17 00:00:00 2001
+From: Evan Broder <[email protected]>
+Date: Tue, 1 Feb 2011 16:09:50 -0800
+Subject: [PATCH 13/16] xfree86/modes: Be sure to only use new EDID for physical output dimensions
+
+The EDID processing regards physical dimensions of 0mm x 0mm as
+invalid. Previously the old values for height and width would be
+preserved if none of the physical dimension specifications in the new
+EDID were considered valid.
+
+This will come up in particular if first a monitor is connected to an
+output, and then a projector is connected. Since projectors generally
+report physical dimensions of 0mm x 0mm, this would result in the
+projector claiming to have the physical dimensions of the monitor.
+
+Signed-off-by: Evan Broder <[email protected]>
+Reviewed-by: Adam Jackson <[email protected]>
+Signed-off-by: Keith Packard <[email protected]>
+(cherry picked from commit 12b0f7df2caa78d68b453aaa91248bb3577fd724)
+---
+ hw/xfree86/modes/xf86Crtc.c |    2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
+index dd8ccad..30742ff 100644
+--- a/hw/xfree86/modes/xf86Crtc.c
++++ b/hw/xfree86/modes/xf86Crtc.c
+@@ -2976,6 +2976,8 @@ xf86OutputSetEDID (xf86OutputPtr output, xf86MonPtr edid_mon)
+ 	free(output->MonInfo);
+     
+     output->MonInfo = edid_mon;
++    output->mm_width = 0;
++    output->mm_height = 0;
+ 
+     if (debug_modes) {
+ 	xf86DrvMsg(scrn->scrnIndex, X_INFO, "EDID for output %s\n",
+-- 
+1.7.3.2
+
+From 457728d723a7d93cd88691dd920bf42a7540616a Mon Sep 17 00:00:00 2001
+From: Julien Cristau <[email protected]>
+Date: Sat, 3 Jul 2010 19:42:26 +0100
+Subject: [PATCH 14/16] glx: make sure screen is non-negative in validGlxScreen
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Reviewed-by: Adam Jackson <[email protected]>
+Reviewed-by: Kristian Høgsberg <[email protected]>
+Reviewed-by: Daniel Stone <[email protected]>
+Signed-off-by: Julien Cristau <[email protected]>
+(cherry picked from commit 3f0d3f4d97bce75c1828635c322b6560a45a037f)
+---
+ glx/glxcmds.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/glx/glxcmds.c b/glx/glxcmds.c
+index 8d13c15..9e32d6c 100644
+--- a/glx/glxcmds.c
++++ b/glx/glxcmds.c
+@@ -57,7 +57,7 @@ validGlxScreen(ClientPtr client, int screen, __GLXscreen **pGlxScreen, int *err)
+     /*
+     ** Check if screen exists.
+     */
+-    if (screen >= screenInfo.numScreens) {
++    if (screen < 0 || screen >= screenInfo.numScreens) {
+ 	client->errorValue = screen;
+ 	*err = BadValue;
+ 	return FALSE;
+-- 
+1.7.3.2
+
+From 8ffaef2ebd2611e2eed4ef97350c3a34508f5252 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <[email protected]>
+Date: Thu, 24 Feb 2011 16:06:34 -0500
+Subject: [PATCH 16/16] vbe: Fix malloc size bug
+
+v2: Slightly more obvious sizing math.
+
+==14882== Invalid write of size 2
+==14882==    at 0x6750267: VBEGetVBEInfo (vbe.c:400)
+==14882==    by 0x6142064: ??? (in /usr/lib64/xorg/modules/drivers/vesa_drv.so)
+==14882==    by 0x471895: InitOutput (xf86Init.c:519)
+==14882==    by 0x422778: main (main.c:205)
+==14882==  Address 0x4f32fa8 is 72 bytes inside a block of size 73 alloc'd
+==14882==    at 0x4A0640D: malloc (vg_replace_malloc.c:236)
+==14882==    by 0x675024B: VBEGetVBEInfo (vbe.c:398)
+==14882==    by 0x6142064: ??? (in /usr/lib64/xorg/modules/drivers/vesa_drv.so)
+==14882==    by 0x471895: InitOutput (xf86Init.c:519)
+==14882==    by 0x422778: main (main.c:205)
+
+Reviewed-by: Mark Kettenis <[email protected]>
+Reviewed-by: Alan Coopersmith <[email protected]>
+Signed-off-by: Adam Jackson <[email protected]>
+(cherry picked from commit d8caa782009abf4dc17b945e325e83fda299a534)
+---
+ hw/xfree86/vbe/vbe.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/hw/xfree86/vbe/vbe.c b/hw/xfree86/vbe/vbe.c
+index 7a64a4a..1d3775b 100644
+--- a/hw/xfree86/vbe/vbe.c
++++ b/hw/xfree86/vbe/vbe.c
+@@ -395,7 +395,7 @@ VBEGetVBEInfo(vbeInfoPtr pVbe)
+     i = 0;
+     while (modes[i] != 0xffff)
+ 	i++;
+-    block->VideoModePtr = malloc(sizeof(CARD16) * i + 1);
++    block->VideoModePtr = malloc(sizeof(CARD16) * (i + 1));
+     memcpy(block->VideoModePtr, modes, sizeof(CARD16) * i);
+     block->VideoModePtr[i] = 0xffff;
+ 
+-- 
+1.7.3.2
+
--- a/open-src/xserver/xorg/vbe-packing.patch	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-Fix contributed by Jürgen Keil for
-http://defect.opensolaris.org/bz/show_bug.cgi?id=11374
-aka
-6884183 GNOME is really slow in OpenSolaris build 122+ running in VirtualBox
-
-diff -urp -x '*~' -x '*.orig' hw/xfree86/vbe/vbe.h hw/xfree86/vbe/vbe.h
---- hw/xfree86/vbe/vbe.h	2009-08-10 21:00:24.000000000 -0700
-+++ hw/xfree86/vbe/vbe.h	2009-11-20 18:38:28.738767705 -0800
-@@ -59,16 +59,6 @@ typedef struct vbeControllerInfoBlock {
-     CARD8  OemData[256];
- } vbeControllerInfoRec, *vbeControllerInfoPtr;
- 
--#if defined(__GNUC__) || defined(__USLC__) || defined(__SUNPRO_C)
--#pragma pack()	/* All GCC versions recognise this syntax */
--#else
--#pragma pack(0)
--#endif
--
--#ifndef __GNUC__
--#define __attribute__(a)
--#endif
--
- typedef struct _VbeInfoBlock VbeInfoBlock;
- typedef struct _VbeModeInfoBlock VbeModeInfoBlock;
- typedef struct _VbeCRTCInfoBlock VbeCRTCInfoBlock;
-@@ -96,7 +86,7 @@ struct _VbeInfoBlock {
-     /*CARD32*/char *OemProductRevPtr;	/* Pointer to Product Revision String */
-     CARD8 Reserved[222];		/* Reserved for VBE implementation */
-     CARD8 OemData[256];			/* Data Area for OEM Strings */
--} __attribute__((packed));
-+};
- 
- /* Return Super VGA Information */
- extern _X_EXPORT VbeInfoBlock *VBEGetVBEInfo(vbeInfoPtr pVbe);
-@@ -160,7 +150,7 @@ struct _VbeModeInfoBlock {
-     CARD8 LinRsvdFieldPosition;		/* bit position of lsb of reserved mask (linear modes) */
-     CARD32 MaxPixelClock;		/* maximum pixel clock (in Hz) for graphics mode */
-     CARD8 Reserved2[189];		/* remainder of VbeModeInfoBlock */
--} __attribute__((packed));
-+};
- 
- /* Return VBE Mode Information */
- extern _X_EXPORT VbeModeInfoBlock *VBEGetModeInfo(vbeInfoPtr pVbe, int mode);
-@@ -186,9 +176,15 @@ struct _VbeCRTCInfoBlock {
-     CARD32 PixelClock;			/* Pixel clock in units of Hz */
-     CARD16 RefreshRate;			/* Refresh rate in units of 0.01 Hz */
-     CARD8 Reserved[40];			/* remainder of ModeInfoBlock */
--} __attribute__((packed));
-+};
- /* VbeCRTCInfoBlock is in the VESA 3.0 specs */
- 
-+#if defined(__GNUC__) || defined(__USLC__) || defined(__SUNPRO_C)
-+#pragma pack()	/* All GCC versions recognise this syntax */
-+#else
-+#pragma pack(0)
-+#endif
-+
- extern _X_EXPORT Bool VBESetVBEMode(vbeInfoPtr pVbe, int mode, VbeCRTCInfoBlock *crtc);
- 
- /*
--- a/open-src/xserver/xorg/vt.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/vt.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -1,6 +1,6 @@
-diff -urp -x '*~' -x '*.orig' dix/main.c dix/main.c
---- dix/main.c	2010-01-08 16:22:48.829415280 +0800
-+++ dix/main.c	2010-01-08 16:22:51.760077266 +0800
+diff -Nurp -x '*~' -x '*.orig' dix/main.c dix/main.c
+--- dix/main.c	2010-09-03 16:45:37.986184004 -0700
++++ dix/main.c	2010-09-03 16:45:40.072259890 -0700
 @@ -79,6 +79,8 @@ Equipment Corporation.
  #include <version-config.h>
  #endif
@@ -41,7 +41,7 @@
  #ifdef XQUARTZ
  #include <pthread.h>
  
-@@ -139,6 +165,9 @@ int main(int argc, char *argv[], char *e
+@@ -141,6 +167,9 @@ int main(int argc, char *argv[], char *e
  {
      int		i;
      HWEventQueueType	alwaysCheckForInput[2];
@@ -51,7 +51,7 @@
  
      display = "0";
  
-@@ -154,6 +183,12 @@ int main(int argc, char *argv[], char *e
+@@ -156,6 +185,12 @@ int main(int argc, char *argv[], char *e
  
      ProcessCommandLine(argc, argv);
  
@@ -64,20 +64,20 @@
      alwaysCheckForInput[0] = 0;
      alwaysCheckForInput[1] = 1;
      while(1)
-diff -urp -x '*~' -x '*.orig' hw/xfree86/os-support/solaris/sun_init.c hw/xfree86/os-support/solaris/sun_init.c
---- hw/xfree86/os-support/solaris/sun_init.c	2009-10-28 14:56:22.000000000 +0800
-+++ hw/xfree86/os-support/solaris/sun_init.c	2010-01-08 16:22:51.760970370 +0800
-@@ -33,6 +33,9 @@
- # include <sys/kd.h>
- #endif
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/os-support/solaris/sun_init.c hw/xfree86/os-support/solaris/sun_init.c
+--- hw/xfree86/os-support/solaris/sun_init.c	2010-06-05 18:16:52.000000000 -0700
++++ hw/xfree86/os-support/solaris/sun_init.c	2010-09-03 16:45:40.072623997 -0700
+@@ -45,6 +45,9 @@
+ #define	CONSOLE_VTNO	1
+ #define	SOL_CONSOLE_DEV	"/dev/console"
  
 +/* For use of VT_SETDISPLOGIN in dtlogin.c */
 +extern int xf86ConsoleFd;
 +
  static Bool KeepTty = FALSE;
  static Bool Protect0 = FALSE;
- #ifdef HAS_USL_VTS
-@@ -194,6 +197,8 @@ xf86OpenConsole(void)
+ static Bool UseConsole = FALSE;
+@@ -235,6 +238,8 @@ OPENCONSOLE:
  
  	    if (ioctl(xf86Info.consoleFd, VT_SETDISPINFO, atoi(display)) < 0)
  		xf86Msg(X_WARNING, "xf86OpenConsole: VT_SETDISPINFO failed\n");
--- a/open-src/xserver/xorg/xtsol.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xorg/xtsol.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -1,4 +1,4 @@
-# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -18,9 +18,10 @@
 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 # DEALINGS IN THE SOFTWARE.
-diff -urp -x '*~' -x '*.orig' Makefile.am Makefile.am
---- Makefile.am	2010-01-07 18:14:14.864775261 -0800
-+++ Makefile.am	2010-01-07 18:14:16.389557045 -0800
+
+diff -Nurp -x '*~' -x '*.orig' Makefile.am Makefile.am
+--- Makefile.am	2011-02-15 15:53:19.157650482 -0800
++++ Makefile.am	2011-02-15 15:53:21.258518321 -0800
 @@ -17,6 +17,10 @@ if RECORD
  RECORD_DIR=record
  endif
@@ -40,10 +41,10 @@
  	exa \
  	config \
  	hw \
-diff -urp -x '*~' -x '*.orig' Xext/security.c Xext/security.c
---- Xext/security.c	2010-01-07 14:44:56.000000000 -0800
-+++ Xext/security.c	2010-01-07 18:14:16.390294231 -0800
-@@ -1152,3 +1152,27 @@ SecurityExtensionInit(INITARGS)
+diff -Nurp -x '*~' -x '*.orig' Xext/security.c Xext/security.c
+--- Xext/security.c	2010-06-10 23:10:22.000000000 -0700
++++ Xext/security.c	2011-02-15 15:53:21.258912860 -0800
+@@ -1146,3 +1146,27 @@ SecurityExtensionInit(INITARGS)
      /* Label objects that were created before we could register ourself */
      SecurityLabelInitial();
  }
@@ -71,9 +72,9 @@
 +    
 +    return oldLevel;
 +}
-diff -urp -x '*~' -x '*.orig' Xext/securitysrv.h Xext/securitysrv.h
---- Xext/securitysrv.h	2009-10-27 23:56:18.000000000 -0700
-+++ Xext/securitysrv.h	2010-01-07 18:14:16.390609284 -0800
+diff -Nurp -x '*~' -x '*.orig' Xext/securitysrv.h Xext/securitysrv.h
+--- Xext/securitysrv.h	2009-09-27 18:56:58.000000000 -0700
++++ Xext/securitysrv.h	2011-02-15 15:53:21.259073802 -0800
 @@ -80,4 +80,8 @@ typedef struct {
  /* Give this value or higher to the -audit option to get security messages */
  #define SECURITY_AUDIT_LEVEL 4
@@ -83,10 +84,10 @@
 +extern _X_EXPORT unsigned int setClientTrustLevel(ClientPtr client, unsigned int newLevel);
 +
  #endif /* _SECURITY_SRV_H */
-diff -urp -x '*~' -x '*.orig' configure.ac configure.ac
---- configure.ac	2010-01-07 18:14:14.865470331 -0800
-+++ configure.ac	2010-01-07 18:14:16.392132857 -0800
-@@ -225,6 +225,14 @@ dnl Find the math libary
+diff -Nurp -x '*~' -x '*.orig' configure.ac configure.ac
+--- configure.ac	2011-02-15 15:53:19.158803446 -0800
++++ configure.ac	2011-02-15 15:53:21.259892485 -0800
+@@ -231,6 +231,14 @@ dnl Find the math libary
  AC_CHECK_LIB(m, sqrt)
  AC_CHECK_LIB(m, cbrt, AC_DEFINE(HAVE_CBRT, 1, [Have the 'cbrt' function]))
  
@@ -101,25 +102,25 @@
  AC_CHECK_HEADERS([ndbm.h dbm.h rpcsvc/dbm.h])
  
  dnl AGPGART headers
-@@ -1387,6 +1395,8 @@ AM_CONDITIONAL(XVFB, [test "x$XVFB" = xy
+@@ -1515,6 +1523,8 @@ AM_CONDITIONAL(XVFB, [test "x$XVFB" = xy
  if test "x$XVFB" = xyes; then
- 	XVFB_LIBS="$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB"
+ 	XVFB_LIBS="$FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB"
  	XVFB_SYS_LIBS="$XVFBMODULES_LIBS $GLX_SYS_LIBS"
 +	XVFB_LIBS="$XVFB_LIBS $TSOL_LIB"
 +	XVFB_SYS_LIBS="$XVFB_SYS_LIBS $TSOL_SYS_LIBS"
  	AC_SUBST([XVFB_LIBS])
  	AC_SUBST([XVFB_SYS_LIBS])
  fi
-@@ -1408,6 +1418,8 @@ if test "x$XNEST" = xyes; then
+@@ -1536,6 +1546,8 @@ if test "x$XNEST" = xyes; then
  	fi
- 	XNEST_LIBS="$FB_LIB $FIXES_LIB $MI_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $DIX_LIB $MAIN_LIB $OS_LIB $CONFIG_LIB"
+ 	XNEST_LIBS="$FB_LIB $FIXES_LIB $MI_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $DIX_LIB $MAIN_LIB $OS_LIB"
  	XNEST_SYS_LIBS="$XNESTMODULES_LIBS $GLX_SYS_LIBS"
 +	XNEST_LIBS="$XNEST_LIBS $TSOL_LIB"
 +	XNEST_SYS_LIBS="$XNEST_SYS_LIBS $TSOL_SYS_LIBS"
  	AC_SUBST([XNEST_LIBS])
  	AC_SUBST([XNEST_SYS_LIBS])
  fi
-@@ -1976,6 +1988,7 @@ if test "$KDRIVE" = yes; then
+@@ -2100,6 +2112,7 @@ if test "$KDRIVE" = yes; then
      KDRIVE_CFLAGS="$XSERVER_CFLAGS -DHAVE_KDRIVE_CONFIG_H $TSLIB_CFLAGS"
  
      KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $OS_LIB"
@@ -127,16 +128,16 @@
      KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.la'
      case $host_os in
  	*linux*)
-@@ -2139,3 +2152,6 @@ xorg-server.pc
+@@ -2280,3 +2293,6 @@ xorg-server.pc
  
  # Add Sun IA extension
  AC_OUTPUT([IA/Makefile])
 +
 +# Add Sun Trusted Extensions extension
 +AC_OUTPUT([tsol/Makefile])
-diff -urp -x '*~' -x '*.orig' dix/dispatch.c dix/dispatch.c
---- dix/dispatch.c	2010-01-03 19:17:33.000000000 -0800
-+++ dix/dispatch.c	2010-01-07 18:14:16.394483902 -0800
+diff -Nurp -x '*~' -x '*.orig' dix/dispatch.c dix/dispatch.c
+--- dix/dispatch.c	2010-06-10 23:10:22.000000000 -0700
++++ dix/dispatch.c	2011-02-15 15:53:21.260755445 -0800
 @@ -74,8 +74,8 @@ Equipment Corporation.
  
  ******************************************************************/
@@ -159,8 +160,8 @@
  static int nextFreeClientID; /* always MIN free client ID */
  
  static int	nClients;	/* number of authorized clients */
-@@ -931,7 +935,12 @@ ProcCirculateWindow(ClientPtr client)
-     return(client->noClientException);
+@@ -897,7 +901,12 @@ ProcCirculateWindow(ClientPtr client)
+     return Success;
  }
  
 -static int
@@ -173,8 +174,8 @@
  GetGeometry(ClientPtr client, xGetGeometryReply *rep)
  {
      DrawablePtr pDraw;
-@@ -2071,7 +2080,12 @@ ProcPutImage(ClientPtr client)
-      return (client->noClientException);
+@@ -2000,7 +2009,12 @@ ProcPutImage(ClientPtr client)
+      return Success;
  }
  
 -static int
@@ -187,9 +188,9 @@
  DoGetImage(ClientPtr client, int format, Drawable drawable, 
             int x, int y, int width, int height, 
             Mask planemask, xGetImageReply **im_return)
-diff -urp -x '*~' -x '*.orig' dix/events.c dix/events.c
---- dix/events.c	2010-01-07 14:44:56.000000000 -0800
-+++ dix/events.c	2010-01-07 18:14:16.397086083 -0800
+diff -Nurp -x '*~' -x '*.orig' dix/events.c dix/events.c
+--- dix/events.c	2010-12-02 12:16:53.000000000 -0800
++++ dix/events.c	2011-02-15 15:53:21.262022757 -0800
 @@ -75,7 +75,7 @@ Equipment Corporation.
  ******************************************************************/
  
@@ -199,8 +200,8 @@
   *
   * Permission is hereby granted, free of charge, to any person obtaining a
   * copy of this software and associated documentation files (the "Software"),
-@@ -360,7 +360,12 @@ IsMaster(DeviceIntPtr dev)
-     return (dev->type == MASTER_POINTER || dev->type == MASTER_KEYBOARD);
+@@ -334,7 +334,12 @@ IsMaster(DeviceIntPtr dev)
+     return dev->type == MASTER_POINTER || dev->type == MASTER_KEYBOARD;
  }
  
 -static WindowPtr XYToWindow(
@@ -213,7 +214,7 @@
      DeviceIntPtr pDev,
      int x,
      int y
-@@ -2631,7 +2636,12 @@ PointInBorderSize(WindowPtr pWin, int x,
+@@ -2583,7 +2588,12 @@ PointInBorderSize(WindowPtr pWin, int x,
   *
   * @returns the window at the given coordinates.
   */
@@ -227,9 +228,9 @@
  XYToWindow(DeviceIntPtr pDev, int x, int y)
  {
      WindowPtr  pWin;
-diff -urp -x '*~' -x '*.orig' dix/window.c dix/window.c
---- dix/window.c	2009-10-27 23:56:19.000000000 -0700
-+++ dix/window.c	2010-01-07 18:14:16.398779526 -0800
+diff -Nurp -x '*~' -x '*.orig' dix/window.c dix/window.c
+--- dix/window.c	2010-11-09 22:26:52.000000000 -0800
++++ dix/window.c	2011-02-15 15:53:21.262869239 -0800
 @@ -97,6 +97,33 @@ Equipment Corporation.
  
  ******************************************************************/
@@ -264,7 +265,7 @@
  
  #ifdef HAVE_DIX_CONFIG_H
  #include <dix-config.h>
-@@ -179,6 +206,11 @@ static Bool TileScreenSaver(int i, int k
+@@ -173,6 +200,11 @@ static Bool TileScreenSaver(ScreenPtr pS
  
  #define SubStrSend(pWin,pParent) (StrSend(pWin) || SubSend(pParent))
  
@@ -276,8 +277,8 @@
  #ifdef DEBUG
  /******
   * PrintWindowTree
-@@ -1825,7 +1857,12 @@ IsSiblingAboveMe(
-     return(Below);
+@@ -1805,7 +1837,12 @@ IsSiblingAboveMe(
+     return Below;
  }
  
 -static BoxPtr
@@ -290,7 +291,7 @@
  WindowExtents(
      WindowPtr pWin,
      BoxPtr pBox)
-@@ -1861,7 +1898,12 @@ MakeBoundingRegion (
+@@ -1835,7 +1872,12 @@ MakeBoundingRegion (
      return pRgn;
  }
  
@@ -304,7 +305,7 @@
  ShapeOverlap (
      WindowPtr	pWin,
      BoxPtr	pWinBox,
-@@ -2065,7 +2107,12 @@ WhereDoIGoInTheStack(
+@@ -2035,7 +2077,12 @@ WhereDoIGoInTheStack(
      }
  }
  
@@ -318,10 +319,10 @@
  ReflectStackChange(
      WindowPtr pWin,
      WindowPtr pSib,
-diff -urp -x '*~' -x '*.orig' hw/xfree86/common/xf86Config.c hw/xfree86/common/xf86Config.c
---- hw/xfree86/common/xf86Config.c	2010-01-07 18:14:14.866096681 -0800
-+++ hw/xfree86/common/xf86Config.c	2010-01-07 18:14:16.400356732 -0800
-@@ -117,6 +117,7 @@ static ModuleDefault ModuleDefaults[] = 
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/common/xf86Config.c hw/xfree86/common/xf86Config.c
+--- hw/xfree86/common/xf86Config.c	2011-02-15 15:53:19.159630285 -0800
++++ hw/xfree86/common/xf86Config.c	2011-02-15 15:53:21.263463226 -0800
+@@ -127,6 +127,7 @@ static ModuleDefault ModuleDefaults[] = 
      {.name = "dri2",     .toLoad = TRUE,    .load_opt=NULL},
  #endif
      {.name = "ia",       .toLoad = TRUE,    .load_opt=NULL},
@@ -329,10 +330,10 @@
      {.name = NULL,       .toLoad = FALSE,   .load_opt=NULL}
  };
  
-diff -urp -x '*~' -x '*.orig' hw/xfree86/dixmods/Makefile.am hw/xfree86/dixmods/Makefile.am
---- hw/xfree86/dixmods/Makefile.am	2010-01-07 18:14:14.866255080 -0800
-+++ hw/xfree86/dixmods/Makefile.am	2010-01-07 18:14:16.400667347 -0800
-@@ -73,3 +73,11 @@ extsmodule_LTLIBRARIES += libia.la
+diff -Nurp -x '*~' -x '*.orig' hw/xfree86/dixmods/Makefile.am hw/xfree86/dixmods/Makefile.am
+--- hw/xfree86/dixmods/Makefile.am	2011-02-15 15:53:19.159921744 -0800
++++ hw/xfree86/dixmods/Makefile.am	2011-02-15 15:53:21.263627438 -0800
+@@ -74,3 +74,11 @@ libia_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(t
  libia_la_LDFLAGS = -avoid-version
  libia_la_LIBADD = $(top_builddir)/IA/libIA.la
  libia_la_SOURCES = iamodule.c
@@ -344,10 +345,10 @@
 +libxtsol_la_LIBADD = $(top_builddir)/tsol/libxtsol.la
 +libxtsol_la_SOURCES = tsolmodule.c
 +endif
-diff -urp -x '*~' -x '*.orig' include/dix.h include/dix.h
---- include/dix.h	2010-01-07 14:44:57.000000000 -0800
-+++ include/dix.h	2010-01-07 18:14:16.401101717 -0800
-@@ -171,6 +171,15 @@ extern _X_EXPORT void MarkClientExceptio
+diff -Nurp -x '*~' -x '*.orig' include/dix.h include/dix.h
+--- include/dix.h	2010-06-10 23:10:22.000000000 -0700
++++ include/dix.h	2011-02-15 15:53:21.263857126 -0800
+@@ -172,6 +172,15 @@ extern _X_EXPORT void MarkClientExceptio
      ClientPtr /*client*/);
  
  extern _X_HIDDEN Bool CreateConnectionBlock(void);
@@ -362,10 +363,10 @@
 +
  /* dixutils.c */
  
- extern _X_EXPORT void CopyISOLatin1Lowered(
-diff -urp -x '*~' -x '*.orig' include/dixevents.h include/dixevents.h
---- include/dixevents.h	2009-08-10 21:00:25.000000000 -0700
-+++ include/dixevents.h	2010-01-07 18:14:16.401388928 -0800
+ extern _X_EXPORT int CompareISOLatin1Lowered(
+diff -Nurp -x '*~' -x '*.orig' include/dixevents.h include/dixevents.h
+--- include/dixevents.h	2009-09-27 18:57:02.000000000 -0700
++++ include/dixevents.h	2011-02-15 15:53:21.264009881 -0800
 @@ -88,4 +88,8 @@ extern _X_EXPORT void PostSyntheticMotio
                                  unsigned long time);
  #endif
@@ -375,9 +376,9 @@
 +#endif
 +
  #endif /* DIXEVENTS_H */
-diff -urp -x '*~' -x '*.orig' include/extnsionst.h include/extnsionst.h
---- include/extnsionst.h	2009-08-10 21:00:25.000000000 -0700
-+++ include/extnsionst.h	2010-01-07 18:14:16.401772630 -0800
+diff -Nurp -x '*~' -x '*.orig' include/extnsionst.h include/extnsionst.h
+--- include/extnsionst.h	2010-05-23 00:30:24.000000000 -0700
++++ include/extnsionst.h	2011-02-15 15:53:21.264213101 -0800
 @@ -45,6 +45,34 @@ SOFTWARE.
  
  ******************************************************************/
@@ -446,9 +447,21 @@
 +
  #endif /* EXTENSIONSTRUCT_H */
  
-diff -urp -x '*~' -x '*.orig' include/window.h include/window.h
---- include/window.h	2009-10-27 23:56:24.000000000 -0700
-+++ include/window.h	2010-01-07 18:14:16.402098271 -0800
+diff -Nurp -x '*~' -x '*.orig' include/input.h include/input.h
+--- include/input.h	2010-08-13 01:02:40.000000000 -0700
++++ include/input.h	2011-02-15 15:53:21.264443755 -0800
+@@ -406,7 +406,7 @@ extern void NoteLedState(
+     int /*led*/,
+     Bool /*on*/);
+ 
+-extern void MaybeStopHint(
++extern _X_EXPORT void MaybeStopHint(
+     DeviceIntPtr /*device*/,
+     ClientPtr /*client*/);
+ 
+diff -Nurp -x '*~' -x '*.orig' include/window.h include/window.h
+--- include/window.h	2009-09-27 18:57:02.000000000 -0700
++++ include/window.h	2011-02-15 15:53:21.264618099 -0800
 @@ -266,4 +266,9 @@ extern _X_EXPORT void DisableMapUnmapEve
  extern _X_EXPORT void EnableMapUnmapEvents(
      WindowPtr /* pWin */ );
@@ -459,10 +472,18 @@
 +#endif
 +
  #endif /* WINDOW_H */
-diff -urp -x '*~' -x '*.orig' mi/miinitext.c mi/miinitext.c
---- mi/miinitext.c	2010-01-07 18:14:14.866528563 -0800
-+++ mi/miinitext.c	2010-01-07 18:14:16.402610999 -0800
-@@ -163,6 +163,9 @@ extern Bool noGEExtension;
+diff -Nurp -x '*~' -x '*.orig' mi/miinitext.c mi/miinitext.c
+--- mi/miinitext.c	2011-02-15 15:53:19.160356394 -0800
++++ mi/miinitext.c	2011-02-15 15:53:21.264889170 -0800
+@@ -66,6 +66,7 @@ SOFTWARE.
+ #undef DAMAGE
+ #undef COMPOSITE
+ #undef MITSHM
++#undef TSOL
+ #endif
+ 
+ #ifdef HAVE_XNEST_CONFIG_H
+@@ -157,6 +158,9 @@ extern Bool noGEExtension;
  #ifdef SolarisIAExtension
  Bool noIAExtension;
  #endif
@@ -472,27 +493,27 @@
  
  #ifndef XFree86LOADER
  #define INITARGS void
-@@ -197,6 +200,9 @@ typedef void (*InitExtension)(INITARGS);
- #ifdef SolarisIAExtension
+@@ -192,6 +196,9 @@ typedef void (*InitExtension)(INITARGS);
  #include <X11/extensions/interactive.h>
+ #include "../IA/interactive_srv.h"
  #endif
 +#ifdef TSOL
-+#include "../tsol/tsol.h"
++#include "../tsol/tsolextension.h"
 +#endif
  
  /* FIXME: this whole block of externs should be from the appropriate headers */
  #ifdef MITSHM
-@@ -333,6 +339,9 @@ static ExtensionToggle ExtensionToggleLi
+@@ -315,6 +322,9 @@ static ExtensionToggle ExtensionToggleLi
  #ifdef SolarisIAExtension
      { IANAME /* "SolarisIA" */, &noIAExtension },
- #endif    
+ #endif
 +#ifdef TSOL
 +    { TSOLNAME /* "SUN_TSOL" */, &noXTSolExtension },
-+#endif    
++#endif
  #ifdef RES
      { "X-Resource", &noResExtension },
  #endif
-@@ -509,6 +518,11 @@ InitExtensions(int argc, char *argv[])
+@@ -486,6 +496,11 @@ InitExtensions(int argc, char *argv[])
  #ifdef SolarisIAExtension
      if (!noIAExtension) IAExtensionInit();
  #endif
@@ -504,9 +525,9 @@
  }
  
  #else /* XFree86LOADER */
-diff -urp -x '*~' -x '*.orig' os/connection.c os/connection.c
---- os/connection.c	2009-10-27 23:56:24.000000000 -0700
-+++ os/connection.c	2010-01-07 18:14:16.403367950 -0800
+diff -Nurp -x '*~' -x '*.orig' os/connection.c os/connection.c
+--- os/connection.c	2010-09-11 14:20:51.000000000 -0700
++++ os/connection.c	2011-02-15 15:53:21.265265952 -0800
 @@ -44,6 +44,33 @@ ARISING OUT OF OR IN CONNECTION WITH THE
  SOFTWARE.
  
@@ -566,15 +587,3 @@
      /* Allow any client to connect without authorization on a launchd socket,
         because it is securely created -- this prevents a race condition on launch */
      if(trans_conn->flags & TRANS_NOXAUTH) {
-
---- include/input.h	Thu Jan  7 14:44:57 2010
-+++ include/input.h.new	Fri Jan 29 14:27:49 2010
-@@ -383,7 +383,7 @@
-     int /*led*/,
-     Bool /*on*/);
- 
--extern void MaybeStopHint(
-+extern _X_EXPORT void MaybeStopHint(
-     DeviceIntPtr /*device*/,
-     ClientPtr /*client*/);
- 
--- a/open-src/xserver/xvnc/Makefile	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xvnc/Makefile	Mon Mar 14 15:37:30 2011 -0700
@@ -4,7 +4,7 @@
 # Based on Fedora's tigervnc.spec revision 1.20 from
 # http://cvs.fedoraproject.org/viewvc/rpms/tigervnc/devel/tigervnc.spec
 #
-# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -71,7 +71,11 @@
 	upstream-input-refactor.patch,-p1 \
 	upstream-modkeystick.patch,-p1 \
 	upstream-port-to-1.7.patch,-p1 \
-	tigervnc-xserver17.patch \
+	upstream-port-to-1.8.patch,-p1 \
+	upstream-xorg-1.8-closeinput.patch,-p1 \
+	upstream-xkbconvertcase.patch,-p1 \
+	port-to-1.9.patch \
+	$(SOURCE_DIR)/unix/xserver18.patch,'-p0 -d unix' \
 	vnc-nobuildtime.patch \
 	vnc-nohttpd.patch \
 	solaris-port.patch
@@ -149,7 +153,7 @@
 $(XORG_TARBALL):
 	(cd ../xorg && $(MAKE) $(MAKEFLAGS) download)
 
-$(XORG_SOURCE_INIT_TARGET): $(XORG_TARBALL) $(LNDIR)
+$(XORG_SOURCE_INIT_TARGET): $(XORG_TARBALL)
 	mkdir -p $(SOURCE_DIR)/unix
 	$(MAKE) $(MAKEFLAGS) init_source \
 		NO_RECURSE="$(POUND_SIGN)" \
--- a/open-src/xserver/xvnc/README.txt	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xvnc/README.txt	Mon Mar 14 15:37:30 2011 -0700
@@ -1,6 +1,6 @@
 ###############################################################################
 #
-# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -38,7 +38,8 @@
 
    Upstream:
 	Original: http://www.tigervnc.com/
-	Fedora patches: http://cvs.fedoraproject.org/viewcvs/rpms/tigervnc/
+	Fedora patches: http://pkgs.fedoraproject.org/gitweb/?p=tigervnc.git
+	       		git://pkgs.fedoraproject.org/tigervnc.git
 
    1. Please provide a brief description of the feature and how it is used.
 
@@ -85,13 +86,14 @@
       etc.) that are introduced, removed, or have substantially changed by
       this feature or project.
 
-  New package SUNWxvnc (S10) / pkg:/x11/server/xvnc (IPS):
+      S10 package SUNWxvnc / S11 package pkg:/x11/server/xvnc :
 	  /usr/bin/vncpasswd
 	  /usr/bin/vncserver
 	  /usr/bin/x0vncserver
 	  /usr/bin/Xvnc	
       
-  New package SUNWvncviewer (S10) / pkg:/desktop/remote-desktop/tigervnc (IPS):
+      S10 package SUNWvncviewer / 
+      S11 package pkg:/desktop/remote-desktop/tigervnc :
 	  /usr/bin/vncviewer
 
    8. What major data structures have changed or have been added?
@@ -115,6 +117,8 @@
       Can a VNC client (such as vncviewer) connect to a VNC server (such as
       Xvnc) and see the desktop session in it?
 
+      See full test case instructions below.
+
   12. Are there any diagnostic tools for this feature and what are they?
 
       Xvnc contains the same Xserver DTrace probes as the other Solaris
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/xserver/xvnc/port-to-1.9.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -0,0 +1,97 @@
+--- unix/xserver/hw/vnc/xorg-version.h	2010-07-23 18:43:17.578041302 -0700
++++ unix/xserver/hw/vnc/xorg-version.h	2010-07-23 18:44:00.854078060 -0700
+@@ -32,8 +32,10 @@
+ #define XORG 17
+ #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (8 * 100000) + (99 * 1000))
+ #define XORG 18
++#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (9 * 100000) + (99 * 1000))
++#define XORG 19
+ #else
+-#error "X.Org newer than 1.8 is not supported"
++#error "X.Org newer than 1.9 is not supported"
+ #endif
+ 
+ #endif
+
+--- unix/xserver/hw/vnc/xvnc.cc
++++ unix/xserver/hw/vnc/xvnc.cc
+@@ -609,7 +609,11 @@ vfbInstallColormap(ColormapPtr pmap)
+ 
+ 	for (i = 0; i < entries; i++)  ppix[i] = i;
+ 	/* XXX truecolor */
++#if XORG >= 19
++	QueryColors(pmap, entries, ppix, prgb, serverClient);
++#else
+ 	QueryColors(pmap, entries, ppix, prgb);
++#endif
+ 
+ 	for (i = 0; i < entries; i++) { /* convert xrgbs to xColorItems */
+ 	    defs[i].pixel = ppix[i] & 0xff; /* change pixel to index */
+@@ -857,7 +861,11 @@ static Bool vncRandRGetInfo (ScreenPtr pScreen, Rotation *rotations)
+ static void
+ xf86SetRootClip (ScreenPtr pScreen, Bool enable)
+ {
++#if XORG >= 19
++    WindowPtr	pWin = pScreen->root;
++#else
+     WindowPtr	pWin = WindowTable[pScreen->myNum];
++#endif
+     WindowPtr	pChild;
+     Bool	WasViewable = (Bool)(pWin->viewable);
+     Bool	anyMarked = FALSE;
+
+--- unix/xserver/hw/vnc/vncHooks.cc	2010-09-07 16:44:21.556888424 -0700
++++ unix/xserver/hw/vnc/vncHooks.cc	2010-09-07 17:25:22.176675661 -0700
+@@ -90,7 +90,12 @@
+     GCOps *wrappedOps;
+ } vncHooksGCRec, *vncHooksGCPtr;
+ 
+-#if XORG == 15
++#if XORG >= 19
++static DevPrivateKeyRec vncHooksScreenPrivateKeyRec;
++#define vncHooksScreenPrivateKey (&vncHooksScreenPrivateKeyRec)
++static DevPrivateKeyRec vncHooksGCPrivateKey;
++#define vncHooksGCPrivateKey (&vncHooksScreenPrivateKeyRec)
++#elif XORG == 15
+ static DevPrivateKey vncHooksScreenPrivateKey = &vncHooksScreenPrivateKey;
+ static DevPrivateKey vncHooksGCPrivateKey = &vncHooksGCPrivateKey;
+ #else
+@@ -223,11 +228,21 @@
+ {
+   vncHooksScreenPtr vncHooksScreen;
+ 
++#if XORG >= 19
++  if (!dixRegisterPrivateKey(vncHooksScreenPrivateKey, PRIVATE_SCREEN,
++			     sizeof(vncHooksScreenRec))) {
++#else
+   if (!dixRequestPrivate(vncHooksScreenPrivateKey, sizeof(vncHooksScreenRec))) {
++#endif
+     ErrorF("vncHooksInit: Allocation of vncHooksScreen failed\n");
+     return FALSE;
+   }
++#if XORG >= 19
++  if (!dixRegisterPrivateKey(vncHooksGCPrivateKey, PRIVATE_GC,
++			     sizeof(vncHooksGCRec))) {
++#else
+   if (!dixRequestPrivate(vncHooksGCPrivateKey, sizeof(vncHooksGCRec))) {
++#endif
+     ErrorF("vncHooksInit: Allocation of vncHooksGCRec failed\n");
+     return FALSE;
+   }
+
+--- unix/xserver/hw/vnc/XserverDesktop.cc	2010-09-07 16:44:21.567631294 -0700
++++ unix/xserver/hw/vnc/XserverDesktop.cc	2010-09-07 18:59:36.858315339 -0700
+@@ -770,7 +770,12 @@
+   region.get_rects(&rects);
+   for (i = rects.begin(); i != rects.end(); i++) {
+     for (int y = i->tl.y; y < i->br.y; y++) {
+-      (*pScreen->GetImage) ((DrawablePtr)WindowTable[pScreen->myNum],
++#if XORG >= 19
++      WindowPtr screenRoot = pScreen->root;
++#else
++      WindowPtr screenRoot = WindowTable[pScreen->myNum];
++#endif
++      (*pScreen->GetImage) ((DrawablePtr)screenRoot,
+                             i->tl.x, y, i->width(), 1,
+                             ZPixmap, (unsigned long)~0L,
+                             ((char*)data
--- a/open-src/xserver/xvnc/solaris-port.patch	Wed Mar 09 16:02:37 2011 -0800
+++ b/open-src/xserver/xvnc/solaris-port.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -1,4 +1,4 @@
-# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -84,14 +84,26 @@
 diff -urp -x '*~' -x '*.orig' unix/xserver/hw/vnc/Makefile.am unix/xserver/hw/vnc/Makefile.am
 --- unix/xserver/hw/vnc/Makefile.am	2010-01-07 18:27:33.782620873 -0800
 +++ unix/xserver/hw/vnc/Makefile.am	2010-01-07 18:27:36.002105937 -0800
-@@ -34,7 +34,14 @@ Xvnc_CPPFLAGS = $(XVNC_CPPFLAGS) -DNO_HW
+@@ -17,7 +17,7 @@
+ 
+ libvnccommon_la_CPPFLAGS = -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \
  	-DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(LIB_DIR) \
- 	-I$(top_srcdir)/include -I$(includedir)/pixman-1 -I$(includedir)
+-	-I$(BIN_DIR)/vncconfig $(XVNC_CPPFLAGS) -I$(includedir)/pixman-1 -I$(includedir)
++	-I$(BIN_DIR)/vncconfig $(XVNC_CPPFLAGS) $(PIXMAN_CFLAGS)
+ 
+ bin_PROGRAMS = Xvnc
  
+@@ -32,10 +32,17 @@ Xvnc_CPPFLAGS = $(XVNC_CPPFLAGS) -DNO_HW
+ Xvnc_CPPFLAGS = $(XVNC_CPPFLAGS) -DNO_HW_ONLY_EXTS -DNO_MODULE_EXTS \
+ 	-DXFree86Server -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \
+ 	-DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(LIB_DIR) \
+-	-I$(top_srcdir)/include -I$(includedir)/pixman-1 -I$(includedir)
++	-I$(top_srcdir)/include $(PIXMAN_CFLAGS)
++
 +if BUILD_TSOL_MODULE
-+TSOL_LIBS = 	../../tsol/libxtsol.la -ltsol -ltsnet -lbsm
++TSOL_LIBS = 	../../tsol/libxtsol.la
 +endif
-+
+ 
  Xvnc_LDADD = $(XVNC_LIBS) libvnccommon.la $(COMMON_LIBS) \
 -	$(XSERVER_LIBS) $(XSERVER_SYS_LIBS) -lX11
 +	-ljpeg -lz \
@@ -100,14 +112,24 @@
 +	$(XSERVER_LIBS) $(XSERVER_SYS_LIBS)
  
  Xvnc_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
+ 
+@@ -55,7 +55,7 @@
+ 	-I$(top_srcdir)/hw/xfree86/common \
+ 	-I$(top_srcdir)/hw/xfree86/os-support \
+ 	-I$(top_srcdir)/hw/xfree86/os-support/bus \
+-	-I$(includedir)/pixman-1 -I$(includedir)
++	$(PIXMAN_CFLAGS)
+ 
+ libvnc_la_LDFLAGS = -module -avoid-version
+ 
 @@ -62,8 +69,8 @@ BUILT_SOURCES = $(nodist_Xvnc_SOURCES)
  fb.h: $(top_srcdir)/fb/fb.h
  	cat $(top_srcdir)/fb/fb.h | sed -e 's,and,c_and,' -e 's,xor,c_xor,' > $(srcdir)/fb.h
  
 -pixman.h: $(includedir)/pixman-1/pixman.h
 -	cat $(includedir)/pixman-1/pixman.h | sed 's/xor/c_xor/' > $(srcdir)/pixman.h
-+pixman.h: $(PROTODIR)/usr/include/pixman-1/pixman.h
-+	cat $(PROTODIR)/usr/include/pixman-1/pixman.h | sed 's/xor/c_xor/' > $(srcdir)/pixman.h
++pixman.h: $(PROTODIR)$(includedir)/pixman-1/pixman.h
++	cat $(PROTODIR)$(includedir)/pixman-1/pixman.h | sed 's/xor/c_xor/' > $(srcdir)/pixman.h
  
  fbrop.h: $(top_srcdir)/fb/fbrop.h
  	cat $(top_srcdir)/fb/fbrop.h | sed -e 's,and,c_and,' -e 's,xor,c_xor,' > $(srcdir)/fbrop.h
--- a/open-src/xserver/xvnc/tigervnc-xserver17.patch	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-# This is the patch from tigervnc-1.0.0/unix/xserver16.patch
-# modified to apply to the xserver 1.7.x sources used in our builds
-
-# Only changes needed to make the patch apply should happen in
-# this patch - other bug fixes & customizations should go into
-# separate patches, so they aren't lost when this patch is
-# replaced with new versions from upstream.
-
-diff -urp -x '*~' -x '*.orig' unix/xserver/configure.ac unix/xserver/configure.ac
---- unix/xserver/configure.ac	2010-01-07 18:27:12.367254728 -0800
-+++ unix/xserver/configure.ac	2010-01-07 18:27:15.429140493 -0800
-@@ -30,7 +30,6 @@ AC_INIT([xorg-server], 1.7.4, [https://b
- RELEASE_DATE="2010-01-08"
- AC_CONFIG_SRCDIR([Makefile.am])
- AM_INIT_AUTOMAKE([dist-bzip2 foreign])
--AM_MAINTAINER_MODE
- 
- AC_CONFIG_FILES([
- 	shave
-@@ -64,6 +63,7 @@ dnl forcing an entire recompile.x
- AC_CONFIG_HEADERS(include/version-config.h)
- 
- AC_PROG_CC
-+AC_PROG_CXX
- AM_PROG_AS
- AC_PROG_INSTALL
- AC_PROG_LN_S
-@@ -1401,6 +1401,9 @@ if test "x$XVFB" = xyes; then
- 	AC_SUBST([XVFB_SYS_LIBS])
- fi
- 
-+dnl Xvnc DDX
-+AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XEXT_INC $FB_INC $MI_INC $RENDER_INC $RANDR_INC"])
-+AC_SUBST([XVNC_LIBS], ["$MAIN_LIB $FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB"])
- 
- dnl Xnest DDX
- 
-@@ -1441,6 +1444,8 @@ xorg_bus_linuxpci=no
- xorg_bus_bsdpci=no
- xorg_bus_sparc=no
- 
-+AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
-+
- if test "x$XORG" = xyes; then
- 	XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
- 	XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
-@@ -1683,7 +1688,6 @@ if test "x$XORG" = xyes; then
- 	AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
- 	AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
- 	AC_DEFINE(XFree86LOADER, 1, [Building loadable XFree86 server])
--	AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
- 	AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
- 	AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
- 	AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
-@@ -2129,6 +2133,7 @@ hw/dmx/input/Makefile
- hw/dmx/glxProxy/Makefile
- hw/dmx/Makefile
- hw/vfb/Makefile
-+hw/vnc/Makefile
- hw/xnest/Makefile
- hw/xwin/Makefile
- hw/xquartz/Makefile
-diff -urp -x '*~' -x '*.orig' unix/xserver/hw/Makefile.am unix/xserver/hw/Makefile.am
---- unix/xserver/hw/Makefile.am	2009-01-07 15:14:46.000000000 -0800
-+++ unix/xserver/hw/Makefile.am	2010-01-07 18:27:15.429299239 -0800
-@@ -33,7 +33,8 @@ SUBDIRS =			\
- 	$(XNEST_SUBDIRS)	\
- 	$(DMX_SUBDIRS)		\
- 	$(KDRIVE_SUBDIRS)	\
--	$(XQUARTZ_SUBDIRS)
-+	$(XQUARTZ_SUBDIRS)	\
-+	vnc
- 
- DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive
- 
-diff -urp -x '*~' -x '*.orig' unix/xserver/mi/miinitext.c unix/xserver/mi/miinitext.c
---- unix/xserver/mi/miinitext.c	2010-01-07 18:27:12.377142821 -0800
-+++ unix/xserver/mi/miinitext.c	2010-01-07 18:27:15.429639241 -0800
-@@ -290,6 +290,7 @@ extern void GEExtensionInit(INITARGS);
- #ifdef SolarisIAExtension
- extern void IAExtensionInit(void);
- #endif
-+extern void vncExtensionInit(INITARGS);
- 
- /* The following is only a small first step towards run-time
-  * configurable extensions.
-@@ -476,6 +477,7 @@ InitExtensions(int argc, char *argv[])
- #ifdef XF86BIGFONT
-     if (!noXFree86BigfontExtension) XFree86BigfontExtensionInit();
- #endif
-+    vncExtensionInit();
- #if !defined(NO_HW_ONLY_EXTS)
- #if defined(XF86VIDMODE)
-     if (!noXFree86VidModeExtension) XFree86VidModeExtensionInit();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/xserver/xvnc/tigervnc-xserver18.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -0,0 +1,95 @@
+# This is the patch from tigervnc svn unix/xserver18.patch
+# modified to apply to the xserver 1.8.x sources used in our builds
+
+# Only changes needed to make the patch apply should happen in
+# this patch - other bug fixes & customizations should go into
+# separate patches, so they aren't lost when this patch is
+# replaced with new versions from upstream.
+
+diff -up xserver/configure.ac.vnc xserver/configure.ac
+--- unix/xserver/configure.ac.vnc	2010-01-22 11:23:04.524629373 +0100
++++ unix/xserver/configure.ac	2010-01-22 11:31:04.704638847 +0100
+@@ -30,7 +30,6 @@ AC_INIT([xorg-server], 1.7.99.3, [https:
+ RELEASE_DATE="(unreleased)"
+ AC_CONFIG_SRCDIR([Makefile.am])
+ AM_INIT_AUTOMAKE([foreign dist-bzip2])
+-AM_MAINTAINER_MODE
+ 
+ # Require xorg-macros: XORG_DEFAULT_OPTIONS
+ m4_ifndef([XORG_MACROS_VERSION],
+@@ -63,6 +62,7 @@ dnl forcing an entire recompile.x
+ AC_CONFIG_HEADERS(include/version-config.h)
+ 
+ AC_PROG_CC
++AC_PROG_CXX
+ AM_PROG_AS
+ AC_PROG_INSTALL
+ AC_PROG_LN_S
+@@ -1486,6 +1486,10 @@ if test "x$XVFB" = xyes; then
+ 	AC_SUBST([XVFB_SYS_LIBS])
+ fi
+ 
++dnl Xvnc DDX
++AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XEXT_INC $FB_INC $MI_INC $RENDER_INC $RANDR_INC"])
++AC_SUBST([XVNC_LIBS], ["$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB"])
++AC_SUBST([LIBVNC_LIBS], ["$XI_LIB $DIX_LIB $XKB_LIB"])
+ 
+ dnl Xnest DDX
+ 
+@@ -1524,6 +1528,8 @@ xorg_bus_linuxpci=no
+ xorg_bus_bsdpci=no
+ xorg_bus_sparc=no
+ 
++AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
++
+ if test "x$XORG" = xyes; then
+ 	XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
+ 	XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
+@@ -1765,7 +1771,6 @@ if test "x$XORG" = xyes; then
+ 	AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
+ 	AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
+ 	AC_DEFINE(XFree86LOADER, 1, [Building loadable XFree86 server])
+-	AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
+ 	AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
+ 	AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
+ 	AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
+@@ -2195,6 +2200,7 @@ hw/dmx/input/Makefile
+ hw/dmx/glxProxy/Makefile
+ hw/dmx/Makefile
+ hw/vfb/Makefile
++hw/vnc/Makefile
+ hw/xnest/Makefile
+ hw/xwin/Makefile
+ hw/xquartz/Makefile
+diff -up xserver/hw/Makefile.am.vnc xserver/hw/Makefile.am
+--- unix/xserver/hw/Makefile.am.vnc	2010-01-22 11:23:04.560613962 +0100
++++ unix/xserver/hw/Makefile.am	2010-01-22 11:23:04.600597430 +0100
+@@ -33,7 +33,8 @@ SUBDIRS =			\
+ 	$(XNEST_SUBDIRS)	\
+ 	$(DMX_SUBDIRS)		\
+ 	$(KDRIVE_SUBDIRS)	\
+-	$(XQUARTZ_SUBDIRS)
++	$(XQUARTZ_SUBDIRS)	\
++	vnc
+ 
+ DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive
+ 
+diff -up xserver/mi/miinitext.c.vnc xserver/mi/miinitext.c
+--- unix/xserver/mi/miinitext.c.vnc	2010-01-22 11:23:04.564613258 +0100
++++ unix/xserver/mi/miinitext.c	2010-01-22 11:23:04.600597430 +0100
+@@ -274,6 +274,7 @@ extern void DamageExtensionInit(INITARGS
+ extern void CompositeExtensionInit(INITARGS);
+ #endif
+ extern void GEExtensionInit(INITARGS);
++extern void vncExtensionInit(INITARGS);
+ 
+ /* The following is only a small first step towards run-time
+  * configurable extensions.
+@@ -454,6 +455,7 @@ InitExtensions(int argc, char *argv[])
+ #ifdef XF86BIGFONT
+     if (!noXFree86BigfontExtension) XFree86BigfontExtensionInit();
+ #endif
++    vncExtensionInit();
+ #if !defined(NO_HW_ONLY_EXTS)
+ #if defined(XF86VIDMODE)
+     if (!noXFree86VidModeExtension) XFree86VidModeExtensionInit();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/xserver/xvnc/upstream-port-to-1.8.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -0,0 +1,124 @@
+From 6e3dad36c1e9a71eb0ee80fd86b7c452dbf1eea9 Mon Sep 17 00:00:00 2001
+From: atkac <atkac@3789f03b-4d11-0410-bbf8-ca57d06f2519>
+Date: Fri, 22 Jan 2010 11:15:55 +0000
+Subject: [PATCH] [Development] X.Org 1.8 codebase is now supported. Add xserver18.patch.
+
+git-svn-id: https://tigervnc.svn.sourceforge.net/svnroot/tigervnc/trunk@3954 3789f03b-4d11-0410-bbf8-ca57d06f2519
+---
+ unix/xserver/hw/vnc/xorg-version.h |    4 +-
+ unix/xserver18.patch               |   87 ++++++++++++++++++++++++++++++++++++
+ 2 files changed, 90 insertions(+), 1 deletions(-)
+ create mode 100644 unix/xserver18.patch
+
+diff --git a/unix/xserver/hw/vnc/xorg-version.h b/unix/xserver/hw/vnc/xorg-version.h
+index 3d942fc..71f8553 100644
+--- a/unix/xserver/hw/vnc/xorg-version.h
++++ b/unix/xserver/hw/vnc/xorg-version.h
+@@ -30,8 +30,10 @@
+ #define XORG 16
+ #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (7 * 100000) + (99 * 1000))
+ #define XORG 17
++#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (8 * 100000) + (99 * 1000))
++#define XORG 18
+ #else
+-#error "X.Org newer than 1.7 is not supported"
++#error "X.Org newer than 1.8 is not supported"
+ #endif
+ 
+ #endif
+diff --git a/unix/xserver18.patch b/unix/xserver18.patch
+new file mode 100644
+index 0000000..3ac7c38
+--- /dev/null
++++ b/unix/xserver18.patch
+@@ -0,0 +1,87 @@
++diff -up xserver/configure.ac.vnc xserver/configure.ac
++--- xserver/configure.ac.vnc	2010-01-22 11:23:04.524629373 +0100
+++++ xserver/configure.ac	2010-01-22 11:31:04.704638847 +0100
++@@ -30,7 +30,6 @@ AC_INIT([xorg-server], 1.7.99.3, [https:
++ RELEASE_DATE="(unreleased)"
++ AC_CONFIG_SRCDIR([Makefile.am])
++ AM_INIT_AUTOMAKE([foreign dist-bzip2])
++-AM_MAINTAINER_MODE
++ 
++ # Require xorg-macros: XORG_DEFAULT_OPTIONS
++ m4_ifndef([XORG_MACROS_VERSION],
++@@ -63,6 +62,7 @@ dnl forcing an entire recompile.x
++ AC_CONFIG_HEADERS(include/version-config.h)
++ 
++ AC_PROG_CC
+++AC_PROG_CXX
++ AM_PROG_AS
++ AC_PROG_INSTALL
++ AC_PROG_LN_S
++@@ -1486,6 +1486,10 @@ if test "x$XVFB" = xyes; then
++ 	AC_SUBST([XVFB_SYS_LIBS])
++ fi
++ 
+++dnl Xvnc DDX
+++AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XEXT_INC $FB_INC $MI_INC $RENDER_INC $RANDR_INC"])
+++AC_SUBST([XVNC_LIBS], ["$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB"])
+++AC_SUBST([LIBVNC_LIBS], ["$XI_LIB $DIX_LIB $XKB_LIB"])
++ 
++ dnl Xnest DDX
++ 
++@@ -1524,6 +1528,8 @@ xorg_bus_linuxpci=no
++ xorg_bus_bsdpci=no
++ xorg_bus_sparc=no
++ 
+++AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
+++
++ if test "x$XORG" = xyes; then
++ 	XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
++ 	XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
++@@ -1765,7 +1771,6 @@ if test "x$XORG" = xyes; then
++ 	AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
++ 	AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
++ 	AC_DEFINE(XFree86LOADER, 1, [Building loadable XFree86 server])
++-	AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
++ 	AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
++ 	AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
++ 	AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
++@@ -2195,6 +2200,7 @@ hw/dmx/input/Makefile
++ hw/dmx/glxProxy/Makefile
++ hw/dmx/Makefile
++ hw/vfb/Makefile
+++hw/vnc/Makefile
++ hw/xnest/Makefile
++ hw/xwin/Makefile
++ hw/xquartz/Makefile
++diff -up xserver/hw/Makefile.am.vnc xserver/hw/Makefile.am
++--- xserver/hw/Makefile.am.vnc	2010-01-22 11:23:04.560613962 +0100
+++++ xserver/hw/Makefile.am	2010-01-22 11:23:04.600597430 +0100
++@@ -33,7 +33,8 @@ SUBDIRS =			\
++ 	$(XNEST_SUBDIRS)	\
++ 	$(DMX_SUBDIRS)		\
++ 	$(KDRIVE_SUBDIRS)	\
++-	$(XQUARTZ_SUBDIRS)
+++	$(XQUARTZ_SUBDIRS)	\
+++	vnc
++ 
++ DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive
++ 
++diff -up xserver/mi/miinitext.c.vnc xserver/mi/miinitext.c
++--- xserver/mi/miinitext.c.vnc	2010-01-22 11:23:04.564613258 +0100
+++++ xserver/mi/miinitext.c	2010-01-22 11:23:04.600597430 +0100
++@@ -274,6 +274,7 @@ extern void DamageExtensionInit(INITARGS
++ extern void CompositeExtensionInit(INITARGS);
++ #endif
++ extern void GEExtensionInit(INITARGS);
+++extern void vncExtensionInit(INITARGS);
++ 
++ /* The following is only a small first step towards run-time
++  * configurable extensions.
++@@ -454,6 +455,7 @@ InitExtensions(int argc, char *argv[])
++ #ifdef XF86BIGFONT
++     if (!noXFree86BigfontExtension) XFree86BigfontExtensionInit();
++ #endif
+++    vncExtensionInit();
++ #if !defined(NO_HW_ONLY_EXTS)
++ #if defined(XF86VIDMODE)
++     if (!noXFree86VidModeExtension) XFree86VidModeExtensionInit();
+-- 
+1.5.6.5
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/xserver/xvnc/upstream-xkbconvertcase.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -0,0 +1,36 @@
+From d11e60203e74d8b5e5a35764804ed8b9b7775c89 Mon Sep 17 00:00:00 2001
+From: atkac <atkac@3789f03b-4d11-0410-bbf8-ca57d06f2519>
+Date: Tue, 18 May 2010 13:35:37 +0000
+Subject: [PATCH] [Bugfix] Use always XkbConvertCase instead of XConvertCase when compiling
+ against X.Org 1.8.X and newer. Othewrise keysyms are not mapped correctly
+ to keycodes.
+
+Reference: https://bugzilla.redhat.com/show_bug.cgi?id=586406
+
+
+git-svn-id: https://tigervnc.svn.sourceforge.net/svnroot/tigervnc/trunk@4057 3789f03b-4d11-0410-bbf8-ca57d06f2519
+---
+ unix/xserver/hw/vnc/Input.cc |    7 ++++++-
+ 1 files changed, 6 insertions(+), 1 deletions(-)
+
+diff --git a/unix/xserver/hw/vnc/Input.cc b/unix/xserver/hw/vnc/Input.cc
+index d108763..f1e4801 100644
+--- a/unix/xserver/hw/vnc/Input.cc
++++ b/unix/xserver/hw/vnc/Input.cc
+@@ -712,7 +712,12 @@ static KeySym KeyCodetoKeySym(KeySymsPtr keymap, int keycode, int col)
+ 	}
+ 
+ 	if ((per <= (col|1)) || (syms[col|1] == NoSymbol)) {
+-		XConvertCase(syms[col&~1], &lsym, &usym);
++#if XORG >= 18
++		XkbConvertCase
++#else
++		XConvertCase
++#endif
++			    (syms[col&~1], &lsym, &usym);
+ 		if (!(col & 1))
+ 			return lsym;
+ 		/*
+-- 
+1.5.6.5
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/xserver/xvnc/upstream-xorg-1.8-closeinput.patch	Mon Mar 14 15:37:30 2011 -0700
@@ -0,0 +1,27 @@
+From 1988eda4f80eae04ccd71b7051765ed0a0967ada Mon Sep 17 00:00:00 2001
+From: atkac <atkac@3789f03b-4d11-0410-bbf8-ca57d06f2519>
+Date: Fri, 19 Feb 2010 13:07:19 +0000
+Subject: [PATCH] [Bugfix] X.Org 1.8 series needs CloseInput function defined in xvnc.cc.
+
+git-svn-id: https://tigervnc.svn.sourceforge.net/svnroot/tigervnc/trunk@3993 3789f03b-4d11-0410-bbf8-ca57d06f2519
+---
+ unix/xserver/hw/vnc/xvnc.cc |    6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/unix/xserver/hw/vnc/xvnc.cc b/unix/xserver/hw/vnc/xvnc.cc
+index 62564d3..1d19695 100644
+--- a/unix/xserver/hw/vnc/xvnc.cc
++++ b/unix/xserver/hw/vnc/xvnc.cc
+@@ -1345,3 +1345,9 @@ void InitInput(int argc, char *argv[])
+ {
+   mieqInit ();
+ }
++
++#if XORG > 17
++void CloseInput(void)
++{
++}
++#endif
+-- 
+1.5.6.5
+
--- a/pkg/legacy/x11-server-xorg-driver-xorg-misc.mf	Wed Mar 09 16:02:37 2011 -0800
+++ b/pkg/legacy/x11-server-xorg-driver-xorg-misc.mf	Mon Mar 14 15:37:30 2011 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -21,11 +21,11 @@
 # DEALINGS IN THE SOFTWARE.
 #
 set name=pkg.fmri \
-    value=pkg:/x11/server/xorg/driver/[email protected],5.11-0.153
+    value=pkg:/x11/server/xorg/driver/[email protected],5.11-0.162
 set name=pkg.renamed value=true
 
 # Depends on packages for video drivers split out of this package in snv_144
-# and remaining after the removal of the EOF drivers in 153.
+# and remaining after the removal of the EOF drivers in 153 & 162.
 #
 # Does not depend on the new xorg-video group package, since that
 # would force in the latest nvidia driver on upgrade, possibly breaking
@@ -58,9 +58,6 @@
     fmri=pkg:/x11/server/xorg/driver/[email protected],5.11-0.152 \
     type=require
 $(i386_ONLY)depend \
-    fmri=pkg:/x11/server/xorg/driver/[email protected],5.11-0.152 \
-    type=require
-$(i386_ONLY)depend \
     fmri=pkg:/x11/server/xorg/driver/[email protected],5.11-0.152 \
     type=require
 $(i386_ONLY)depend \
@@ -69,6 +66,3 @@
 $(i386_ONLY)depend \
     fmri=pkg:/x11/server/xorg/driver/[email protected],5.11-0.152 \
     type=require
-$(sparc_ONLY)depend \
-    fmri=pkg:/x11/server/xorg/driver/[email protected],5.11-0.152 \
-    type=require
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pkg/legacy/x11-server-xorg-driver-xorg-video-radeonhd.mf	Mon Mar 14 15:37:30 2011 -0700
@@ -0,0 +1,25 @@
+# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+set name=pkg.fmri \
+    value=pkg:/x11/server/xorg/driver/[email protected],5.11-0.162
+set name=variant.arch value=i386
+set name=pkg.obsolete value=true
--- a/pkg/legacy/x11-server-xorg-driver-xorg-video-savage.mf	Wed Mar 09 16:02:37 2011 -0800
+++ b/pkg/legacy/x11-server-xorg-driver-xorg-video-savage.mf	Mon Mar 14 15:37:30 2011 -0700
@@ -20,5 +20,5 @@
 # DEALINGS IN THE SOFTWARE.
 #
 set name=pkg.fmri \
-    value=pkg:/x11/server/xorg/driver/[email protected],5.11-0.153
+    value=pkg:/x11/server/xorg/driver/[email protected],5.11-0.153
 set name=pkg.obsolete value=true
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pkg/legacy/x11-server-xorg-driver-xorg-video-wsfb.mf	Mon Mar 14 15:37:30 2011 -0700
@@ -0,0 +1,25 @@
+# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+set name=pkg.fmri \
+    value=pkg:/x11/server/xorg/driver/[email protected],5.11-0.162
+set name=pkg.obsolete value=true
+set name=variant.arch value=sparc
--- a/pkg/manifests/x11-header-x11-protocols.mf	Wed Mar 09 16:02:37 2011 -0800
+++ b/pkg/manifests/x11-header-x11-protocols.mf	Mon Mar 14 15:37:30 2011 -0700
@@ -129,9 +129,6 @@
 file path=usr/include/X11/extensions/evieproto.h
 file path=usr/include/X11/extensions/fbpm.h
 file path=usr/include/X11/extensions/fbpmstr.h
-file path=usr/include/X11/extensions/fontcache.h
-file path=usr/include/X11/extensions/fontcacheP.h
-file path=usr/include/X11/extensions/fontcachstr.h
 file path=usr/include/X11/extensions/ge.h
 file path=usr/include/X11/extensions/geproto.h
 file path=usr/include/X11/extensions/interactive.h
@@ -169,9 +166,6 @@
 file path=usr/include/X11/extensions/vldXvMC.h
 file path=usr/include/X11/extensions/xcmiscproto.h
 file path=usr/include/X11/extensions/xcmiscstr.h
-file path=usr/include/X11/extensions/xf86bigfont.h
-file path=usr/include/X11/extensions/xf86bigfproto.h
-file path=usr/include/X11/extensions/xf86bigfstr.h
 file path=usr/include/X11/extensions/xf86dga.h
 file path=usr/include/X11/extensions/xf86dga1const.h
 file path=usr/include/X11/extensions/xf86dga1proto.h
@@ -236,7 +230,6 @@
 file path=usr/share/pkgconfig/dri2proto.pc
 file path=usr/share/pkgconfig/evieproto.pc
 file path=usr/share/pkgconfig/fixesproto.pc
-file path=usr/share/pkgconfig/fontcacheproto.pc
 file path=usr/share/pkgconfig/fontsproto.pc
 file path=usr/share/pkgconfig/glproto.pc
 file path=usr/share/pkgconfig/inputproto.pc
@@ -250,7 +243,6 @@
 file path=usr/share/pkgconfig/videoproto.pc
 file path=usr/share/pkgconfig/xcmiscproto.pc
 file path=usr/share/pkgconfig/xextproto.pc
-file path=usr/share/pkgconfig/xf86bigfontproto.pc
 file path=usr/share/pkgconfig/xf86dgaproto.pc
 file path=usr/share/pkgconfig/xf86driproto.pc
 file path=usr/share/pkgconfig/xf86miscproto.pc
--- a/pkg/manifests/x11-server-xdmx.mf	Wed Mar 09 16:02:37 2011 -0800
+++ b/pkg/manifests/x11-server-xdmx.mf	Mon Mar 14 15:37:30 2011 -0700
@@ -1,4 +1,4 @@
-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -43,6 +43,7 @@
 
 file path=usr/bin/dmxaddinput
 file path=usr/bin/dmxaddscreen
+file path=usr/bin/dmxinfo
 file path=usr/bin/dmxreconfig
 file path=usr/bin/dmxresize
 file path=usr/bin/dmxrminput
@@ -50,7 +51,6 @@
 file path=usr/bin/dmxtodmx
 file path=usr/bin/dmxwininfo
 file path=usr/bin/vdltodmx
-file path=usr/bin/xdmx
 file path=usr/bin/xdmxconfig
 
 file path=usr/share/man/man1/Xdmx.1
@@ -59,7 +59,7 @@
 file path=usr/share/man/man1/xdmxconfig.1
 $(i386_ONLY)hardlink path=usr/bin/Xdmx target=../lib/isaexec
 link path=usr/lib/mdb/proc/$(ARCH64)/Xdmx.so target=Xserver.so
-link path=usr/lib/mdb/proc/Xdmx.so target=Xserver.so
+$(i386_ONLY)link path=usr/lib/mdb/proc/Xdmx.so target=Xserver.so
 depend fmri=pkg:/x11/keyboard/data-xkb type=require
 # X servers require xkbcomp & data-xkb for keyboard layouts
 depend fmri=pkg:/x11/keyboard/xkbcomp type=require
--- a/pkg/manifests/x11-server-xorg-driver-xorg-input-vmmouse.mf	Wed Mar 09 16:02:37 2011 -0800
+++ b/pkg/manifests/x11-server-xorg-driver-xorg-input-vmmouse.mf	Mon Mar 14 15:37:30 2011 -0700
@@ -1,4 +1,4 @@
-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -35,11 +35,12 @@
 dir path=usr/lib
 dir path=usr/lib/hal
 dir path=usr/lib/xorg
-dir path=usr/lib/xorg/$(ARCH64)
 dir path=usr/lib/xorg/modules
 dir path=usr/lib/xorg/modules/input
 dir path=usr/lib/xorg/modules/input/$(ARCH64)
 dir path=usr/share
+dir path=usr/share/X11
+dir path=usr/share/X11/xorg.conf.d
 dir path=usr/share/man
 dir path=usr/share/man/man1
 dir path=usr/share/man/man7
@@ -48,5 +49,6 @@
 file path=usr/lib/xorg/modules/input/$(ARCH64)/vmmouse_drv.so
 file path=usr/lib/xorg/modules/input/vmmouse_drv.so
 file path=usr/lib/xorg/vmmouse_detect mode=0555
+file path=usr/share/X11/xorg.conf.d/50-vmmouse.conf
 file path=usr/share/man/man1/vmmouse_detect.1
 file path=usr/share/man/man7/vmmouse.7
--- a/pkg/manifests/x11-server-xorg-driver-xorg-video-radeonhd.mf	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-#
-set name=pkg.fmri \
-    value=pkg:/x11/server/xorg/driver/xorg-video-radeonhd@__version:xf86-video-radeonhd__
-set name=pkg.description \
-    value="radeonhd - the X.org X11 driver for AMD GPG r5xx/r6xx chipsets"
-set name=pkg.summary \
-    value="xf86-video-radeonhd - ATI Radeon HD video driver for the Xorg X server"
-set name=variant.arch value=i386
-dir path=usr
-dir path=usr/lib
-dir path=usr/lib/xorg
-dir path=usr/lib/xorg/modules
-dir path=usr/lib/xorg/modules/drivers
-dir path=usr/lib/xorg/modules/drivers/$(ARCH64)
-dir path=usr/share
-dir path=usr/share/man
-dir path=usr/share/man/man7
-file path=usr/lib/xorg/modules/drivers/$(ARCH64)/radeonhd_drv.so
-file path=usr/lib/xorg/modules/drivers/radeonhd_drv.so
-file path=usr/share/man/man7/radeonhd.7
--- a/pkg/manifests/x11-server-xorg-driver-xorg-video-wsfb.mf	Wed Mar 09 16:02:37 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-#
-set name=pkg.fmri \
-    value=pkg:/x11/server/xorg/driver/xorg-video-wsfb@__version:xf86-video-wsfb__
-set name=pkg.description \
-    value="xf86-video-wsfb is a non-accelerated Xorg video driver that may work with some raw framebuffer devices on SPARC systems."
-set name=pkg.summary \
-    value="xf86-video-wsfb - Xorg video driver for raw framebuffer device"
-set name=variant.arch value=sparc
-dir path=usr
-dir path=usr/lib
-dir path=usr/lib/xorg
-dir path=usr/lib/xorg/modules
-dir path=usr/lib/xorg/modules/drivers
-dir path=usr/share
-dir path=usr/share/man
-dir path=usr/share/man/man7
-file path=usr/lib/xorg/modules/drivers/wsfb_drv.so
-file path=usr/share/man/man7/wsfb.7
--- a/pkg/manifests/x11-server-xorg-driver-xorg-video.mf	Wed Mar 09 16:02:37 2011 -0800
+++ b/pkg/manifests/x11-server-xorg-driver-xorg-video.mf	Mon Mar 14 15:37:30 2011 -0700
@@ -1,4 +1,4 @@
-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -71,10 +71,6 @@
 $(i386_ONLY)depend fmri=pkg:/x11/server/xorg/driver/xorg-video-r128 \
     type=require
 
-# driver/xf86-video-radeonhd
-$(i386_ONLY)depend fmri=pkg:/x11/server/xorg/driver/xorg-video-radeonhd \
-    type=require
-
 # driver/xf86-video-trident
 $(i386_ONLY)depend fmri=pkg:/x11/server/xorg/driver/xorg-video-trident \
     type=require
@@ -86,7 +82,3 @@
 # driver/xf86-video-vmware
 $(i386_ONLY)depend fmri=pkg:/x11/server/xorg/driver/xorg-video-vmware \
     type=require
-
-# driver/xf86-video-wsfb
-$(sparc_ONLY)depend fmri=pkg:/x11/server/xorg/driver/xorg-video-wsfb \
-    type=require
--- a/pkg/manifests/x11-server-xorg.mf	Wed Mar 09 16:02:37 2011 -0800
+++ b/pkg/manifests/x11-server-xorg.mf	Mon Mar 14 15:37:30 2011 -0700
@@ -24,6 +24,9 @@
     value="Xorg is a full featured X server that was originally designed for UNIX and UNIX-like operating systems running on a wide range of hardware and OS platforms."
 set name=pkg.summary value="Xorg - X11R7 X server"
 dir path=etc
+dir path=etc/X11
+dir path=etc/X11/xorg.conf.avail
+dir path=etc/X11/xorg.conf.d
 dir path=etc/hal
 dir path=etc/hal/fdi
 dir path=etc/hal/fdi/preprobe
@@ -53,6 +56,8 @@
 dir path=usr/lib/xorg/modules/multimedia
 $(i386_ONLY)dir path=usr/lib/xorg/modules/multimedia/$(ARCH64)
 dir path=usr/share
+dir path=usr/share/X11
+dir path=usr/share/X11/xorg.conf.d
 dir path=usr/share/aclocal
 dir path=usr/share/man
 dir path=usr/share/man/man1
@@ -60,6 +65,7 @@
 dir path=usr/share/man/man7
 dir path=var
 dir path=var/log group=sys
+file path=etc/X11/xorg.conf.avail/90-zap.conf
 file path=etc/hal/fdi/preprobe/10osvendor/10-x11-input.fdi
 # Xorg must be setuid root on x86 in order to access PCI bus devices
 # and make the sysi86 system call to change I/O privilege level (IOPL).
@@ -77,6 +83,7 @@
 file path=usr/include/xorg/bstore.h
 file path=usr/include/xorg/bstorestr.h
 file path=usr/include/xorg/bt829.h
+file path=usr/include/xorg/callback.h
 file path=usr/include/xorg/cfb8_16.h
 file path=usr/include/xorg/closestr.h
 file path=usr/include/xorg/closure.h
@@ -124,8 +131,8 @@
 file path=usr/include/xorg/i2c_def.h
 file path=usr/include/xorg/input.h
 file path=usr/include/xorg/inputstr.h
+file path=usr/include/xorg/list.h
 file path=usr/include/xorg/mi.h
-file path=usr/include/xorg/mibank.h
 file path=usr/include/xorg/mibstore.h
 file path=usr/include/xorg/micmap.h
 file path=usr/include/xorg/micoord.h
@@ -256,11 +263,13 @@
 $(i386_ONLY)file path=usr/lib/xorg/modules/extensions/$(ARCH64)/libdri2.so
 $(i386_ONLY)file path=usr/lib/xorg/modules/extensions/$(ARCH64)/libextmod.so
 $(i386_ONLY)file path=usr/lib/xorg/modules/extensions/$(ARCH64)/libia.so
+$(i386_ONLY)file path=usr/lib/xorg/modules/extensions/$(ARCH64)/librecord.so
 file path=usr/lib/xorg/modules/extensions/libdbe.so
 file path=usr/lib/xorg/modules/extensions/libdri.so
 file path=usr/lib/xorg/modules/extensions/libdri2.so
 file path=usr/lib/xorg/modules/extensions/libextmod.so
 file path=usr/lib/xorg/modules/extensions/libia.so
+file path=usr/lib/xorg/modules/extensions/librecord.so
 file path=usr/lib/xorg/modules/libexa.so
 file path=usr/lib/xorg/modules/libfb.so
 file path=usr/lib/xorg/modules/libfbdevhw.so