From 6b084b4f47904135bcbe67c97262144460e7a24f Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 7 Jun 2010 12:30:08 +0200 Subject: add basic MacOS X support --- Config.in | 4 ++++ mk/build.mk | 18 ++++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/Config.in b/Config.in index 8b7d40cd6..17db17503 100644 --- a/Config.in +++ b/Config.in @@ -119,6 +119,10 @@ config ADK_HOST_NETBSD prompt "NetBSD" boolean +config ADK_HOST_DARWIN + prompt "Darwin" + boolean + config ADK_HOST_CYGWIN prompt "Cygwin" boolean diff --git a/mk/build.mk b/mk/build.mk index cc6c447ff..c143bbab2 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -270,6 +270,9 @@ endif ifeq (${OStype},NetBSD) @echo ADK_HOST_NETBSD=y > $(TOPDIR)/.defconfig endif +ifeq (${OStype},Darwin) + @echo ADK_HOST_DARWIN=y > $(TOPDIR)/.defconfig +endif ifneq (,$(filter CYGWIN%,${OStype})) @echo ADK_HOST_CYGWIN=y > $(TOPDIR)/.defconfig endif @@ -278,10 +281,10 @@ endif |grep -i "$(TARGET)"\$$ \ |sed -e "s#^config \(.*\)#\1=y#" \ >> $(TOPDIR)/.defconfig; \ - for symbol in ${DEFCONFIG}; do \ - echo $$symbol >> $(TOPDIR)/.defconfig; \ - done; \ fi + for symbol in ${DEFCONFIG}; do \ + echo $$symbol >> $(TOPDIR)/.defconfig; \ + done; \ @if [ ! -z "$(FS)" ];then \ grep "^config" target/Config.in \ |grep -i "$(FS)" \ @@ -338,6 +341,9 @@ endif ifeq (${OStype},NetBSD) @echo ADK_HOST_NETBSD=y > $(TOPDIR)/all.config endif +ifeq (${OStype},Darwin) + @echo ADK_HOST_DARWIN=y > $(TOPDIR)/all.config +endif ifneq (,$(filter CYGWIN%,${OStype})) @echo ADK_HOST_CYGWIN=y > $(TOPDIR)/all.config endif @@ -346,10 +352,10 @@ endif |grep -i "$(TARGET)"\$$ \ |sed -e "s#^config \(.*\)#\1=y#" \ >> $(TOPDIR)/all.config; \ - for symbol in ${DEFCONFIG}; do \ - echo $$symbol >> $(TOPDIR)/all.config; \ - done; \ fi + for symbol in ${DEFCONFIG}; do \ + echo $$symbol >> $(TOPDIR)/all.config; \ + done; \ @if [ ! -z "$(FS)" ];then \ grep "^config" target/Config.in \ |grep -i "$(FS)" \ -- cgit v1.2.3 From 1701293d60c885c5e973022586d0c86db501b4a9 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 7 Jun 2010 12:32:22 +0200 Subject: update to latest upstream version --- package/cpio/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/cpio/Makefile b/package/cpio/Makefile index 5bcbc2351..ed6b0b43f 100644 --- a/package/cpio/Makefile +++ b/package/cpio/Makefile @@ -4,9 +4,9 @@ include ${TOPDIR}/rules.mk PKG_NAME:= cpio -PKG_VERSION:= 2.10 +PKG_VERSION:= 2.11 PKG_RELEASE:= 1 -PKG_MD5SUM:= 351ab3d38d8949913e478cc23b9d6ad4 +PKG_MD5SUM:= 1112bb6c45863468b5496ba128792f6c PKG_DESCR:= copies files into or out of a cpio archive PKG_SECTION:= net PKG_URL:= http://www.gnu.org/software/cpio/ -- cgit v1.2.3 From 5c6967567427b9d5cbde9057b49a4894177ad559 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 7 Jun 2010 12:33:24 +0200 Subject: fix compile issues on MacOS X host --- toolchain/gmp/Makefile | 3 --- toolchain/mpfr/Makefile | 2 -- 2 files changed, 5 deletions(-) diff --git a/toolchain/gmp/Makefile b/toolchain/gmp/Makefile index 5b359b8cf..18dc3f83a 100644 --- a/toolchain/gmp/Makefile +++ b/toolchain/gmp/Makefile @@ -15,11 +15,8 @@ $(WRKBUILD)/.configured: (cd $(WRKBUILD); \ $(WRKBUILD)/configure \ --prefix=$(STAGING_TOOLS) \ - --build=$(GNU_HOST_NAME) \ - --host=$(GNU_HOST_NAME) \ --disable-shared \ --enable-static \ - --disable-nls \ ); touch $@ diff --git a/toolchain/mpfr/Makefile b/toolchain/mpfr/Makefile index 67753db9b..9feac6522 100644 --- a/toolchain/mpfr/Makefile +++ b/toolchain/mpfr/Makefile @@ -16,8 +16,6 @@ $(WRKBUILD)/.configured: (cd $(WRKBUILD); \ $(WRKBUILD)/configure \ --prefix=$(STAGING_TOOLS) \ - --build=$(GNU_HOST_NAME) \ - --host=$(GNU_HOST_NAME) \ --with-gmp-build=$(GMP_BUILD_DIR) \ --disable-shared \ --enable-static \ -- cgit v1.2.3 From 702e216210d58f1301c80d4e55af5d29f813eb19 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 7 Jun 2010 12:34:06 +0200 Subject: gnu tar fixes for MacOS X host --- scripts/scan-tools.sh | 14 +++++++++++--- scripts/tar | 4 ++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/scripts/scan-tools.sh b/scripts/scan-tools.sh index 89e368d8b..16887e3dd 100644 --- a/scripts/scan-tools.sh +++ b/scripts/scan-tools.sh @@ -56,6 +56,12 @@ OpenBSD) # although some packages' autoconf scripts may # not properly recognise OpenBSD ;; +Darwin*) + echo "Building OpenADK on $os needs a case-sensitive disk partition." + echo "For Snow Leopard and above you can use diskutil to resize your existing disk." + echo "For older versions you might consider to use a disk image" + echo "Example: sudo diskutil resizeVolume disk0s2 90G 1 jhfsx adk 30G" + ;; *) # unsupported echo "Building OpenADK on $os is currently unsupported." @@ -105,9 +111,11 @@ fi if ! (tar --version | grep GNU) >/dev/null 2>&1;then if ! which gtar >/dev/null 2>&1; then - echo You must install GNU tar to continue. - echo - out=1 + if ! which gnutar >/dev/null 2>&1; then + echo You must install GNU tar to continue. + echo + out=1 + fi fi fi diff --git a/scripts/tar b/scripts/tar index 5d6db28b4..6f63d74c1 100755 --- a/scripts/tar +++ b/scripts/tar @@ -3,11 +3,15 @@ # material, please see the LICENCE file in the top-level directory. if [ -z "$(which gtar 2>/dev/null)" ];then + if [ -z "$(which gnutar 2>/dev/null)" ];then if [ -x /usr/bin/tar ];then /usr/bin/tar "$@" else /bin/tar "$@" fi + else + gnutar "$@" + fi else gtar "$@" fi -- cgit v1.2.3 From 97c636279c04e0d01c64b2ba0a1f76b8a1cc5d48 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 8 Jun 2010 10:40:07 +0200 Subject: fix checksum and some typos --- mk/build.mk | 8 ++++---- toolchain/binutils/Makefile.inc | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mk/build.mk b/mk/build.mk index 359569826..0d807076a 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -284,9 +284,9 @@ endif |sed -e "s#^config \(.*\)#\1=y#" \ >> $(TOPDIR)/.defconfig; \ fi - for symbol in ${DEFCONFIG}; do \ + @for symbol in ${DEFCONFIG}; do \ echo $$symbol >> $(TOPDIR)/.defconfig; \ - done; \ + done @if [ ! -z "$(FS)" ];then \ grep "^config" target/Config.in \ |grep -i "$(FS)" \ @@ -355,9 +355,9 @@ endif |sed -e "s#^config \(.*\)#\1=y#" \ >> $(TOPDIR)/all.config; \ fi - for symbol in ${DEFCONFIG}; do \ + @for symbol in ${DEFCONFIG}; do \ echo $$symbol >> $(TOPDIR)/all.config; \ - done; \ + done @if [ ! -z "$(FS)" ];then \ grep "^config" target/Config.in \ |grep -i "$(FS)" \ diff --git a/toolchain/binutils/Makefile.inc b/toolchain/binutils/Makefile.inc index 7a91b2a69..0325a2293 100644 --- a/toolchain/binutils/Makefile.inc +++ b/toolchain/binutils/Makefile.inc @@ -4,7 +4,7 @@ PKG_NAME:= binutils PKG_VERSION:= 2.20.51 PKG_RELEASE:= 1 -PKG_MD5SUM:= 70971093cfa11bd943e06eccb2fd8914 +PKG_MD5SUM:= 74a7716095e031c8462137ca26ff5472 PKG_SITES:= ftp://sourceware.org/pub/binutils/snapshots/ #PKG_SITES:= ${MASTER_SITE_GNU:=binutils/} DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2 -- cgit v1.2.3 From 4df3b233a24daf7efe87d0da13cf4b2237d07df5 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Sun, 6 Jun 2010 03:06:40 +0200 Subject: xorg-server: lemote target needs --with-int10=stub --- package/xorg-server/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package/xorg-server/Makefile b/package/xorg-server/Makefile index 16cbe0359..610810fde 100644 --- a/package/xorg-server/Makefile +++ b/package/xorg-server/Makefile @@ -70,6 +70,10 @@ else CONFIGURE_ARGS+= --disable-dri --disable-dri2 endif +ifeq (${ADK_LINUX_MIPS64_LEMOTE},y) +CONFIGURE_ARGS+= --with-int10=stub +endif + post-install: $(INSTALL_DIR) $(IDIR_XORG_SERVER)/etc/X11 $(INSTALL_DIR) $(IDIR_XORG_SERVER)/usr/bin -- cgit v1.2.3 From 674fab1857ba3f01f729a853a11e16f10c662b8c Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Sun, 6 Jun 2010 03:06:41 +0200 Subject: xorg-server: enable dpms by default If you got the balls for Xorg, DPMS shouldn't hurt too much. Besides, xf86-video-siliconmotion really needs it (null-pointer function call otherwise). --- package/xorg-server/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/xorg-server/Makefile b/package/xorg-server/Makefile index 610810fde..00bfea228 100644 --- a/package/xorg-server/Makefile +++ b/package/xorg-server/Makefile @@ -43,9 +43,9 @@ CONFIGURE_ARGS+= \ --enable-xv \ --enable-xaa \ --enable-vgahw \ + --enable-dpms \ --disable-aiglx \ --disable-config-hal \ - --disable-dpms \ --disable-glx \ --disable-xace \ --disable-xephyr \ -- cgit v1.2.3 From 5c63c813453afd57a824fb056fc92fa21ed35c91 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Sun, 6 Jun 2010 03:06:42 +0200 Subject: xorg-server: fix memory mapped IO for lemote Apparently this is an update to the original fix, code taken from http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=blob_plain;f=x11-base/xorg-server/files/xorg-server-9999-loongson.patch;hb=2e5b51e34b7a7d0fe92ea9762d1aed9ac0b808c9 --- .../patches/patch-hw_xfree86_common_compiler_h | 55 +++++++++++++++++ .../patch-hw_xfree86_os-support_linux_lnx_video_c | 72 ++++++++++++++-------- 2 files changed, 101 insertions(+), 26 deletions(-) create mode 100644 package/xorg-server/patches/patch-hw_xfree86_common_compiler_h diff --git a/package/xorg-server/patches/patch-hw_xfree86_common_compiler_h b/package/xorg-server/patches/patch-hw_xfree86_common_compiler_h new file mode 100644 index 000000000..44b9b9b1a --- /dev/null +++ b/package/xorg-server/patches/patch-hw_xfree86_common_compiler_h @@ -0,0 +1,55 @@ + Caller side code changes regarding memory mapped IO. This patch applies + for mips architectures and is used by xf86-video-siliconmotion. +--- xorg-server-1.7.6.orig/hw/xfree86/common/compiler.h 2010-03-12 05:38:22.000000000 +0100 ++++ xorg-server-1.7.6/hw/xfree86/common/compiler.h 2010-06-05 09:43:12.531809482 +0200 +@@ -713,42 +713,43 @@ xf86WriteMmio32LeNB(__volatile__ void *b + # define PORT_SIZE short + # endif + +-_X_EXPORT unsigned int IOPortBase; /* Memory mapped I/O port area */ ++_X_EXPORT volatile unsigned char *ioBase; /* Memory mapped I/O port area */ ++ + + static __inline__ void + outb(unsigned PORT_SIZE port, unsigned char val) + { +- *(volatile unsigned char*)(((unsigned PORT_SIZE)(port))+IOPortBase) = val; ++ *(volatile unsigned char*)(((unsigned PORT_SIZE)(port))+ioBase) = val; + } + + static __inline__ void + outw(unsigned PORT_SIZE port, unsigned short val) + { +- *(volatile unsigned short*)(((unsigned PORT_SIZE)(port))+IOPortBase) = val; ++ *(volatile unsigned short*)(((unsigned PORT_SIZE)(port))+ioBase) = val; + } + + static __inline__ void + outl(unsigned PORT_SIZE port, unsigned int val) + { +- *(volatile unsigned int*)(((unsigned PORT_SIZE)(port))+IOPortBase) = val; ++ *(volatile unsigned int*)(((unsigned PORT_SIZE)(port))+ioBase) = val; + } + + static __inline__ unsigned int + inb(unsigned PORT_SIZE port) + { +- return *(volatile unsigned char*)(((unsigned PORT_SIZE)(port))+IOPortBase); ++ return *(volatile unsigned char*)(((unsigned PORT_SIZE)(port))+ioBase); + } + + static __inline__ unsigned int + inw(unsigned PORT_SIZE port) + { +- return *(volatile unsigned short*)(((unsigned PORT_SIZE)(port))+IOPortBase); ++ return *(volatile unsigned short*)(((unsigned PORT_SIZE)(port))+ioBase); + } + + static __inline__ unsigned int + inl(unsigned PORT_SIZE port) + { +- return *(volatile unsigned int*)(((unsigned PORT_SIZE)(port))+IOPortBase); ++ return *(volatile unsigned int*)(((unsigned PORT_SIZE)(port))+ioBase); + } + + diff --git a/package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c b/package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c index d0c187169..70bd7b279 100644 --- a/package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c +++ b/package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c @@ -1,15 +1,17 @@ + Enable the ioBase mapping code for mips, too. This is needed by + xf86-video-siliconmotion. --- xorg-server-1.7.6.orig/hw/xfree86/os-support/linux/lnx_video.c 2010-03-12 05:38:22.000000000 +0100 -+++ xorg-server-1.7.6/hw/xfree86/os-support/linux/lnx_video.c 2010-05-14 19:06:06.873473002 +0200 -@@ -64,6 +64,8 @@ static Bool ExtendedEnabled = FALSE; - !defined(__mips__) && \ - !defined(__arm__) ++++ xorg-server-1.7.6/hw/xfree86/os-support/linux/lnx_video.c 2010-06-05 21:46:29.659792653 +0200 +@@ -485,7 +485,7 @@ unmapVidMem(int ScreenNum, pointer Base, + /* I/O Permissions section */ + /***************************************************************************/ -+#include "compiler.h" -+ - /* - * Due to conflicts with "compiler.h", don't rely on to declare - * these. -@@ -497,7 +499,7 @@ volatile unsigned char *ioBase = NULL; +-#if defined(__powerpc__) ++#if defined(__powerpc__) || defined(__mips__) + volatile unsigned char *ioBase = NULL; + + #ifndef __NR_pciconfig_iobase +@@ -497,7 +497,7 @@ volatile unsigned char *ioBase = NULL; Bool xf86EnableIO(void) { @@ -18,24 +20,42 @@ int fd; unsigned int ioBase_phys; #endif -@@ -524,6 +526,20 @@ xf86EnableIO(void) +@@ -505,8 +505,12 @@ xf86EnableIO(void) + if (ExtendedEnabled) + return TRUE; + +-#if defined(__powerpc__) ++#if defined(__powerpc__) || defined(__mips__) ++#ifdef __powerpc__ + ioBase_phys = syscall(__NR_pciconfig_iobase, 2, 0, 0); ++#else ++ ioBase_phys = 0x1fd00000; ++#endif + + fd = open("/dev/mem", O_RDWR); + if (ioBase == NULL) { +@@ -522,9 +526,10 @@ xf86EnableIO(void) + return FALSE; + } #endif ++ xf86Msg(X_INFO,"%s: ioBase 0x%lx\n", (unsigned long)ioBase); } close(fd); -+#elif defined(__mips__) -+ fd = open("/dev/mem", O_RDWR); -+ IOPortBase = (volatile unsigned char *)mmap(0, 0x20000, -+ PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0x1fd00000); -+ if (IOPortBase == MAP_FAILED) { -+ xf86Msg(X_WARNING, -+ "xf86EnableIOPorts: Failed to map iobase (%s)\n", -+ strerror(errno)); -+ return FALSE; -+ } -+ close(fd); -+ xf86Msg(X_WARNING, -+ "xf86EnableIOPorts: map iobase (%x)\n", -+ IOPortBase); - #elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__) +-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__) ++#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__) if (ioperm(0, 1024, 1) || iopl(3)) { if (errno == ENODEV) + ErrorF("xf86EnableIOPorts: no I/O ports found\n"); +@@ -548,10 +553,10 @@ xf86DisableIO(void) + { + if (!ExtendedEnabled) + return; +-#if defined(__powerpc__) ++#if defined(__powerpc__) || defined(__mips__) + munmap(ioBase, 0x20000); + ioBase = NULL; +-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__arm__) && !defined(__s390__) && !defined(__m32r__) ++#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__sh__) && !defined(__hppa__) && !defined(__arm__) && !defined(__s390__) && !defined(__m32r__) + iopl(0); + ioperm(0, 1024, 0); + #endif -- cgit v1.2.3 From 19e9045f4a6acafd2d8fe5e02b7c3668a1dc6056 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Sun, 6 Jun 2010 03:06:43 +0200 Subject: xf86-video-siliconmotion: add loongson fix I'm not really sure what it does, and I suspect it's only there for video playback performance reasons, but since it's also here: http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=blob;f=x11-drivers/xf86-video-siliconmotion/files/xf86-video-siliconmotion-1.7.3-fix-loongson.patch;h=e3b6974cf3a242f6ac3373285309c579299e3689;hb=2e5b51e34b7a7d0fe92ea9762d1aed9ac0b808c9 it shouldn't hurt having it. --- ...86-video-siliconmotion-1.7.3-fix-loongson.patch | 182 +++++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 package/xf86-video-siliconmotion/patches/xf86-video-siliconmotion-1.7.3-fix-loongson.patch diff --git a/package/xf86-video-siliconmotion/patches/xf86-video-siliconmotion-1.7.3-fix-loongson.patch b/package/xf86-video-siliconmotion/patches/xf86-video-siliconmotion-1.7.3-fix-loongson.patch new file mode 100644 index 000000000..b94ca6d81 --- /dev/null +++ b/package/xf86-video-siliconmotion/patches/xf86-video-siliconmotion-1.7.3-fix-loongson.patch @@ -0,0 +1,182 @@ +diff -ur orig/src/smi_video.c mod/src/smi_video.c +--- xf86-video-siliconmotion-1.7.3.orig/src/smi_video.c 2009-07-27 05:42:44.000000000 +0200 ++++ xf86-video-siliconmotion-1.7.3/src/smi_video.c 2010-06-03 16:55:59.169793245 +0200 +@@ -276,6 +276,7 @@ static XF86ImageRec SMI_VideoImages[] = + XVIMAGE_YUY2, + XVIMAGE_YV12, + XVIMAGE_I420, ++ XVIMAGE_UYVY, + { + FOURCC_RV15, /* id */ + XvRGB, /* type */ +@@ -1103,7 +1104,7 @@ SMI_PutVideo( + vpr00 |= 0x0010000E; + } else { + /* +- Bit 21 = 10: Vertical Interpolation = enabled ++ Bit 21 = 1: Vertical Interpolation = enabled + Bit 24 = 1: Select Video Window I Source Addr = 1 + 1= Video window I source addr = capture port buffer ? + */ +@@ -1464,6 +1465,117 @@ SMI_QueryBestSize( + LEAVE(); + } + ++static void myXVCopyYUV12ToPacked(const unsigned char *srcy, const unsigned char *srcv, const unsigned char *srcu, ++ unsigned char *dst, int srcPitchy, int srcPitchuv, int dstPitch, int h, int w) ++{ ++ int i, j; ++ unsigned char const *y, *u, *v; ++ int dstinc, yinc, uinc, vinc; ++ ++ y = srcy; ++ u = srcu; ++ v = srcv; ++ ++ dstinc = dstPitch - 2*w; ++ yinc = srcPitchy - w; ++ uinc = srcPitchuv - w/2; ++ vinc = srcPitchuv - w/2; ++ ++ for (i = 0; i < h; i++) { ++ asm ( ++// ".set arch=loongson2f\n\t" ++ ".set noreorder\n\t" ++ "move $8, %8 \n\t" ++ "1: \n\t" ++ "beqz $8, 2f \n\t" ++ "xor $f0, $f0, $f0 \n\t" ++ "ldc1 $f4, (%0) \n\t" ++ "punpcklbh $f2, $f4, $f0 \n\t" ++ "punpckhbh $f4, $f4, $f0 \n\t" ++ "ldc1 $f16, 8(%0) \n\t" ++ "punpcklbh $f14, $f16, $f0 \n\t" ++ "punpckhbh $f16, $f16, $f0 \n\t" ++ ++ "lwc1 $f8, (%1) \n\t" ++ "lwc1 $f12, (%2) \n\t" ++ "punpcklbh $f8, $f8, $f12 \n\t" ++ "punpcklbh $f6, $f0, $f8 \n\t" ++ "punpckhbh $f8, $f0, $f8 \n\t" ++ "lwc1 $f18, 4(%1) \n\t" ++ "lwc1 $f12, 4(%2) \n\t" ++ "punpcklbh $f18, $f18, $f12 \n\t" ++ "punpcklbh $f10, $f0, $f18 \n\t" ++ "punpckhbh $f12, $f0, $f18 \n\t" ++ ++ "or $f2, $f2, $f6 \n\t" ++ "or $f4, $f4, $f8 \n\t" ++ "or $f14, $f14, $f10 \n\t" ++ "or $f16, $f16, $f12 \n\t" ++ ++ "sdc1 $f2, (%3) \n\t" ++ "sdc1 $f4, 8(%3) \n\t" ++ "add %0, 16 \n\t" ++ "add %1, 8 \n\t" ++ "add %2, 8 \n\t" ++ "sdc1 $f14, 0x10(%3) \n\t" ++ "sdc1 $f16, 0x18(%3) \n\t" ++ "add $8, -1 \n\t" ++ "b 1b \n\t" ++ "add %3, 32 \n\t" ++ "2: \n\t" ++ ".set reorder\n\t" ++ : "=r" (y), "=r" (u), "=r" (v), "=r" (dst) ++ : "0" (y), "1" (u), "2" (v), "3" (dst), "r" (w>>4) ++ : "memory","$8" ++ ); ++ ++ asm ( ++// ".set arch=loongson2f\n\t" ++ ".set noreorder\n\t" ++ "move $8, %8 \n\t" ++ "1: \n\t" ++ "beqz $8, 2f \n\t" ++ "xor $f0, $f0, $f0 \n\t" ++ "ldc1 $f4, (%0) \n\t" ++ "punpcklbh $f2, $f4, $f0 \n\t" ++ "punpckhbh $f4, $f4, $f0 \n\t" ++ ++ "lwc1 $f8, (%1) \n\t" ++ "lwc1 $f12, (%2) \n\t" ++ "punpcklbh $f8, $f8, $f12 \n\t" ++ "punpcklbh $f6, $f0, $f8 \n\t" ++ "punpckhbh $f8, $f0, $f8 \n\t" ++ ++ "or $f2, $f2, $f6 \n\t" ++ "or $f4, $f4, $f8 \n\t" ++ ++ "sdc1 $f2, (%3) \n\t" ++ "sdc1 $f4, 8(%3) \n\t" ++ "add %0, 8 \n\t" ++ "add %1, 4 \n\t" ++ "add %2, 4 \n\t" ++ "add $8, -1 \n\t" ++ "b 1b \n\t" ++ "add %3, 16 \n\t" ++ "2:\n\t" ++ ".set reorder\n\t" ++ : "=r" (y), "=r" (u), "=r" (v), "=r" (dst) ++ : "0" (y), "1" (u), "2" (v), "3" (dst), "r" ((w&0xf)/8) ++ : "memory","$8" ++ ); ++ ++ for (j = (w&7)/2; j; j--) { ++ *dst++ = *y++; ++ *dst++ = *u++; ++ *dst++ = *y++; ++ *dst++ = *v++; ++ } ++ y += yinc; ++ u = (i%2) ? (u + uinc): (u - w/2); ++ v = (i%2) ? (v + vinc): (v - w/2); ++ dst += dstinc; ++ } ++} + + static int + SMI_PutImage( +@@ -1592,7 +1704,7 @@ SMI_PutImage( + offset3 = tmp; + } + nLines = ((((y2 + 0xffff) >> 16) + 1) & ~1) - top; +- xf86XVCopyYUV12ToPacked(buf + (top * srcPitch) + (left >> 1), ++ myXVCopyYUV12ToPacked(buf + (top * srcPitch) + (left >> 1), + buf + offset2, buf + offset3, dstStart, + srcPitch, srcPitch2, dstPitch, nLines, + nPixels); +@@ -1747,7 +1859,7 @@ SMI_DisplayVideo( + { + SMIPtr pSmi = SMIPTR(pScrn); + CARD32 vpr00; +- int hstretch, vstretch; ++ uint_least32_t hstretch, vstretch; + + ENTER(); + +@@ -1774,13 +1886,13 @@ SMI_DisplayVideo( + } + + if (drw_w > vid_w) { +- hstretch = (2560 * vid_w / drw_w + 5) / 10; ++ hstretch = ((uint_least32_t)(vid_w - 1) << 16) / (drw_w - 1); + } else { + hstretch = 0; + } + + if (drw_h > vid_h) { +- vstretch = (2560 * vid_h / drw_h + 5) / 10; ++ vstretch = ((uint_least32_t)(vid_h - 1) << 16) / (drw_h - 1); + vpr00 |= 1 << 21; + } else { + vstretch = 0; +@@ -1791,7 +1903,8 @@ SMI_DisplayVideo( + WRITE_VPR(pSmi, 0x18, (dstBox->x2) | (dstBox->y2 << 16)); + WRITE_VPR(pSmi, 0x1C, offset >> 3); + WRITE_VPR(pSmi, 0x20, (pitch >> 3) | ((pitch >> 3) << 16)); +- WRITE_VPR(pSmi, 0x24, (hstretch << 8) | vstretch); ++ WRITE_VPR(pSmi, 0x24, (hstretch & 0xff00) | ((vstretch & 0xff00) >> 8)); ++ WRITE_VPR(pSmi, 0x68, ((hstretch & 0xff) << 8) | (vstretch & 0xff)); + + LEAVE(); + } -- cgit v1.2.3 From 7c3527a846b81cd4e169821b905959aa71392727 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Sun, 6 Jun 2010 03:06:44 +0200 Subject: xorg-server: add fix for lemote in XAA mode --- package/xorg-server/patches/patch-fb_fb_h | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 package/xorg-server/patches/patch-fb_fb_h diff --git a/package/xorg-server/patches/patch-fb_fb_h b/package/xorg-server/patches/patch-fb_fb_h new file mode 100644 index 000000000..82a814c7d --- /dev/null +++ b/package/xorg-server/patches/patch-fb_fb_h @@ -0,0 +1,13 @@ + Fix for xf86-video-siliconmotion in 16bpp with XAA, see: + http://groups.google.com/group/loongson-dev/browse_thread/thread/570549e3d7894fef/5f04b3d9370adfd2 +--- xorg-server-1.7.6.orig/fb/fb.h 2010-03-12 05:38:21.000000000 +0100 ++++ xorg-server-1.7.6/fb/fb.h 2010-06-03 15:34:35.903809488 +0200 +@@ -75,7 +75,7 @@ + #define FBPREFIX(x) fb##x + #define WRITE(ptr, val) (*(ptr) = (val)) + #define READ(ptr) (*(ptr)) +-#define MEMCPY_WRAPPED(dst, src, size) memcpy((dst), (src), (size)) ++#define MEMCPY_WRAPPED(dst, src, size) memmove((dst), (src), (size)) + #define MEMSET_WRAPPED(dst, val, size) memset((dst), (val), (size)) + + #endif -- cgit v1.2.3 From 5eede796a5a95818e3c1aab3d6121410c06d3dff Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Sun, 6 Jun 2010 03:06:45 +0200 Subject: rxvt-unicode: we don't have libafterimage, so disable it for now --- package/rxvt-unicode/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package/rxvt-unicode/Makefile b/package/rxvt-unicode/Makefile index 626c9bf54..5706fc573 100644 --- a/package/rxvt-unicode/Makefile +++ b/package/rxvt-unicode/Makefile @@ -21,7 +21,8 @@ include $(TOPDIR)/mk/package.mk $(eval $(call PKG_template,RXVT_UNICODE,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) CONFIGURE_ARGS+= --disable-perl \ - --disable-utmp + --disable-utmp \ + --disable-afterimage post-install: $(INSTALL_DIR) $(IDIR_RXVT_UNICODE)/usr/bin -- cgit v1.2.3 From 680b86ab37f49665c5161350e0ad60d3df251f69 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Sun, 6 Jun 2010 03:06:46 +0200 Subject: port twm (easy as eatin' pancakes :) --- package/Config.in | 1 + package/twm/Makefile | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 package/twm/Makefile diff --git a/package/Config.in b/package/Config.in index 80717c15b..141ffe2a4 100644 --- a/package/Config.in +++ b/package/Config.in @@ -621,6 +621,7 @@ source "package/evilwm/Config.in" source "package/firefox/Config.in" source "package/font-util/Config.in" source "package/rxvt-unicode/Config.in" +source "package/twm/Config.in" source "package/xauth/Config.in" source "package/xlsfonts/Config.in" endmenu diff --git a/package/twm/Makefile b/package/twm/Makefile new file mode 100644 index 000000000..fbf6518c7 --- /dev/null +++ b/package/twm/Makefile @@ -0,0 +1,29 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(TOPDIR)/rules.mk + +PKG_NAME:= twm +PKG_VERSION:= 1.0.4 +PKG_RELEASE:= 1 +PKG_MD5SUM:= 109979bd39d48bd761e7939b30006a48 +PKG_DESCR:= X.Org twm application +PKG_SECTION:= x11 +PKG_DEPENDS:= xorg-server +PKG_BUILDDEP+= xorg-server +PKG_URL:= http://xorg.freedesktop.org +PKG_SITES:= http://xorg.freedesktop.org/archive/individual/app/ + +include $(TOPDIR)/mk/package.mk + +$(eval $(call PKG_template,TWM,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +post-install: + $(INSTALL_DIR) $(IDIR_TWM)/usr/bin + $(INSTALL_BIN) $(WRKINST)/usr/bin/twm \ + $(IDIR_TWM)/usr/bin/ + ${INSTALL_DIR} ${IDIR_TWM}/usr/share/X11/twm + ${INSTALL_DATA} ${WRKINST}/usr/share/X11/twm/system.twmrc \ + ${IDIR_TWM}/usr/share/X11/twm/ + +include ${TOPDIR}/mk/pkg-bottom.mk -- cgit v1.2.3 From 50329ba33d82bc4a38ef96824c60be2fd95c119b Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Sun, 6 Jun 2010 10:45:06 +0200 Subject: port xinit and it's dependency mcookie --- package/Config.in | 1 + package/util-linux-ng/Makefile | 4 ++++ package/xinit/Makefile | 29 +++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 package/xinit/Makefile diff --git a/package/Config.in b/package/Config.in index 141ffe2a4..d6553882e 100644 --- a/package/Config.in +++ b/package/Config.in @@ -623,6 +623,7 @@ source "package/font-util/Config.in" source "package/rxvt-unicode/Config.in" source "package/twm/Config.in" source "package/xauth/Config.in" +source "package/xinit/Config.in" source "package/xlsfonts/Config.in" endmenu diff --git a/package/util-linux-ng/Makefile b/package/util-linux-ng/Makefile index ef7b4766d..7e3c121ca 100644 --- a/package/util-linux-ng/Makefile +++ b/package/util-linux-ng/Makefile @@ -19,6 +19,7 @@ PKG_DESCR_SWAP:= Swap space management utilities PKG_DEPENDS_SWAP:= libblkid PKG_DESCR_LOOP:= Loop devices setup and control utility PKG_DEPENDS_LOOP:= kmod-blk-dev-loop +PKG_DESCR_MCOOKIE:= Generate magic cookies for xauth include ${TOPDIR}/mk/package.mk @@ -26,6 +27,7 @@ $(eval $(call PKG_template,FDISK,fdisk,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPEN $(eval $(call PKG_template,SFDISK,sfdisk,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_SFDISK},${PKG_SECTION})) $(eval $(call PKG_template,SWAP_UTILS,swap-utils,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_SWAP},${PKG_DESCR_SWAP},${PKG_SECTION})) $(eval $(call PKG_template,LOSETUP,losetup,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_LOOP},${PKG_DESCR_LOOP},${PKG_SECTION})) +$(eval $(call PKG_template,MCOOKIE,mcookie,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_MCOOKIE},${PKG_SECTION})) CONFIGURE_ARGS+= --disable-use-tty-group \ --disable-schedutils \ @@ -46,5 +48,7 @@ post-install: ${INSTALL_DIR} ${IDIR_SWAP_UTILS}/usr/sbin ${CP} ${WRKINST}/sbin/mkswap ${IDIR_SWAP_UTILS}/usr/sbin/ ${CP} ${WRKINST}/sbin/swap{on,off} ${IDIR_SWAP_UTILS}/usr/sbin/ + ${INSTALL_DIR} ${IDIR_MCOOKIE}/usr/bin + ${INSTALL_BIN} ${WRKINST}/usr/bin/mcookie ${IDIR_MCOOKIE}/usr/bin/ include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/xinit/Makefile b/package/xinit/Makefile new file mode 100644 index 000000000..a5180511a --- /dev/null +++ b/package/xinit/Makefile @@ -0,0 +1,29 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(TOPDIR)/rules.mk + +PKG_NAME:= xinit +PKG_VERSION:= 1.2.1 +PKG_RELEASE:= 1 +PKG_MD5SUM:= 7ad82221ebd6600a8d33712ec3b62efb +PKG_DESCR:= X Window System initializer +PKG_SECTION:= x11 +PKG_DEPENDS:= xorg-server mcookie +PKG_BUILDDEP+= xorg-server +PKG_URL:= http://xorg.freedesktop.org +PKG_SITES:= http://xorg.freedesktop.org/archive/individual/app/ + +include $(TOPDIR)/mk/package.mk + +$(eval $(call PKG_template,XINIT,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +post-install: + $(INSTALL_DIR) $(IDIR_XINIT)/usr/bin + $(INSTALL_BIN) $(WRKINST)/usr/bin/{xinit,startx} \ + $(IDIR_XINIT)/usr/bin/ + ${INSTALL_DIR} ${IDIR_XINIT}/usr/lib/X11/xinit + ${INSTALL_DATA} ${WRKINST}/usr/lib/X11/xinit/xinitrc \ + ${IDIR_XINIT}/usr/lib/X11/xinit/ + +include ${TOPDIR}/mk/pkg-bottom.mk -- cgit v1.2.3