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: