[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'upstream-experimental'



 config/udev.c                                                        |   26 
 configure.ac                                                         |    6 
 dix/devices.c                                                        |    4 
 dix/eventconvert.c                                                   |    9 
 dix/privates.c                                                       |    1 
 dix/property.c                                                       |    1 
 dix/selection.c                                                      |    3 
 glx/glxext.c                                                         |   11 
 hw/xfree86/common/compiler.h                                         |  416 +
 hw/xfree86/common/xf86DGA.c                                          |    2 
 hw/xfree86/common/xf86Helper.c                                       |    3 
 hw/xfree86/common/xf86Xinput.c                                       |    1 
 hw/xfree86/doc/man/Xorg.man.pre                                      |   10 
 hw/xfree86/modes/xf86RandR12.c                                       |    3 
 hw/xfree86/os-support/linux/lnx_init.c                               |    5 
 hw/xfree86/parser/scan.c                                             |    2 
 hw/xfree86/vgahw/vgaHW.h                                             |    2 
 hw/xquartz/Makefile.am                                               |    2 
 hw/xquartz/X11Application.h                                          |    3 
 hw/xquartz/X11Application.m                                          |   44 
 hw/xquartz/X11Controller.m                                           |   42 
 hw/xquartz/bundle/Resources/Dutch.lproj/locversion.plist             |    4 
 hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/designable.nib      | 1591 ++----
 hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/keyedobjects.nib    |binary
 hw/xquartz/bundle/Resources/French.lproj/Localizable.strings         |binary
 hw/xquartz/bundle/Resources/French.lproj/locversion.plist            |    4 
 hw/xquartz/bundle/Resources/French.lproj/main.nib/designable.nib     | 1720 ++-----
 hw/xquartz/bundle/Resources/French.lproj/main.nib/keyedobjects.nib   |binary
 hw/xquartz/bundle/Resources/German.lproj/locversion.plist            |    4 
 hw/xquartz/bundle/Resources/German.lproj/main.nib/designable.nib     | 1598 ++----
 hw/xquartz/bundle/Resources/German.lproj/main.nib/keyedobjects.nib   |binary
 hw/xquartz/bundle/Resources/Italian.lproj/Localizable.strings        |binary
 hw/xquartz/bundle/Resources/Italian.lproj/locversion.plist           |    4 
 hw/xquartz/bundle/Resources/Italian.lproj/main.nib/designable.nib    | 1543 ++----
 hw/xquartz/bundle/Resources/Italian.lproj/main.nib/keyedobjects.nib  |binary
 hw/xquartz/bundle/Resources/Japanese.lproj/locversion.plist          |    4 
 hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/designable.nib   | 1618 ++----
 hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/keyedobjects.nib |binary
 hw/xquartz/bundle/Resources/Spanish.lproj/Localizable.strings        |binary
 hw/xquartz/bundle/Resources/Spanish.lproj/locversion.plist           |    4 
 hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/designable.nib    | 1586 ++----
 hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/keyedobjects.nib  |binary
 hw/xquartz/bundle/Resources/ar.lproj/InfoPlist.strings               |binary
 hw/xquartz/bundle/Resources/ar.lproj/Localizable.strings             |binary
 hw/xquartz/bundle/Resources/ar.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/ar.lproj/main.nib/designable.nib         | 2413 ++++------
 hw/xquartz/bundle/Resources/ar.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/da.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/da.lproj/main.nib/designable.nib         | 1530 ++----
 hw/xquartz/bundle/Resources/da.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/fi.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/fi.lproj/main.nib/designable.nib         | 1678 ++----
 hw/xquartz/bundle/Resources/fi.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/ko.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/ko.lproj/main.nib/designable.nib         | 1544 ++----
 hw/xquartz/bundle/Resources/ko.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/no.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/no.lproj/main.nib/designable.nib         | 1588 ++----
 hw/xquartz/bundle/Resources/no.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/pl.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/pl.lproj/main.nib/designable.nib         | 1554 ++----
 hw/xquartz/bundle/Resources/pl.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/pt.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/pt.lproj/main.nib/designable.nib         | 1530 ++----
 hw/xquartz/bundle/Resources/pt.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/pt_PT.lproj/locversion.plist             |    4 
 hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/designable.nib      | 1530 ++----
 hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/keyedobjects.nib    |binary
 hw/xquartz/bundle/Resources/ru.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/ru.lproj/main.nib/designable.nib         | 1537 ++----
 hw/xquartz/bundle/Resources/ru.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/sv.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/sv.lproj/main.nib/designable.nib         | 1583 ++----
 hw/xquartz/bundle/Resources/sv.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/zh_CN.lproj/locversion.plist             |    4 
 hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/designable.nib      | 1564 ++----
 hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/keyedobjects.nib    |binary
 hw/xquartz/bundle/Resources/zh_TW.lproj/locversion.plist             |    4 
 hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib/designable.nib      | 1598 ++----
 hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib/keyedobjects.nib    |binary
 hw/xquartz/darwinEvents.c                                            |   22 
 hw/xquartz/quartz.c                                                  |  201 
 hw/xquartz/quartz.h                                                  |   17 
 hw/xquartz/quartzAudio.c                                             |    4 
 hw/xquartz/quartzCommon.h                                            |   19 
 hw/xquartz/quartzKeyboard.c                                          |    6 
 hw/xquartz/quartzRandR.c                                             |  560 ++
 hw/xquartz/quartzRandR.h                                             |   80 
 hw/xquartz/xpr/xprAppleWM.c                                          |    2 
 hw/xquartz/xpr/xprCursor.c                                           |    6 
 hw/xquartz/xpr/xprFrame.c                                            |    4 
 hw/xquartz/xpr/xprScreen.c                                           |   12 
 miext/damage/damage.c                                                |    6 
 os/io.c                                                              |   27 
 os/osdep.h                                                           |    1 
 randr/randr.c                                                        |    5 
 randr/randrstr.h                                                     |   18 
 randr/rrcrtc.c                                                       |   11 
 randr/rrmode.c                                                       |   14 
 randr/rroutput.c                                                     |   11 
 test/Makefile.am                                                     |    3 
 xkb/ddxList.c                                                        |    2 
 xkb/xkb.c                                                            |    7 
 xkb/xkbActions.c                                                     |    1 
 104 files changed, 13134 insertions(+), 17878 deletions(-)

New commits:
commit 8ab87dc7ff48d4db8e5f95a74df627dac9c53c0a
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Fri Oct 1 13:37:49 2010 -0700

    Bump version to 1.9.0.901 (1.9.1 rc1)
    
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>

diff --git a/configure.ac b/configure.ac
index 95f7a76..407a058 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,8 +26,8 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.57)
-AC_INIT([xorg-server], 1.9.0, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2010-08-20"
+AC_INIT([xorg-server], 1.9.0.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2010-10-01"
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_MAINTAINER_MODE

commit 5fb1780d6a44c7fca5143e5f456259499ddb0852
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Fri Oct 1 14:05:03 2010 -0700

    test: Fix make distcheck when not building unit tests
    
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>

diff --git a/test/Makefile.am b/test/Makefile.am
index 7c44671..456221e 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -33,10 +33,9 @@ libxservertest_la_LIBADD = \
             $(top_builddir)/mi/libmi.la \
             $(top_builddir)/os/libos.la \
             @XORG_LIBS@
+endif
 
 CLEANFILES=libxservertest.c
 
 libxservertest.c:
 	touch $@
-
-endif

commit 5b64f85b1b34d42f581db617ce3f3f7b12e6cdf8
Author: Tobias Droste <tdroste@gmx.de>
Date:   Wed Sep 29 22:51:48 2010 +0200

    randr: set error numbers of resource types in RRExtenstionInit() (V2)
    
    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=30367
    
    Currently the ddx calls xf86RandR12Init()
      (-> RRScreenInit()
         -> RRInit()
           -> RRModeInit()
           -> RRCrtcInit()
           -> RROutputInit())
    before RRExtensionInit() is called. This causes RRErrorBase
    being 0 while setting resource type error values (resource types:
    RROutput, RRMode and RRCrtc). The fix moves the setting of error
    values to own functions which are called in RRExtensionInit()
    to get the right RRErrorBase.
    
    V2: With header file
    
    Signed-off-by: Tobias Droste <tdroste@gmx.de>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit c7e4222c9a27094ce4fc2831ac92acbb7b21fb1a)

diff --git a/randr/randr.c b/randr/randr.c
index f52a46a..6077705 100644
--- a/randr/randr.c
+++ b/randr/randr.c
@@ -354,6 +354,11 @@ RRExtensionInit (void)
 	SRRScreenChangeNotifyEvent;
     EventSwapVector[RREventBase + RRNotify] = (EventSwapPtr)
 	SRRNotifyEvent;
+
+    RRModeInitErrorValue();
+    RRCrtcInitErrorValue();
+    RROutputInitErrorValue();
+
 #ifdef PANORAMIX
     RRXineramaExtensionInit();
 #endif
diff --git a/randr/randrstr.h b/randr/randrstr.h
index aad126f..03652ef 100644
--- a/randr/randrstr.h
+++ b/randr/randrstr.h
@@ -701,6 +701,12 @@ extern _X_EXPORT Bool
 RRCrtcInit (void);
 
 /*
+ * Initialize crtc type error value
+ */
+extern _X_EXPORT void
+RRCrtcInitErrorValue (void);
+
+/*
  * Crtc dispatch
  */
 
@@ -762,6 +768,12 @@ RRModesForScreen (ScreenPtr pScreen, int *num_ret);
  */
 extern _X_EXPORT Bool
 RRModeInit (void);
+
+/*
+ * Initialize mode type error value
+ */
+extern _X_EXPORT void
+RRModeInitErrorValue (void);
     
 extern _X_EXPORT int
 ProcRRCreateMode (ClientPtr client);
@@ -856,6 +868,12 @@ ProcRRGetOutputPrimary (ClientPtr client);
  */
 extern _X_EXPORT Bool
 RROutputInit (void);
+
+/*
+ * Initialize output type error value
+ */
+extern _X_EXPORT void
+RROutputInitErrorValue (void);
     
 /* rrpointer.c */
 extern _X_EXPORT void
diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
index 14f6e45..98206a2 100644
--- a/randr/rrcrtc.c
+++ b/randr/rrcrtc.c
@@ -631,10 +631,19 @@ RRCrtcInit (void)
     RRCrtcType = CreateNewResourceType (RRCrtcDestroyResource, "CRTC");
     if (!RRCrtcType)
 	return FALSE;
-    SetResourceTypeErrorValue(RRCrtcType, RRErrorBase + BadRRCrtc);
+    
     return TRUE;
 }
 
