--- a/open-src/xserver/xorg/patch-list Mon Apr 23 15:38:13 2012 -0700
+++ b/open-src/xserver/xorg/patch-list Tue Apr 24 00:09:24 2012 -0700
@@ -1,3 +1,5 @@
+sbusPaletteKey.patch,-p1
+studio-asm.patch,-p1
osaudit.patch,-p1
sun-paths.patch,-p1
sun-extramodes.patch,-p1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/xserver/xorg/sbusPaletteKey.patch Tue Apr 24 00:09:24 2012 -0700
@@ -0,0 +1,39 @@
+From 12e1e1599213c413ccdfed5f0c7a8884974b7210 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <[email protected]>
+Date: Thu, 26 Jan 2012 15:44:40 -0800
+Subject: [PATCH] Convert sbusPaletteKey to latest DevPrivate API
+
+Signed-off-by: Alan Coopersmith <[email protected]>
+---
+ hw/xfree86/common/xf86sbusBus.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/hw/xfree86/common/xf86sbusBus.c b/hw/xfree86/common/xf86sbusBus.c
+index c993b60..9716146 100644
+--- a/hw/xfree86/common/xf86sbusBus.c
++++ b/hw/xfree86/common/xf86sbusBus.c
+@@ -619,8 +619,9 @@ xf86SbusUseBuiltinMode(ScrnInfoPtr pScrn, sbusDevicePtr psdp)
+ pScrn->virtualY = psdp->height;
+ }
+
+-static sbusPaletteKeyIndex;
+-static DevPrivateKey sbusPaletteKey = &sbusPaletteKeyIndex;
++static DevPrivateKeyRec sbusPaletteKeyRec;
++#define sbusPaletteKey (&sbusPaletteKeyRec)
++
+ typedef struct _sbusCmap {
+ sbusDevicePtr psdp;
+ CloseScreenProcPtr CloseScreen;
+@@ -692,6 +693,9 @@ xf86SbusHandleColormaps(ScreenPtr pScreen, sbusDevicePtr psdp)
+ struct fbcmap fbcmap;
+ unsigned char data[2];
+
++ if (!dixRegisterPrivateKey(sbusPaletteKey, PRIVATE_SCREEN, 0))
++ FatalError("Cannot register sbus private key");
++
+ cmap = xnfcalloc(1, sizeof(sbusCmapRec));
+ dixSetPrivate(&pScreen->devPrivates, sbusPaletteKey, cmap);
+ cmap->psdp = psdp;
+--
+1.7.9.2
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/xserver/xorg/studio-asm.patch Tue Apr 24 00:09:24 2012 -0700
@@ -0,0 +1,45 @@
+From 4c42aef04d9f256d434e3459596d918dc8420d53 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <[email protected]>
+Date: Mon, 23 Apr 2012 22:43:27 -0700
+Subject: [PATCH] Provide prototypes for Mmio functions for Solaris Studio on
+ SPARC
+
+Actual inline implementations are provided via external *.il files
+generated from *.S files in hw/xfree86/os-support/solaris
+
+Signed-off-by: Alan Coopersmith <[email protected]>
+---
+ hw/xfree86/common/compiler.h | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
+index 0abdfb6..3467e15 100644
+--- a/hw/xfree86/common/compiler.h
++++ b/hw/xfree86/common/compiler.h
+@@ -119,6 +119,23 @@ extern _X_EXPORT unsigned int inb(unsigned long);
+ extern _X_EXPORT unsigned int inw(unsigned long);
+ extern _X_EXPORT unsigned int inl(unsigned long);
+
++#ifdef __SUNPRO_C
++extern _X_EXPORT unsigned char (*xf86ReadMmio8) (void *, unsigned long);
++extern _X_EXPORT unsigned short (*xf86ReadMmio16Be) (void *, unsigned long);
++extern _X_EXPORT unsigned short (*xf86ReadMmio16Le) (void *, unsigned long);
++extern _X_EXPORT unsigned int (*xf86ReadMmio32Be) (void *, unsigned long);
++extern _X_EXPORT unsigned int (*xf86ReadMmio32Le) (void *, unsigned long);
++extern _X_EXPORT void xf86WriteMmio8 (void *, unsigned long, unsigned int);
++extern _X_EXPORT void xf86WriteMmio16Be (void *, unsigned long, unsigned int);
++extern _X_EXPORT void xf86WriteMmio16Le (void *, unsigned long, unsigned int);
++extern _X_EXPORT void xf86WriteMmio32Be (void *, unsigned long, unsigned int);
++extern _X_EXPORT void xf86WriteMmio32Le (void *, unsigned long, unsigned int);
++extern _X_EXPORT void xf86WriteMmio8NB (void *, unsigned long, unsigned int);
++extern _X_EXPORT void xf86WriteMmio16BeNB (void *, unsigned long, unsigned int);
++extern _X_EXPORT void xf86WriteMmio16LeNB (void *, unsigned long, unsigned int);
++extern _X_EXPORT void xf86WriteMmio32BeNB (void *, unsigned long, unsigned int);
++extern _X_EXPORT void xf86WriteMmio32LeNB (void *, unsigned long, unsigned int);
++#endif /* _SUNPRO_C */
+ #endif /* __sparc__, __arm32__, __alpha__, __nds32__ */
+ #endif /* __arm__ */
+
+--
+1.7.9.2
+