[oe-commits] org.oe.packaged-staging qemu: Add 0.8.2 from .dev (needed for glibc)

rpurdie commit openembedded-commits at lists.openembedded.org
Fri Sep 29 03:32:18 UTC 2006


qemu: Add 0.8.2 from .dev (needed for glibc)

Author: rpurdie at openembedded.org
Branch: org.openembedded.packaged-staging
Revision: 6dce6fe3cce001ffcfa3c7302dce329aa2e98185
ViewMTN: http://monotone.openembedded.org/revision.psp?id=6dce6fe3cce001ffcfa3c7302dce329aa2e98185
Files:
1
packages/qemu/files
packages/qemu/qemu-0.8.2
packages/qemu/files/configure.patch
packages/qemu/files/mouse_fix-r0.patch
packages/qemu/files/pl110_rgb-r0.patch
packages/qemu/files/trunk_nodocs.patch
packages/qemu/qemu-0.8.2/arm_nptl.patch
Diffs:

#
# mt diff -r0b89fea5c0b89916154afc249f3297e595ac9624 -r6dce6fe3cce001ffcfa3c7302dce329aa2e98185
#
# 
# 
# add_dir "packages/qemu/files"
# 
# add_dir "packages/qemu/qemu-0.8.2"
# 
# add_file "packages/qemu/files/configure.patch"
#  content [a4f0acae2aa2cb06665009b24ace67255f094cd1]
# 
# add_file "packages/qemu/files/mouse_fix-r0.patch"
#  content [d29a422500bccdac47af5909487c5c53a05b907f]
# 
# add_file "packages/qemu/files/pl110_rgb-r0.patch"
#  content [7180acdfb852ad7d2c3a0c9014aeddff958cf8f4]
# 
# add_file "packages/qemu/files/trunk_nodocs.patch"
#  content [17ff6969091e62e051470ca8332b7214e05bb84a]
# 
# add_file "packages/qemu/qemu-0.8.2/arm_nptl.patch"
#  content [ef24759aff73f52385d670c99a52236f6751287b]
# 
============================================================
--- packages/qemu/files/configure.patch	a4f0acae2aa2cb06665009b24ace67255f094cd1
+++ packages/qemu/files/configure.patch	a4f0acae2aa2cb06665009b24ace67255f094cd1
@@ -0,0 +1,13 @@
+Index: qemu/configure
+===================================================================
+--- qemu.orig/configure	2006-02-09 17:58:47.000000000 +0000
++++ qemu/configure	2006-02-21 17:47:31.000000000 +0000
+@@ -482,7 +482,7 @@
+ fi
+ echo "HOST_CC=$host_cc" >> $config_mak
+ echo "AR=$ar" >> $config_mak
+-echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
++echo "STRIP=$strip" >> $config_mak
+ echo "CFLAGS=$CFLAGS" >> $config_mak
+ echo "LDFLAGS=$LDFLAGS" >> $config_mak
+ echo "EXESUF=$EXESUF" >> $config_mak
============================================================
--- packages/qemu/files/mouse_fix-r0.patch	d29a422500bccdac47af5909487c5c53a05b907f
+++ packages/qemu/files/mouse_fix-r0.patch	d29a422500bccdac47af5909487c5c53a05b907f
@@ -0,0 +1,25 @@
+If the cursor is hidden (SDL_ShowCursor(0)) and the input is grabbed
+(SDL_WM_GrabInput(SDL_GRAB_ON)), then the mouse will give relative motion
+events even when the cursor reaches the edge fo the screen. This is currently
+only implemented on Windows and Linux/Unix-a-likes.
+
+Index: qemu/sdl.c
+===================================================================
+--- qemu.orig/sdl.c	2006-04-13 12:22:22.000000000 +0100
++++ qemu/sdl.c	2006-05-25 00:28:25.000000000 +0100
+@@ -280,13 +280,13 @@
+ 
+ static void sdl_hide_cursor(void)
+ {
+-    SDL_SetCursor(sdl_cursor_hidden);
++    SDL_ShowCursor(0);
+ }
+ 
+ static void sdl_show_cursor(void)
+ {
+     if (!kbd_mouse_is_absolute()) {
+-	SDL_SetCursor(sdl_cursor_normal);
++        SDL_ShowCursor(1);
+     }
+ }
+ 
============================================================
--- packages/qemu/files/pl110_rgb-r0.patch	7180acdfb852ad7d2c3a0c9014aeddff958cf8f4
+++ packages/qemu/files/pl110_rgb-r0.patch	7180acdfb852ad7d2c3a0c9014aeddff958cf8f4
@@ -0,0 +1,219 @@
+Index: qemu/hw/pl110.c
+===================================================================
+--- qemu.orig/hw/pl110.c	2006-04-11 21:49:46.000000000 +0100
++++ qemu/hw/pl110.c	2006-05-24 22:53:00.000000000 +0100
+@@ -10,6 +10,7 @@
+ #include "vl.h"
+ 
+ #define PL110_CR_EN   0x001
++#define PL110_CR_BGR  0x100
+ #define PL110_CR_BEBO 0x200
+ #define PL110_CR_BEPO 0x400
+ #define PL110_CR_PWR  0x800
+@@ -115,6 +116,7 @@
+     int first, last = 0;
+     int dirty, new_dirty;
+     int i;
++    int bpp_offset;
+ 
+     if (!pl110_enabled(s))
+         return;
+@@ -146,12 +148,17 @@
+         fprintf(stderr, "pl110: Bad color depth\n");
+         exit(1);
+     }
++    if (s->cr & PL110_CR_BGR)
++	bpp_offset = 0;
++    else
++	bpp_offset = 18;
++
+     if (s->cr & PL110_CR_BEBO)
+-      fn = fntable[s->bpp + 6];
++      fn = fntable[s->bpp + 6 + bpp_offset];
+     else if (s->cr & PL110_CR_BEPO)
+-      fn = fntable[s->bpp + 12];
++      fn = fntable[s->bpp + 12 + bpp_offset];
+     else
+-      fn = fntable[s->bpp];
++      fn = fntable[s->bpp + bpp_offset];
+     
+     src_width = s->cols;
+     switch (s->bpp) {
+Index: qemu/hw/pl110_template.h
+===================================================================
+--- qemu.orig/hw/pl110_template.h	2006-02-19 12:31:32.000000000 +0000
++++ qemu/hw/pl110_template.h	2006-05-24 23:04:03.000000000 +0100
+@@ -24,6 +24,16 @@
+ #error unknown bit depth
+ #endif
+ 
++#undef RGB
++#define BORDER bgr
++#define ORDER 0
++#include "pl110_template.h"
++#define ORDER 1
++#include "pl110_template.h"
++#define ORDER 2
++#include "pl110_template.h"
++#define RGB
++#define BORDER rgb
+ #define ORDER 0
+ #include "pl110_template.h"
+ #define ORDER 1
+@@ -33,26 +43,47 @@
+ 
+ static drawfn glue(pl110_draw_fn_,BITS)[18] =
+ {
+-    glue(pl110_draw_line1_lblp,BITS),
+-    glue(pl110_draw_line2_lblp,BITS),
+-    glue(pl110_draw_line4_lblp,BITS),
+-    glue(pl110_draw_line8_lblp,BITS),
+-    glue(pl110_draw_line16_lblp,BITS),
+-    glue(pl110_draw_line32_lblp,BITS),
+-
+-    glue(pl110_draw_line1_bbbp,BITS),
+-    glue(pl110_draw_line2_bbbp,BITS),
+-    glue(pl110_draw_line4_bbbp,BITS),
+-    glue(pl110_draw_line8_bbbp,BITS),
+-    glue(pl110_draw_line16_bbbp,BITS),
+-    glue(pl110_draw_line32_bbbp,BITS),
+-
+-    glue(pl110_draw_line1_lbbp,BITS),
+-    glue(pl110_draw_line2_lbbp,BITS),
+-    glue(pl110_draw_line4_lbbp,BITS),
+-    glue(pl110_draw_line8_lbbp,BITS),
+-    glue(pl110_draw_line16_lbbp,BITS),
+-    glue(pl110_draw_line32_lbbp,BITS)
++    glue(pl110_draw_line1_lblp_bgr,BITS),
++    glue(pl110_draw_line2_lblp_bgr,BITS),
++    glue(pl110_draw_line4_lblp_bgr,BITS),
++    glue(pl110_draw_line8_lblp_bgr,BITS),
++    glue(pl110_draw_line16_lblp_bgr,BITS),
++    glue(pl110_draw_line32_lblp_bgr,BITS),
++
++    glue(pl110_draw_line1_bbbp_bgr,BITS),
++    glue(pl110_draw_line2_bbbp_bgr,BITS),
++    glue(pl110_draw_line4_bbbp_bgr,BITS),
++    glue(pl110_draw_line8_bbbp_bgr,BITS),
++    glue(pl110_draw_line16_bbbp_bgr,BITS),
++    glue(pl110_draw_line32_bbbp_bgr,BITS),
++
++    glue(pl110_draw_line1_lbbp_bgr,BITS),
++    glue(pl110_draw_line2_lbbp_bgr,BITS),
++    glue(pl110_draw_line4_lbbp_bgr,BITS),
++    glue(pl110_draw_line8_lbbp_bgr,BITS),
++    glue(pl110_draw_line16_lbbp_bgr,BITS),
++    glue(pl110_draw_line32_lbbp_bgr,BITS),
++
++    glue(pl110_draw_line1_lblp_rgb,BITS),
++    glue(pl110_draw_line2_lblp_rgb,BITS),
++    glue(pl110_draw_line4_lblp_rgb,BITS),
++    glue(pl110_draw_line8_lblp_rgb,BITS),
++    glue(pl110_draw_line16_lblp_rgb,BITS),
++    glue(pl110_draw_line32_lblp_rgb,BITS),
++
++    glue(pl110_draw_line1_bbbp_rgb,BITS),
++    glue(pl110_draw_line2_bbbp_rgb,BITS),
++    glue(pl110_draw_line4_bbbp_rgb,BITS),
++    glue(pl110_draw_line8_bbbp_rgb,BITS),
++    glue(pl110_draw_line16_bbbp_rgb,BITS),
++    glue(pl110_draw_line32_bbbp_rgb,BITS),
++
++    glue(pl110_draw_line1_lbbp_rgb,BITS),
++    glue(pl110_draw_line2_lbbp_rgb,BITS),
++    glue(pl110_draw_line4_lbbp_rgb,BITS),
++    glue(pl110_draw_line8_lbbp_rgb,BITS),
++    glue(pl110_draw_line16_lbbp_rgb,BITS),
++    glue(pl110_draw_line32_lbbp_rgb,BITS),
+ };
+ 
+ #undef BITS
+@@ -61,18 +92,18 @@
+ #else
+ 
+ #if ORDER == 0
+-#define NAME glue(lblp, BITS)
++#define NAME glue(glue(lblp_, BORDER), BITS)
+ #ifdef WORDS_BIGENDIAN
+ #define SWAP_WORDS 1
+ #endif
+ #elif ORDER == 1
+-#define NAME glue(bbbp, BITS)
++#define NAME glue(glue(bbbp_, BORDER), BITS)
+ #ifndef WORDS_BIGENDIAN
+ #define SWAP_WORDS 1
+ #endif
+ #else
+ #define SWAP_PIXELS 1
+-#define NAME glue(lbbp, BITS)
++#define NAME glue(glue(lbbp_, BORDER), BITS)
+ #ifdef WORDS_BIGENDIAN
+ #define SWAP_WORDS 1
+ #endif
+@@ -195,27 +226,34 @@
+ #ifdef SWAP_WORDS
+         data = bswap32(data);
+ #endif
++#ifdef RGB
++#define LSB r
++#define MSB b
++#else
++#define LSB b
++#define MSB r
++#endif
+ #if 0
+-        r = data & 0x1f;
++        LSB = data & 0x1f;
+         data >>= 5;
+         g = data & 0x3f;
+         data >>= 6;
+-        b = data & 0x1f;
++        MSB = data & 0x1f;
+         data >>= 5;
+ #else
+-        r = (data & 0x1f) << 3;
++        LSB = (data & 0x1f) << 3;
+         data >>= 5;
+         g = (data & 0x3f) << 2;
+         data >>= 6;
+-        b = (data & 0x1f) << 3;
++        MSB = (data & 0x1f) << 3;
+         data >>= 5;
+ #endif
+         COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+-        r = (data & 0x1f) << 3;
++        LSB = (data & 0x1f) << 3;
+         data >>= 5;
+         g = (data & 0x3f) << 2;
+         data >>= 6;
+-        b = (data & 0x1f) << 3;
++        MSB = (data & 0x1f) << 3;
+         data >>= 5;
+         COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+         width -= 2;
+@@ -229,14 +267,21 @@
+     unsigned int r, g, b;
+     while (width > 0) {
+         data = *(uint32_t *)src;
++#ifdef RGB
++#define LSB r
++#define MSB b
++#else
++#define LSB b
++#define MSB r
++#endif
+ #ifdef SWAP_WORDS
+-        r = data & 0xff;
++        LSB = data & 0xff;
+         g = (data >> 8) & 0xff;
+-        b = (data >> 16) & 0xff;
++        MSB = (data >> 16) & 0xff;
+ #else
+-        r = (data >> 24) & 0xff;
++        LSB = (data >> 24) & 0xff;
+         g = (data >> 16) & 0xff;
+-        b = (data >> 8) & 0xff;
++        MSB = (data >> 8) & 0xff;
+ #endif
+         COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+         width--;
============================================================
--- packages/qemu/files/trunk_nodocs.patch	17ff6969091e62e051470ca8332b7214e05bb84a
+++ packages/qemu/files/trunk_nodocs.patch	17ff6969091e62e051470ca8332b7214e05bb84a
@@ -0,0 +1,41 @@
+diff -Naur trunk_orig/Makefile trunk/Makefile
+--- trunk_orig/Makefile	2006-06-06 10:09:03.000000000 +0300
++++ trunk/Makefile	2006-06-06 17:18:59.000000000 +0300
+@@ -18,7 +18,8 @@
+ LDFLAGS+=-static
+ endif
+ ifdef BUILD_DOCS
+-DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1
++#DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1
++DOCS=
+ else
+ DOCS=
+ endif
+@@ -58,10 +59,10 @@
+ 
+ install-doc: $(DOCS)
+ 	mkdir -p "$(DESTDIR)$(docdir)"
+-	$(INSTALL) -m 644 qemu-doc.html  qemu-tech.html "$(DESTDIR)$(docdir)"
++	#$(INSTALL) -m 644 qemu-doc.html  qemu-tech.html "$(DESTDIR)$(docdir)"
+ ifndef CONFIG_WIN32
+ 	mkdir -p "$(DESTDIR)$(mandir)/man1"
+-	$(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
++	#$(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
+ endif
+ 
+ install: all $(if $(BUILD_DOCS),install-doc)
+@@ -151,10 +152,10 @@
+ 	$(datadir)/ppc_rom.bin \
+ 	$(datadir)/video.x \
+ 	$(datadir)/proll.elf \
+-	$(datadir)/linux_boot.bin \
+-	$(docdir)/qemu-doc.html \
+-	$(docdir)/qemu-tech.html \
+-	$(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 )
++	$(datadir)/linux_boot.bin
++#	$(docdir)/qemu-doc.html \
++#	$(docdir)/qemu-tech.html \
++#	$(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 )
+ 
+ ifneq ($(wildcard .depend),)
+ include .depend
============================================================
--- packages/qemu/qemu-0.8.2/arm_nptl.patch	ef24759aff73f52385d670c99a52236f6751287b
+++ packages/qemu/qemu-0.8.2/arm_nptl.patch	ef24759aff73f52385d670c99a52236f6751287b
@@ -0,0 +1,857 @@
+Index: qemu/configure
+===================================================================
+--- qemu.orig/configure	2006-08-26 16:31:53.000000000 +0100
++++ qemu/configure	2006-08-26 16:31:53.000000000 +0100
+@@ -97,6 +97,7 @@
+ build_docs="no"
+ build_acpi_tables="no"
+ uname_release=""
++nptl="yes"
+ 
+ # OS specific
+ targetos=`uname -s`
+@@ -243,6 +244,8 @@
+   ;;
+   --enable-iasl) build_acpi_tables="yes"
+   ;;
++  --disable-nptl) nptl="no"
++  ;;
+   esac
+ done
+ 
+@@ -441,6 +444,23 @@
+     fi
+ fi
+ 
++# check NPTL support
++cat > $TMPC <<EOF
++#include <sched.h>
++void foo()
++{
++#ifndef CLONE_SETTLS
++#error bork
++#endif
++}
++EOF
++
++if $cc -c -o $TMPO $TMPC 2> /dev/null ; then
++  :
++else
++   nptl="no"
++fi
++
+ ##########################################
+ # SDL probe
+ 
+@@ -559,6 +579,7 @@
+ fi
+ echo "FMOD support      $fmod $fmod_support"
+ echo "kqemu support     $kqemu"
++echo "NPTL support      $nptl"
+ echo "Documentation     $build_docs"
+ [ ! -z "$uname_release" ] && \
+ echo "uname -r          $uname_release"
+@@ -880,6 +901,14 @@
+             echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
+         fi
+     fi
++else
++    if test "$nptl" = "yes" ; then
++        case "$target_cpu" in
++          arm | armeb)
++            echo "#define USE_NPTL 1" >> $config_h
++          ;;
++        esac
++    fi
+ fi
+ 
+ if test "$cocoa" = "yes" ; then
+Index: qemu/exec-all.h
+===================================================================
+--- qemu.orig/exec-all.h	2006-08-26 16:28:32.000000000 +0100
++++ qemu/exec-all.h	2006-08-26 16:31:53.000000000 +0100
+@@ -347,163 +347,7 @@
+ extern CPUReadMemoryFunc *io_mem_read[IO_MEM_NB_ENTRIES][4];
+ extern void *io_mem_opaque[IO_MEM_NB_ENTRIES];
+ 
+-#ifdef __powerpc__
+-static inline int testandset (int *p)
+-{
+-    int ret;
+-    __asm__ __volatile__ (
+-                          "0:    lwarx %0,0,%1\n"
+-                          "      xor. %0,%3,%0\n"
+-                          "      bne 1f\n"
+-                          "      stwcx. %2,0,%1\n"
+-                          "      bne- 0b\n"
+-                          "1:    "
+-                          : "=&r" (ret)
+-                          : "r" (p), "r" (1), "r" (0)
+-                          : "cr0", "memory");
+-    return ret;
+-}
+-#endif
+-
+-#ifdef __i386__
+-static inline int testandset (int *p)
+-{
+-    long int readval = 0;
+-    
+-    __asm__ __volatile__ ("lock; cmpxchgl %2, %0"
+-                          : "+m" (*p), "+a" (readval)
+-                          : "r" (1)
+-                          : "cc");
+-    return readval;
+-}
+-#endif
+-
+-#ifdef __x86_64__
+-static inline int testandset (int *p)
+-{
+-    long int readval = 0;
+-    
+-    __asm__ __volatile__ ("lock; cmpxchgl %2, %0"
+-                          : "+m" (*p), "+a" (readval)
+-                          : "r" (1)
+-                          : "cc");
+-    return readval;
+-}
+-#endif
+-
+-#ifdef __s390__
+-static inline int testandset (int *p)
+-{
+-    int ret;
+-
+-    __asm__ __volatile__ ("0: cs    %0,%1,0(%2)\n"
+-			  "   jl    0b"
+-			  : "=&d" (ret)
+-			  : "r" (1), "a" (p), "0" (*p) 
+-			  : "cc", "memory" );
+-    return ret;
+-}
+-#endif
+-
+-#ifdef __alpha__
+-static inline int testandset (int *p)
+-{
+-    int ret;
+-    unsigned long one;
+-
+-    __asm__ __volatile__ ("0:	mov 1,%2\n"
+-			  "	ldl_l %0,%1\n"
+-			  "	stl_c %2,%1\n"
+-			  "	beq %2,1f\n"
+-			  ".subsection 2\n"
+-			  "1:	br 0b\n"
+-			  ".previous"
+-			  : "=r" (ret), "=m" (*p), "=r" (one)
+-			  : "m" (*p));
+-    return ret;
+-}
+-#endif
+-
+-#ifdef __sparc__
+-static inline int testandset (int *p)
+-{
+-	int ret;
+-
+-	__asm__ __volatile__("ldstub	[%1], %0"
+-			     : "=r" (ret)
+-			     : "r" (p)
+-			     : "memory");
+-
+-	return (ret ? 1 : 0);
+-}
+-#endif
+-
+-#ifdef __arm__
+-static inline int testandset (int *spinlock)
+-{
+-    register unsigned int ret;
+-    __asm__ __volatile__("swp %0, %1, [%2]"
+-                         : "=r"(ret)
+-                         : "0"(1), "r"(spinlock));
+-    
+-    return ret;
+-}
+-#endif
+-
+-#ifdef __mc68000
+-static inline int testandset (int *p)
+-{
+-    char ret;
+-    __asm__ __volatile__("tas %1; sne %0"
+-                         : "=r" (ret)
+-                         : "m" (p)
+-                         : "cc","memory");
+-    return ret;
+-}
+-#endif
+-
+-#ifdef __ia64
+-#include <ia64intrin.h>
+-
+-static inline int testandset (int *p)
+-{
+-    return __sync_lock_test_and_set (p, 1);
+-}
+-#endif
+-
+-typedef int spinlock_t;
+-
+-#define SPIN_LOCK_UNLOCKED 0
+-
+-#if defined(CONFIG_USER_ONLY)
+-static inline void spin_lock(spinlock_t *lock)
+-{
+-    while (testandset(lock));
+-}
+-
+-static inline void spin_unlock(spinlock_t *lock)
+-{
+-    *lock = 0;
+-}
+-
+-static inline int spin_trylock(spinlock_t *lock)
+-{
+-    return !testandset(lock);
+-}
+-#else
+-static inline void spin_lock(spinlock_t *lock)
+-{
+-}
+-
+-static inline void spin_unlock(spinlock_t *lock)
+-{
+-}
+-
+-static inline int spin_trylock(spinlock_t *lock)
+-{
+-    return 1;
+-}
+-#endif
++#include "qemu_spinlock.h"
+ 
+ extern spinlock_t tb_lock;
+ 
+Index: qemu/linux-user/arm/syscall.h
+===================================================================
+--- qemu.orig/linux-user/arm/syscall.h	2006-03-09 19:18:11.000000000 +0000
++++ qemu/linux-user/arm/syscall.h	2006-08-26 16:31:53.000000000 +0100
+@@ -28,7 +28,9 @@
+ #define ARM_SYSCALL_BASE	0x900000
+ #define ARM_THUMB_SYSCALL	0
+ 
+-#define ARM_NR_cacheflush (ARM_SYSCALL_BASE + 0xf0000 + 2)
++#define ARM_NR_%s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list