+/*
+ * Initialize crtc type error value
+ */
+void
+RRCrtcInitErrorValue(void)
+{
+    SetResourceTypeErrorValue(RRCrtcType, RRErrorBase + BadRRCrtc);
+}
+
 int
 ProcRRGetCrtcInfo (ClientPtr client)
 {
diff --git a/randr/rrmode.c b/randr/rrmode.c
index deddd3c..5ffa400 100644
--- a/randr/rrmode.c
+++ b/randr/rrmode.c
@@ -260,6 +260,9 @@ RRModeDestroyResource (pointer value, XID pid)
     return 1;
 }
 
+/*
+ * Initialize mode type
+ */
 Bool
 RRModeInit (void)
 {
@@ -268,10 +271,19 @@ RRModeInit (void)
     RRModeType = CreateNewResourceType (RRModeDestroyResource, "MODE");
     if (!RRModeType)
 	return FALSE;
-    SetResourceTypeErrorValue(RRModeType, RRErrorBase + BadRRMode);
+    
     return TRUE;
 }
 
+/*
+ * Initialize mode type error value
+ */
+void
+RRModeInitErrorValue(void)
+{
+    SetResourceTypeErrorValue(RRModeType, RRErrorBase + BadRRMode);
+}
+
 int
 ProcRRCreateMode (ClientPtr client)
 {
diff --git a/randr/rroutput.c b/randr/rroutput.c
index 937b14d..5edeb7d 100644
--- a/randr/rroutput.c
+++ b/randr/rroutput.c
@@ -418,10 +418,19 @@ RROutputInit (void)
     RROutputType = CreateNewResourceType (RROutputDestroyResource, "OUTPUT");
     if (!RROutputType)
 	return FALSE;
-    SetResourceTypeErrorValue(RROutputType, RRErrorBase + BadRROutput);
+
     return TRUE;
 }
 
+/*
+ * Initialize output type error value
+ */
+void
+RROutputInitErrorValue(void)
+{
+    SetResourceTypeErrorValue(RROutputType, RRErrorBase + BadRROutput);
+}
+
 #define OutputInfoExtra	(SIZEOF(xRRGetOutputInfoReply) - 32)
 
 int

commit 560e4254997df26b6abaa93ca2f59bcf7f68d551
Author: Adam Jackson <ajax@redhat.com>
Date:   Mon Sep 27 17:06:46 2010 -0400

    xfree86: Add 18bpp support
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 9df4fb0adf66fb82f0c007897d79af0f54a6dad9)

diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
index 07f9f0a..724c1a1 100644
--- a/hw/xfree86/common/xf86Helper.c
+++ b/hw/xfree86/common/xf86Helper.c
@@ -776,6 +776,9 @@ xf86SetWeight(ScrnInfoPtr scrp, rgb weight, rgb mask)
 	    scrp->weight.red = scrp->weight.blue = 5;
 	    scrp->weight.green = 6;
 	    break;
+	case 18:
+	    scrp->weight.red = scrp->weight.green = scrp->weight.blue = 6;
+	    break;
 	case 24:
 	    scrp->weight.red = scrp->weight.green = scrp->weight.blue = 8;
 	    break;

commit 5ae0c0cdb29dd35e0c10e6429e0df59f064a5c73
Author: Macpaul Lin <macpaul@andestech.com>
Date:   Tue Sep 21 15:13:34 2010 +0800

    xfree86: nds32: add nds32 support for compiler related mmio codes
    
    Add nds32 support for compiler related mmio codes.
    It includes byte-swap or non-swap operations.
    
    Signed-off-by: Macpaul Lin <macpaul@andestech.com>
    Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 58bd317e29f4abf7f950891339d2a6a78ddf7903)

diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
index d037c84..958f8d0 100644
--- a/hw/xfree86/common/compiler.h
+++ b/hw/xfree86/common/compiler.h
@@ -1018,6 +1018,355 @@ xf_outl(unsigned short port, unsigned int val)
 #define outw xf_outw
 #define outl xf_outl
 
