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 <[email protected]> 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 <[email protected]> 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 <[email protected]> Date: Fri Oct 1 14:05:03 2010 -0700 test: Fix make distcheck when not building unit tests Signed-off-by: Jeremy Huddleston <[email protected]> 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 <[email protected]> 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 <[email protected]> Reviewed-by: Keith Packard <[email protected]> Signed-off-by: Keith Packard <[email protected]> (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 <[email protected]> Date: Mon Sep 27 17:06:46 2010 -0400 xfree86: Add 18bpp support Signed-off-by: Adam Jackson <[email protected]> Reviewed-by: Keith Packard <[email protected]> Signed-off-by: Keith Packard <[email protected]> (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 <[email protected]> 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 <[email protected]> Acked-by: Tiago Vignatti <[email protected]> Signed-off-by: Keith Packard <[email protected]> (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 <[email protected]> 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 <[email protected]> Acked-by: Tiago Vignatti <[email protected]> Signed-off-by: Keith Packard <[email protected]> (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 <[email protected]> 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 <[email protected]> Acked-by: Tiago Vignatti <[email protected]> Signed-off-by: Keith Packard <[email protected]> (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 <[email protected]> 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 <[email protected]> Reviewed-by: Adam Jackson <[email protected]> Reviewed-by: Daniel Stone <[email protected]> (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 <[email protected]> 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 <[email protected]> Signed-off-by: Matt Turner <[email protected]> (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 <[email protected]> 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 <[email protected]> (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; -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

