diff options
author | xtraeme <xtraeme@pkgsrc.org> | 2005-05-03 11:18:47 +0000 |
---|---|---|
committer | xtraeme <xtraeme@pkgsrc.org> | 2005-05-03 11:18:47 +0000 |
commit | dca48935195271b7369a49a61cc0b865d7e8c27b (patch) | |
tree | a1a5744c307de6c582fcd9379694f6d4dba52f3d /emulators/qemu/patches | |
parent | 6442e50cdb9820832e16b924b73e848f1036589a (diff) | |
download | pkgsrc-dca48935195271b7369a49a61cc0b865d7e8c27b.tar.gz |
Update to 0.7.0.
Changes:
- better BIOS translation and HDD geometry auto-detection
- user mode networking bug fix
- undocumented FPU ops support
- Cirrus VGA: support for 1280x1024x[8,15,16] modes
- 'pidfile' option
- .dmg disk image format support (Johannes Schindelin)
- keymaps support (initial patch by Johannes Schindelin)
- big endian ARM support (Lennert Buytenhek)
- added generic 64 bit target support
- x86_64 target support
- initial APIC support
- MMX/SSE/SSE2/PNI support
- PC parallel port support (Mark Jonckheere)
- initial SPARC64 support (Blue Swirl)
- SPARC target boots Linux (Blue Swirl)
- armv5te user mode support (Paul Brook)
- ARM VFP support (Paul Brook)
- ARM "Angel" semihosting syscalls (Paul Brook)
- user mode gdb stub support (Paul Brook)
- Samba 3 support
- initial Cocoa support (Pierre d'Herbemont)
- generic FPU emulation code
- Virtual PC read-only disk image support (Alex Beregszaszi)
pkgsrc changes:
Applied Hubert Feyrer workaround for the x86_64 target (patch-aw).
Diffstat (limited to 'emulators/qemu/patches')
-rw-r--r-- | emulators/qemu/patches/patch-ab | 17 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-af | 31 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-aj | 23 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-ak | 37 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-ap | 12 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-ar | 11 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-au | 76 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-av | 55 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-aw | 19 |
9 files changed, 192 insertions, 89 deletions
diff --git a/emulators/qemu/patches/patch-ab b/emulators/qemu/patches/patch-ab deleted file mode 100644 index f09e385ff7a..00000000000 --- a/emulators/qemu/patches/patch-ab +++ /dev/null @@ -1,17 +0,0 @@ -$NetBSD: patch-ab,v 1.3 2005/03/02 23:22:41 hubertf Exp $ - -Source: http://lists.gnu.org/archive/html/qemu-devel/2004-09/msg00271.html - ---- target-i386/exec.h.orig 2004-11-14 21:51:33.000000000 +0100 -+++ target-i386/exec.h -@@ -315,8 +315,8 @@ static inline void stfl(void *ptr, float - extern int lrint(CPU86_LDouble x); - extern int64_t llrint(CPU86_LDouble x); - #else --#define lrint(d) ((int)rint(d)) --#define llrint(d) ((int)rint(d)) -+#define lrint(d) ((long)rint(d)) -+#define llrint(d) ((long long)rint(d)) - #endif - extern CPU86_LDouble fabs(CPU86_LDouble x); - extern CPU86_LDouble sin(CPU86_LDouble x); diff --git a/emulators/qemu/patches/patch-af b/emulators/qemu/patches/patch-af index 1d8644fdbb9..07a798188b7 100644 --- a/emulators/qemu/patches/patch-af +++ b/emulators/qemu/patches/patch-af @@ -1,7 +1,7 @@ -$NetBSD: patch-af,v 1.2 2004/12/14 01:02:19 dbj Exp $ +$NetBSD: patch-af,v 1.3 2005/05/03 11:18:47 xtraeme Exp $ ---- dyngen-exec.h.orig Sun Nov 14 15:51:33 2004 -+++ dyngen-exec.h +--- dyngen-exec.h.orig 2005-04-28 22:23:53.000000000 +0200 ++++ dyngen-exec.h 2005-04-28 22:25:30.000000000 +0200 @@ -23,7 +23,9 @@ /* NOTE: standard headers should be used with special care at this point because host CPU registers are used as global variables. Some @@ -12,34 +12,29 @@ $NetBSD: patch-af,v 1.2 2004/12/14 01:02:19 dbj Exp $ typedef unsigned char uint8_t; typedef unsigned short uint16_t; -@@ -43,7 +45,7 @@ typedef signed long int64_t; - #else +@@ -44,6 +46,7 @@ typedef signed long long int64_t; #endif -- + +/* #define INT8_MIN (-128) #define INT16_MIN (-32767-1) #define INT32_MIN (-2147483647-1) -@@ -56,8 +58,12 @@ typedef signed long long int64_t; +@@ -56,12 +59,17 @@ #define UINT16_MAX (65535) #define UINT32_MAX (4294967295U) #define UINT64_MAX ((uint64_t)(18446744073709551615)) -- +*/ + +#ifdef __NetBSD__ -+typedef struct __sFILE FILE; ++typedef struct __sFILE FILE; +#else typedef struct FILE FILE; -+#endif extern int fprintf(FILE *, const char *, ...); extern int printf(const char *, ...); #undef NULL -@@ -70,6 +76,7 @@ extern int printf(const char *, ...); - #define FE_UPWARD FP_RP - #define FE_TOWARDZERO FP_RZ - #define fesetround(x) fpsetround(x) -+#define fegetround() fpgetround() - #else - #include <fenv.h> - #endif + #define NULL 0 ++#endif + + #ifdef __i386__ + #define AREG0 "ebp" diff --git a/emulators/qemu/patches/patch-aj b/emulators/qemu/patches/patch-aj index d972ebf598e..8c0bf81decc 100644 --- a/emulators/qemu/patches/patch-aj +++ b/emulators/qemu/patches/patch-aj @@ -1,29 +1,20 @@ -$NetBSD: patch-aj,v 1.2 2004/12/14 01:02:19 dbj Exp $ +$NetBSD: patch-aj,v 1.3 2005/05/03 11:18:47 xtraeme Exp $ ---- Makefile.target.orig Sun Nov 14 15:51:33 2004 -+++ Makefile.target -@@ -7,8 +7,8 @@ ifdef CONFIG_USER_ONLY +--- Makefile.target.orig 2005-04-28 22:40:38.000000000 +0200 ++++ Makefile.target 2005-04-28 22:41:20.000000000 +0200 +@@ -14,9 +14,9 @@ VPATH+=:$(SRC_PATH)/linux-user DEFINES+=-I$(SRC_PATH)/linux-user -I$(SRC_PATH)/linux-user/$(TARGET_ARCH) endif -CFLAGS=-Wall -O2 -g -fno-strict-aliasing --LDFLAGS=-g +#CFLAGS=-Wall -O2 -g -fno-strict-aliasing + #CFLAGS+=-Werror +-LDFLAGS=-g +#LDFLAGS=-g LIBS= HELPER_CFLAGS=$(CFLAGS) DYNGEN=../dyngen$(EXESUF) -@@ -181,6 +181,9 @@ endif - - DEFINES+=-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE - LIBS+=-lm -+ifdef CONFIG_DARWIN -+LIBS+=-lmx -+endif - ifndef CONFIG_USER_ONLY - LIBS+=-lz - endif -@@ -397,7 +400,7 @@ clean: +@@ -463,7 +463,7 @@ install: all ifneq ($(PROGS),) diff --git a/emulators/qemu/patches/patch-ak b/emulators/qemu/patches/patch-ak index 2a6138bfe97..34fffc993b7 100644 --- a/emulators/qemu/patches/patch-ak +++ b/emulators/qemu/patches/patch-ak @@ -1,8 +1,8 @@ -$NetBSD: patch-ak,v 1.2 2004/11/15 11:35:30 xtraeme Exp $ +$NetBSD: patch-ak,v 1.3 2005/05/03 11:18:47 xtraeme Exp $ ---- Makefile.orig 2004-11-15 11:54:34.000000000 +0100 -+++ Makefile 2004-11-15 11:56:25.000000000 +0100 -@@ -1,13 +1,13 @@ +--- Makefile.orig 2005-04-28 22:38:00.000000000 +0200 ++++ Makefile 2005-04-28 22:39:40.000000000 +0200 +@@ -1,10 +1,10 @@ -include config-host.mak -CFLAGS=-Wall -O2 -g -fno-strict-aliasing @@ -10,36 +10,31 @@ $NetBSD: patch-ak,v 1.2 2004/11/15 11:35:30 xtraeme Exp $ ifdef CONFIG_DARWIN CFLAGS+= -mdynamic-no-pic endif - ifdef CONFIG_WIN32 - CFLAGS+=-fpack-struct - endif -LDFLAGS=-g +#LDFLAGS=-g LIBS= DEFINES+=-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE - TOOLS=qemu-img -@@ -43,18 +43,18 @@ - done + TOOLS=qemu-img$(EXESUF) +@@ -54,16 +54,16 @@ + common de-ch es fo fr-ca hu ja mk nl-be pt sl tr install: all - mkdir -p "$(bindir)" -+ $(BSD_INSTALL_PROGRAM_DIR) $(bindir) - ifndef CONFIG_WIN32 - install -m 755 -s $(TOOLS) "$(bindir)" - endif +- install -m 755 -s $(TOOLS) "$(bindir)" - mkdir -p "$(datadir)" - install -m 644 pc-bios/bios.bin pc-bios/vgabios.bin \ -+ $(BSD_INSTALL_DATA_DIR) $(datadir) ++ $(BSD_INSTALL_PROGRAM_DIR) "$(bindir)" ++ $(BSD_INSTALL_PROGRAM) $(TOOLS) "$(bindir)" ++ $(BSD_INSTALL_DATA_DIR) "$(datadir)" + $(BSD_INSTALL_DATA) pc-bios/bios.bin pc-bios/vgabios.bin \ pc-bios/vgabios-cirrus.bin \ pc-bios/ppc_rom.bin \ - pc-bios/proll.bin \ -- pc-bios/linux_boot.bin "$(datadir)" + pc-bios/proll.elf \ + pc-bios/linux_boot.bin "$(datadir)" - mkdir -p "$(docdir)" - install -m 644 qemu-doc.html qemu-tech.html "$(docdir)" -+ pc-bios/linux_boot.bin $(datadir) -+ $(BSD_INSTALL_DATA_DIR) $(docdir) -+ $(BSD_INSTALL_DATA) qemu-doc.html qemu-tech.html $(docdir) ++ $(BSD_INSTALL_DATA_DIR) "$(docdir)" ++ $(BSD_INSTALL_DATA) qemu-doc.html qemu-tech.html "$(docdir)" ifndef CONFIG_WIN32 mkdir -p "$(mandir)/man1" - install qemu.1 qemu-mkcow.1 "$(mandir)/man1" + install qemu.1 qemu-img.1 "$(mandir)/man1" diff --git a/emulators/qemu/patches/patch-ap b/emulators/qemu/patches/patch-ap index c4fe829f41d..c01987f9ea3 100644 --- a/emulators/qemu/patches/patch-ap +++ b/emulators/qemu/patches/patch-ap @@ -1,10 +1,10 @@ -$NetBSD: patch-ap,v 1.1 2004/11/15 11:35:30 xtraeme Exp $ +$NetBSD: patch-ap,v 1.2 2005/05/03 11:18:47 xtraeme Exp $ ---- target-sparc/cpu.h 9 Oct 2004 18:08:01 -0000 1.8 -+++ target-sparc/cpu.h 15 Nov 2004 09:09:31 -0000 -@@ -145,8 +145,7 @@ - int cpu_sparc_exec(CPUSPARCState *s); - int cpu_sparc_close(CPUSPARCState *s); +--- target-sparc/cpu.h.orig 2005-04-27 22:52:05.000000000 +0200 ++++ target-sparc/cpu.h 2005-04-29 01:11:35.000000000 +0200 +@@ -194,8 +194,7 @@ + cpu_set_cwp(env, _tmp & PSR_CWP & (NWINDOWS - 1)); \ + } while (0) -struct siginfo; -int cpu_sparc_signal_handler(int hostsignum, struct siginfo *info, void *puc); diff --git a/emulators/qemu/patches/patch-ar b/emulators/qemu/patches/patch-ar deleted file mode 100644 index 51d4f86f41f..00000000000 --- a/emulators/qemu/patches/patch-ar +++ /dev/null @@ -1,11 +0,0 @@ -$NetBSD: patch-ar,v 1.1 2004/11/15 11:35:30 xtraeme Exp $ - ---- target-sparc/op_helper.c 10 Oct 2004 17:46:24 -0000 1.3 -+++ target-sparc/op_helper.c 15 Nov 2004 09:09:31 -0000 -@@ -1,5 +1,4 @@ - #include <math.h> --#include <fenv.h> - #include "exec.h" - - #ifdef USE_INT_TO_FLOAT_HELPERS - diff --git a/emulators/qemu/patches/patch-au b/emulators/qemu/patches/patch-au new file mode 100644 index 00000000000..951e6b2e964 --- /dev/null +++ b/emulators/qemu/patches/patch-au @@ -0,0 +1,76 @@ +$NetBSD: patch-au,v 1.1 2005/05/03 11:18:47 xtraeme Exp $ + +--- fpu/softfloat-native.h.orig 2005-04-27 22:52:05.000000000 +0200 ++++ fpu/softfloat-native.h 2005-04-29 01:23:27.000000000 +0200 +@@ -36,9 +36,9 @@ + #if defined(_BSD) && !defined(__APPLE__) + enum { + float_round_nearest_even = FP_RN, +- float_round_down = FE_RM, +- float_round_up = FE_RP, +- float_round_to_zero = FE_RZ ++ float_round_down = FP_RM, ++ float_round_up = FP_RP, ++ float_round_to_zero = FP_RZ + }; + #elif defined(__arm__) + enum { +@@ -143,15 +143,15 @@ + } + INLINE char float32_le_quiet( float32 a, float32 b STATUS_PARAM) + { +- return islessequal(a, b); ++ return __builtin_islessequal(a, b); + } + INLINE char float32_lt_quiet( float32 a, float32 b STATUS_PARAM) + { +- return isless(a, b); ++ return __builtin_isless(a, b); + } + INLINE char float32_unordered( float32 a, float32 b STATUS_PARAM) + { +- return isunordered(a, b); ++ return __builtin_isunordered(a, b); + + } + char float32_compare( float32, float32 STATUS_PARAM ); +@@ -223,16 +223,16 @@ + } + INLINE char float64_le_quiet( float64 a, float64 b STATUS_PARAM) + { +- return islessequal(a, b); ++ return __builtin_islessequal(a, b); + } + INLINE char float64_lt_quiet( float64 a, float64 b STATUS_PARAM) + { +- return isless(a, b); ++ return __builtin_isless(a, b); + + } + INLINE char float64_unordered( float64 a, float64 b STATUS_PARAM) + { +- return isunordered(a, b); ++ return __builtin_isunordered(a, b); + + } + char float64_compare( float64, float64 STATUS_PARAM ); +@@ -304,16 +304,16 @@ + } + INLINE char floatx80_le_quiet( floatx80 a, floatx80 b STATUS_PARAM) + { +- return islessequal(a, b); ++ return __builtin_islessequal(a, b); + } + INLINE char floatx80_lt_quiet( floatx80 a, floatx80 b STATUS_PARAM) + { +- return isless(a, b); ++ return __builtin_isless(a, b); + + } + INLINE char floatx80_unordered( floatx80 a, floatx80 b STATUS_PARAM) + { +- return isunordered(a, b); ++ return __builtin_isunordered(a, b); + + } + char floatx80_compare( floatx80, floatx80 STATUS_PARAM ); diff --git a/emulators/qemu/patches/patch-av b/emulators/qemu/patches/patch-av new file mode 100644 index 00000000000..df0770e4720 --- /dev/null +++ b/emulators/qemu/patches/patch-av @@ -0,0 +1,55 @@ +$NetBSD: patch-av,v 1.1 2005/05/03 11:18:47 xtraeme Exp $ + +--- fpu/softfloat-native.c.orig 2005-04-27 22:52:05.000000000 +0200 ++++ fpu/softfloat-native.c 2005-05-03 13:08:02.000000000 +0200 +@@ -25,6 +25,8 @@ + #if defined(_BSD) + #define lrint(d) ((int32_t)rint(d)) + #define llrint(d) ((int64_t)rint(d)) ++#define lrintf(d) ((int32_t)rint(d)) ++#define llrintf(d) ((int64_t)rint(d)) + #endif + + #if defined(__powerpc__) +@@ -143,11 +145,11 @@ + } + char float32_compare_quiet( float32 a, float32 b STATUS_PARAM ) + { +- if (isless(a, b)) { ++ if (__builtin_isless(a, b)) { + return -1; + } else if (a == b) { + return 0; +- } else if (isgreater(a, b)) { ++ } else if (__builtin_isgreater(a, b)) { + return 1; + } else { + return 2; +@@ -247,11 +249,11 @@ + } + char float64_compare_quiet( float64 a, float64 b STATUS_PARAM ) + { +- if (isless(a, b)) { ++ if (__builtin_isless(a, b)) { + return -1; + } else if (a == b) { + return 0; +- } else if (isgreater(a, b)) { ++ } else if (__builtin_isgreater(a, b)) { + return 1; + } else { + return 2; +@@ -328,11 +330,11 @@ + } + char floatx80_compare_quiet( floatx80 a, floatx80 b STATUS_PARAM ) + { +- if (isless(a, b)) { ++ if (__builtin_isless(a, b)) { + return -1; + } else if (a == b) { + return 0; +- } else if (isgreater(a, b)) { ++ } else if (__builtin_isgreater(a, b)) { + return 1; + } else { + return 2; diff --git a/emulators/qemu/patches/patch-aw b/emulators/qemu/patches/patch-aw new file mode 100644 index 00000000000..8d60e3b6602 --- /dev/null +++ b/emulators/qemu/patches/patch-aw @@ -0,0 +1,19 @@ +$NetBSD: patch-aw,v 1.1 2005/05/03 11:18:47 xtraeme Exp $ + +Workaround for x86_64 target, patch from Hubert Feyrer. + +Index: dyngen.c +=================================================================== +RCS file: /cvsroot/qemu/qemu/dyngen.c,v +retrieving revision 1.40 +diff -u -r1.40 dyngen.c +--- dyngen.c 27 Apr 2005 19:55:58 -0000 1.40 ++++ dyngen.c 1 May 2005 20:22:09 -0000 +@@ -1587,6 +1587,7 @@ + if(!sym_name) + continue; + if (*sym_name && ++ !strstart(sym_name, "bswap64", NULL) && /* HF hack */ + !strstart(sym_name, "__op_param", NULL) && + !strstart(sym_name, "__op_jmp", NULL) && + !strstart(sym_name, "__op_gen_label", NULL)) { |