+#   elif defined(__nds32__)
+
+/*
+ * Assume all port access are aligned.  We need to revise this implementation
+ * if there is unaligned port access.  For ldq_u, ldl_u, ldw_u, stq_u, stl_u and
+ * stw_u, they are assumed unaligned.
+ */
+
+#define barrier()		/* no barrier */
+
+#define PORT_SIZE long
+
+static __inline__ unsigned char
+xf86ReadMmio8(__volatile__ void *base, const unsigned long offset)
+{
+	return *(volatile unsigned char *)((unsigned char *)base + offset) ;
+}
+
+static __inline__ void
+xf86WriteMmio8(__volatile__ void *base, const unsigned long offset,
+	       const unsigned int val)
+{
+	*(volatile unsigned char *)((unsigned char *)base + offset) = val ;
+	barrier();
+}
+
+static __inline__ void
+xf86WriteMmio8NB(__volatile__ void *base, const unsigned long offset,
+		 const unsigned int val)
+{
+	*(volatile unsigned char *)((unsigned char *)base + offset) = val ;
+}
+
+static __inline__ unsigned short
+xf86ReadMmio16Swap(__volatile__ void *base, const unsigned long offset)
+{
+	unsigned long addr = ((unsigned long)base) + offset;
+	unsigned short ret;
+
+	__asm__ __volatile__(
+	           "lhi %0, [%1];\n\t"
+	           "wsbh %0, %0;\n\t"
+			     : "=r" (ret)
+			     : "r" (addr));
+	return ret;
+}
+
+static __inline__ unsigned short
+xf86ReadMmio16(__volatile__ void *base, const unsigned long offset)
+{
+	return *(volatile unsigned short *)((char *)base + offset) ;
+}
+
+static __inline__ void
+xf86WriteMmio16Swap(__volatile__ void *base, const unsigned long offset,
+		  const unsigned int val)
+{
+	unsigned long addr = ((unsigned long)base) + offset;
+
+	__asm__ __volatile__(
+	           "wsbh %0, %0;\n\t"
+	           "shi %0, [%1];\n\t"
+			     : /* No outputs */
+			     : "r" (val), "r" (addr));
+	barrier();
+}
+
+static __inline__ void
+xf86WriteMmio16(__volatile__ void *base, const unsigned long offset,
+		  const unsigned int val)
+{
+	*(volatile unsigned short *)((unsigned char *)base + offset) = val ;
+	barrier();
+}
+
+static __inline__ void
+xf86WriteMmio16SwapNB(__volatile__ void *base, const unsigned long offset,
+		    const unsigned int val)
+{
+	unsigned long addr = ((unsigned long)base) + offset;
+
+	__asm__ __volatile__(
+	           "wsbh %0, %0;\n\t"
+	           "shi %0, [%1];\n\t"
+			     : /* No outputs */
+			     : "r" (val), "r" (addr));
+}
+
+static __inline__ void
+xf86WriteMmio16NB(__volatile__ void *base, const unsigned long offset,
+		    const unsigned int val)
+{
+	*(volatile unsigned short *)((unsigned char *)base + offset) = val ;
+}
+
+static __inline__ unsigned int
+xf86ReadMmio32Swap(__volatile__ void *base, const unsigned long offset)
+{
+	unsigned long addr = ((unsigned long)base) + offset;
+	unsigned int ret;
+
+	__asm__ __volatile__(
+	           "lwi %0, [%1];\n\t"
+	           "wsbh %0, %0;\n\t"
+				  "rotri %0, %0, 16;\n\t"
+			     : "=r" (ret)
+			     : "r" (addr));
+	return ret;
+}
+
+static __inline__ unsigned int
+xf86ReadMmio32(__volatile__ void *base, const unsigned long offset)
+{
+	return *(volatile unsigned int *)((unsigned char *)base + offset) ;
+}
+
+static __inline__ void
+xf86WriteMmio32Swap(__volatile__ void *base, const unsigned long offset,
+		  const unsigned int val)
+{
+	unsigned long addr = ((unsigned long)base) + offset;
+
+	__asm__ __volatile__(
+	           "wsbh %0, %0;\n\t"
+	           "rotri %0, %0, 16;\n\t"
+				  "swi %0, [%1];\n\t"
+			     : /* No outputs */
+			     : "r" (val), "r" (addr));
+	barrier();
+}
+
+static __inline__ void
+xf86WriteMmio32(__volatile__ void *base, const unsigned long offset,
+		  const unsigned int val)
+{
+	*(volatile unsigned int *)((unsigned char *)base + offset) = val ;
+	barrier();
+}
+
+static __inline__ void
+xf86WriteMmio32SwapNB(__volatile__ void *base, const unsigned long offset,
+		    const unsigned int val)
+{
+	unsigned long addr = ((unsigned long)base) + offset;
+
+	__asm__ __volatile__(
+	           "wsbh %0, %0;\n\t"
+				  "rotri %0, %0, 16;\n\t"
+				  "swi %0, [%1];\n\t"
+			     : /* No outputs */
+			     : "r" (val), "r" (addr));
+}
+
+static __inline__ void
+xf86WriteMmio32NB(__volatile__ void *base, const unsigned long offset,
+		    const unsigned int val)
+{
+	*(volatile unsigned int *)((unsigned char *)base + offset) = val ;
+}
+
+#    if defined(NDS32_MMIO_SWAP)
+static __inline__ void
+outb(unsigned PORT_SIZE port, unsigned char val)
+{
+   xf86WriteMmio8(IOPortBase, port, val);
+}
+
+static __inline__ void
+outw(unsigned PORT_SIZE port, unsigned short val)
+{
+   xf86WriteMmio16Swap(IOPortBase, port, val);
+}
+
+static __inline__ void
+outl(unsigned PORT_SIZE port, unsigned int val)
+{
+   xf86WriteMmio32Swap(IOPortBase, port, val);
+}
+
+static __inline__ unsigned int
+inb(unsigned PORT_SIZE port)
+{
+   return xf86ReadMmio8(IOPortBase, port);
+}
+
+static __inline__ unsigned int
+inw(unsigned PORT_SIZE port)
+{
+   return xf86ReadMmio16Swap(IOPortBase, port);
+}
+
+static __inline__ unsigned int
+inl(unsigned PORT_SIZE port)
+{
+   return xf86ReadMmio32Swap(IOPortBase, port);
+}
+
+static __inline__ unsigned long ldq_u(unsigned long *p)
+{
+	unsigned long addr = (unsigned long)p;
+	unsigned int ret;
+
+	__asm__ __volatile__(
+				  "lmw.bi %0, [%1], %0, 0;\n\t"
+	           "wsbh %0, %0;\n\t"
+				  "rotri %0, %0, 16;\n\t"
+			     : "=r" (ret)
+			     : "r" (addr));
+	return ret;
+}
+
+static __inline__ unsigned long ldl_u(unsigned int *p)
+{
+	unsigned long addr = (unsigned long)p;
+	unsigned int ret;
+
+	__asm__ __volatile__(
+				  "lmw.bi %0, [%1], %0, 0;\n\t"
+	           "wsbh %0, %0;\n\t"
+				  "rotri %0, %0, 16;\n\t"
+			     : "=r" (ret)
+			     : "r" (addr));
+	return ret;
+}
+
+static __inline__ void stq_u(unsigned long val, unsigned long *p)
+{
+	unsigned long addr = (unsigned long)p;
+
+	__asm__ __volatile__(
+	           "wsbh %0, %0;\n\t"
+				  "rotri %0, %0, 16;\n\t"
+				  "smw.bi %0, [%1], %0, 0;\n\t"
+			     : /* No outputs */
+			     : "r" (val), "r" (addr));
+}
+
+static __inline__ void stl_u(unsigned long val, unsigned int *p)
+{
+	unsigned long addr = (unsigned long)p;
+
+	__asm__ __volatile__(
+	           "wsbh %0, %0;\n\t"
+				  "rotri %0, %0, 16;\n\t"
+				  "smw.bi %0, [%1], %0, 0;\n\t"
+			     : /* No outputs */
+			     : "r" (val), "r" (addr));
+}
+
+#    else /* !NDS32_MMIO_SWAP */
+static __inline__ void
+outb(unsigned PORT_SIZE port, unsigned char val)
+{
+	*(volatile unsigned char*)(((unsigned PORT_SIZE)(port))) = val;
+	barrier();
+}
+
+static __inline__ void
+outw(unsigned PORT_SIZE port, unsigned short val)
+{
+	*(volatile unsigned short*)(((unsigned PORT_SIZE)(port))) = val;
+	barrier();
+}
+
+static __inline__ void
+outl(unsigned PORT_SIZE port, unsigned int val)
+{
+	*(volatile unsigned int*)(((unsigned PORT_SIZE)(port))) = val;
+	barrier();
+}
+static __inline__ unsigned int
+inb(unsigned PORT_SIZE port)
+{
+	return *(volatile unsigned char*)(((unsigned PORT_SIZE)(port)));
+}
+
+static __inline__ unsigned int
+inw(unsigned PORT_SIZE port)
+{
+	return *(volatile unsigned short*)(((unsigned PORT_SIZE)(port)));
+}
+
+static __inline__ unsigned int
+inl(unsigned PORT_SIZE port)
+{
+	return *(volatile unsigned int*)(((unsigned PORT_SIZE)(port)));
+}
+
+static __inline__ unsigned long ldq_u(unsigned long *p)
+{
+	unsigned long addr = (unsigned long)p;
+	unsigned int ret;
+
+	__asm__ __volatile__(
+				  "lmw.bi %0, [%1], %0, 0;\n\t"
+			     : "=r" (ret)
+			     : "r" (addr));
+	return ret;
+}
+
+static __inline__ unsigned long ldl_u(unsigned int *p)
+{
+	unsigned long addr = (unsigned long)p;
+	unsigned int ret;
+
+	__asm__ __volatile__(
+				  "lmw.bi %0, [%1], %0, 0;\n\t"
+			     : "=r" (ret)
+			     : "r" (addr));
+	return ret;
+}
+
+
+static __inline__ void stq_u(unsigned long val, unsigned long *p)
+{
+	unsigned long addr = (unsigned long)p;
+
+	__asm__ __volatile__(
+				  "smw.bi %0, [%1], %0, 0;\n\t"
+			     : /* No outputs */
+			     : "r" (val), "r" (addr));
+}
+
+static __inline__ void stl_u(unsigned long val, unsigned int *p)
+{
+	unsigned long addr = (unsigned long)p;
+
+	__asm__ __volatile__(
+				  "smw.bi %0, [%1], %0, 0;\n\t"
+			     : /* No outputs */
+			     : "r" (val), "r" (addr));
+}
+#    endif /* NDS32_MMIO_SWAP */
+
+#    if (((X_BYTE_ORDER == X_BIG_ENDIAN) && !defined(NDS32_MMIO_SWAP)) || ((X_BYTE_ORDER != X_BIG_ENDIAN) && defined(NDS32_MMIO_SWAP)))
+#    define ldw_u(p)	((*(unsigned char *)(p)) << 8 | \
+			(*((unsigned char *)(p)+1)))
+#    define stw_u(v,p)	(*(unsigned char *)(p)) = ((v) >> 8); \
+				(*((unsigned char *)(p)+1)) = (v)
+#    else
+#    define ldw_u(p)	((*(unsigned char *)(p)) | \
+			(*((unsigned char *)(p)+1)<<8))
+#    define stw_u(v,p)	(*(unsigned char *)(p)) = (v); \
+				(*((unsigned char *)(p)+1)) = ((v) >> 8)
+#    endif
+
+#    define mem_barrier()         /* XXX: nop for now */
+#    define write_mem_barrier()   /* XXX: nop for now */
+
 #   else /* ix86 */
 
 #    if !defined(__SUNPRO_C)
@@ -1338,6 +1687,67 @@ extern _X_EXPORT void xf86SlowBCopyToBus(unsigned char *, unsigned char *, int);
 #  define MMIO_MOVE32(base, offset, val) \
        xf86WriteMmio32Be(base, offset, (CARD32)(val))
 
+# elif defined(__nds32__)
+ /*
+  * we provide byteswapping and no byteswapping functions here
+  * with no byteswapping as default; when endianness of CPU core
+  * and I/O devices don't match, byte swapping is necessary
+  * drivers that need byteswapping should define NDS32_MMIO_SWAP
+  */
+#  define MMIO_IN8(base, offset) xf86ReadMmio8(base, offset)
+#  define MMIO_OUT8(base, offset, val) \
+    xf86WriteMmio8(base, offset, (CARD8)(val))
+#  define MMIO_ONB8(base, offset, val) \
+    xf86WriteMmioNB8(base, offset, (CARD8)(val))
+
+#  if defined(NDS32_MMIO_SWAP) /* byteswapping */
+#   define MMIO_IN16(base, offset) xf86ReadMmio16Swap(base, offset)
+#   define MMIO_IN32(base, offset) xf86ReadMmio32Swap(base, offset)
+#   define MMIO_OUT16(base, offset, val) \
+    xf86WriteMmio16Swap(base, offset, (CARD16)(val))
+#   define MMIO_OUT32(base, offset, val) \
+    xf86WriteMmio32Swap(base, offset, (CARD32)(val))
+#   define MMIO_ONB16(base, offset, val) \
+    xf86WriteMmioNB16Swap(base, offset, (CARD16)(val))
+#   define MMIO_ONB32(base, offset, val) \
+    xf86WriteMmioNB32Swap(base, offset, (CARD32)(val))
+#  else /* no byteswapping is the default */
+#   define MMIO_IN16(base, offset) xf86ReadMmio16(base, offset)
+#   define MMIO_IN32(base, offset) xf86ReadMmio32(base, offset)
+#   define MMIO_OUT16(base, offset, val) \
+     xf86WriteMmio16(base, offset, (CARD16)(val))
+#   define MMIO_OUT32(base, offset, val) \
+     xf86WriteMmio32(base, offset, (CARD32)(val))
+#   define MMIO_ONB16(base, offset, val) \
+     xf86WriteMmioNB16(base, offset, (CARD16)(val))
+#   define MMIO_ONB32(base, offset, val) \
+     xf86WriteMmioNB32(base, offset, (CARD32)(val))
+#  endif
+
+#  define MMIO_MOVE32(base, offset, val) \
+       xf86WriteMmio32(base, offset, (CARD32)(val))
+
+#ifdef N1213_HC /* for NDS32 N1213 hardcore */
+static __inline__ void nds32_flush_icache(char *addr)
+{
+	__asm__ volatile (
+		"isync %0;"
+		"msync;"
+		"isb;"
+		"cctl %0,L1I_VA_INVAL;"
+		"isb;"
+		: : "r"(addr) : "memory");
+}
+#else
+static __inline__ void nds32_flush_icache(char *addr)
+{
+	__asm__ volatile (
+		"isync %0;"
+		"isb;"
+		: : "r"(addr) : "memory");
+}
+#endif
+
 # else /* !__alpha__ && !__powerpc__ && !__sparc__ */
 
 #  define MMIO_IN8(base, offset) \

commit dfef37797c79d767d156a356ad7ea69316d4f693
Author: Macpaul Lin <macpaul@andestech.com>
Date:   Tue Sep 21 15:13:33 2010 +0800

    xfree86: nds32: add nds32 support for compiler specific codes
    
    Add nds32 definitions and related assembly codes to compiler header files.
    
    Signed-off-by: Macpaul Lin <macpaul@andestech.com>
    Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 28e6de66b42062a885ba38416387f2dbc15707fd)

diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
index ded71ee..d037c84 100644
--- a/hw/xfree86/common/compiler.h
+++ b/hw/xfree86/common/compiler.h
@@ -103,7 +103,7 @@
 # if defined(NO_INLINE) || defined(DO_PROTOTYPES)
 
 #  if !defined(__arm__)
-#   if !defined(__sparc__) && !defined(__sparc) && !defined(__arm32__) \
+#   if !defined(__sparc__) && !defined(__sparc) && !defined(__arm32__) && !defined(__nds32__) \
       && !(defined(__alpha__) && defined(linux)) \
       && !(defined(__ia64__) && defined(linux)) \
 
@@ -114,7 +114,7 @@ extern _X_EXPORT unsigned int inb(unsigned short);
 extern _X_EXPORT unsigned int inw(unsigned short);
 extern _X_EXPORT unsigned int inl(unsigned short);
 
-#   else /* __sparc__,  __arm32__, __alpha__*/
+#   else /* __sparc__,  __arm32__, __alpha__, __nds32__ */
 
 extern _X_EXPORT void outb(unsigned long, unsigned char);
 extern _X_EXPORT void outw(unsigned long, unsigned short);
@@ -123,7 +123,7 @@ extern _X_EXPORT unsigned int inb(unsigned long);
 extern _X_EXPORT unsigned int inw(unsigned long);
 extern _X_EXPORT unsigned int inl(unsigned long);
 
-#   endif /* __sparc__,  __arm32__, __alpha__ */
+#   endif /* __sparc__,  __arm32__, __alpha__, __nds32__ */
 #  endif /* __arm__ */
 
 #  if defined(__powerpc__) && !defined(__OpenBSD__)

commit 7c016917b0fb5ab06f04f48914f78591482abb12
Author: Macpaul Lin <macpaul@andestech.com>
Date:   Tue Sep 21 15:13:32 2010 +0800

    xfree86: nds32: add nds32 definition for vgaHW support.
    
    Add __nds32__ definitions for vgaHW support.
    
    Signed-off-by: Macpaul Lin <macpaul@andestech.com>
    Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 2b24b2bd859a4b4b8ccaf3b7d1b529dcda2d3b94)

diff --git a/hw/xfree86/vgahw/vgaHW.h b/hw/xfree86/vgahw/vgaHW.h
index 7e63492..b31c007 100644
--- a/hw/xfree86/vgahw/vgaHW.h
+++ b/hw/xfree86/vgahw/vgaHW.h
@@ -174,7 +174,7 @@ typedef struct _vgaHWRec {
 #define BITS_PER_GUN 6
 #define COLORMAP_SIZE 256
 
-#if defined(__powerpc__) || defined(__arm__) || defined(__s390__)
+#if defined(__powerpc__) || defined(__arm__) || defined(__s390__) || defined(__nds32__)
 #define DACDelay(hw) /* No legacy VGA support */
 #else
 #define DACDelay(hw)							      \

commit 8d6e2e9906fb0389db2b777d9d8bc2373f537f88
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jul 23 14:48:32 2010 +1000

    xfree86: fix compiler warning about implicied decl of DuplicateModule.
    
    ../../../../hw/xfree86/common/xf86Xinput.c: In function ‘xf86AllocateInput’:
    ../../../../hw/xfree86/common/xf86Xinput.c:722: warning: implicit
    declaration of function ‘DuplicateModule’
    ../../../../hw/xfree86/common/xf86Xinput.c:722: warning: nested extern
    declaration of ‘DuplicateModule’
    ../../../../hw/xfree86/common/xf86Xinput.c:722: warning: assignment makes
    pointer from integer without a cast
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Adam Jackson <ajax@redhat.com>
    Reviewed-by: Daniel Stone <daniel@fooishbar.org>
    (cherry picked from commit 3cc5e4422430e9ca44615f3e63feccd2e5729046)

diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
index bd77fe6..877eb03 100644
--- a/hw/xfree86/common/xf86Xinput.c
+++ b/hw/xfree86/common/xf86Xinput.c
@@ -66,6 +66,7 @@
 #include "xf86InPriv.h"
 #include "compiler.h"
 #include "extinit.h"
+#include "loaderProcs.h"
 
 #ifdef DPMSExtension
 #include <X11/extensions/dpmsconst.h>

commit 223794505e64ab5aa215f4847822d66cd6f3450f
Author: Jesse Adkins <jesserayadkins@gmail.com>
Date:   Wed Aug 4 09:21:31 2010 +0000

    xfree86: Fix leaks in OpenConfigFile and OpenConfigDir
    
    [mattst88: fixed whitespace and a missing semicolon]
    
    Signed-off-by: Jesse Adkins <jesserayadkins@gmail.com>
    Signed-off-by: Matt Turner <mattst88@gmail.com>
    (cherry picked from commit 18b62e0479f15e965611880ada6e0195367df025)

diff --git a/hw/xfree86/parser/scan.c b/hw/xfree86/parser/scan.c
index 5312143..4163a3a 100644
--- a/hw/xfree86/parser/scan.c
+++ b/hw/xfree86/parser/scan.c
@@ -819,6 +819,7 @@ OpenConfigFile(const char *path, const char *cmdline, const char *projroot,
 		}
 	}
 
+	free(pathcopy);
 	if (file) {
 		configFiles[numFiles].file = file;
 		configFiles[numFiles].path = strdup(filepath);
@@ -927,6 +928,7 @@ OpenConfigDir(const char *path, const char *cmdline, const char *projroot,
 		}
 	}
 
+	free(pathcopy);
 	return dirpath;
 }
 

commit 6a0b4051972a4fa6f1a3b22ec1ae54bd1849bc9f
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Tue Aug 3 12:51:51 2010 -0700

    XQuartz: RandR: Refactor legacy mode-switching to be better integrated with RandR
    
    Adds three new functions
    void QuartzRandRSetFakeRootless (void);
    void QuartzRandRSetFakeFullscreen (void);
    void QuartzRandRToggleFullscreen (void);
    
    The first two are identical to requesting the fake modes from a RandR client
    The third responds to cmd-alt-a to leave fullscreen or RandR.
    
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
    (cherry picked from commit c45bea0c044ad37bedb42209f7e6ea8b587999f0)

diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m
index 781dccc..8f4f23f 100644
--- a/hw/xquartz/X11Application.m
+++ b/hw/xquartz/X11Application.m
@@ -370,7 +370,7 @@ static void message_kit_thread (SEL selector, NSObject *arg) {
                     break;
                     
                 case 18: /* ApplicationDidReactivate */
-                    if (XQuartzHasRoot) for_appkit = NO;
+                    if (XQuartzFullscreenVisible) for_appkit = NO;
                     break;
                     
                 case NSApplicationDeactivatedEventType:
diff --git a/hw/xquartz/darwinEvents.c b/hw/xquartz/darwinEvents.c
index 4332202..74fadf4 100644
--- a/hw/xquartz/darwinEvents.c
+++ b/hw/xquartz/darwinEvents.c
@@ -241,17 +241,17 @@ static void DarwinEventHandler(int screenNum, InternalEvent *ie, DeviceIntPtr de
             DEBUG_LOG("kXquartzToggleFullscreen\n");
             if(XQuartzIsRootless)
                 ErrorF("Ignoring kXquartzToggleFullscreen because of rootless mode.");
-            else if (XQuartzHasRoot)
-                QuartzHide();
-            else
-                QuartzShow();
+            else 
+                QuartzRandRToggleFullscreen();
             break;
             
         case kXquartzSetRootless:
             DEBUG_LOG("kXquartzSetRootless\n");
-            QuartzSetRootless(e->data[0]);
-            if (!XQuartzIsRootless && !XQuartzHasRoot)
-                QuartzHide();
+            if(e->data[0]) {
+                QuartzRandRSetFakeRootless();
+            } else {
+                QuartzRandRSetFakeFullscreen(FALSE);
+            }
             break;
             
         case kXquartzSetRootClip:
diff --git a/hw/xquartz/quartz.c b/hw/xquartz/quartz.c
index cd90457..e21303c 100644
--- a/hw/xquartz/quartz.c
+++ b/hw/xquartz/quartz.c
@@ -74,7 +74,7 @@ const char             *quartzOpenGLBundle = NULL;
 Bool XQuartzFullscreenDisableHotkeys = TRUE;
 Bool XQuartzOptionSendsAlt = FALSE;


Reply to: