diff --git a/qemu-0.7.1-armfpaex.patch b/qemu-0.7.1-armfpaex.patch index 9ec4109f..4e32824c 100644 --- a/qemu-0.7.1-armfpaex.patch +++ b/qemu-0.7.1-armfpaex.patch @@ -1,6 +1,6 @@ --- linux-user/main.c +++ linux-user/main.c -@@ -339,18 +339,54 @@ +@@ -377,19 +377,55 @@ { TaskState *ts = env->opaque; uint32_t opcode; @@ -8,7 +8,8 @@ /* we handle the FPU emulation here, as Linux */ /* we get the opcode */ - opcode = tget32(env->regs[15]); + /* FIXME - what to do if get_user() fails? */ + get_user_u32(opcode, env->regs[15]); - if (EmulateAll(opcode, &ts->fpa, env) == 0) { + if ((rc=EmulateAll(opcode, &ts->fpa, env)) == 0) { diff --git a/qemu-0.9.0.cvs.tar.bz2 b/qemu-0.9.0.cvs.tar.bz2 deleted file mode 100644 index ab4fb6ff..00000000 --- a/qemu-0.9.0.cvs.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8892fead8e0caa1af63419e3376a784e56040e15d82e967e139f54c13ae22b49 -size 2330234 diff --git a/qemu-0.9.1.tar.bz2 b/qemu-0.9.1.tar.bz2 new file mode 100644 index 00000000..902b355c --- /dev/null +++ b/qemu-0.9.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a68d110ac86247b385b677d02fff2315ba42418469ead2d4f7e8bb48cfa928ba +size 2370923 diff --git a/qemu-cvs-futex.patch b/qemu-cvs-futex.patch index a87549be..06c36942 100644 --- a/qemu-cvs-futex.patch +++ b/qemu-cvs-futex.patch @@ -19,7 +19,7 @@ Index: qemu.bkp/linux-user/syscall.c #include #include #include -@@ -2715,6 +2718,91 @@ +@@ -2715,6 +2718,92 @@ unlock_user_struct(target_ts, target_addr, 1); } @@ -79,7 +79,7 @@ Index: qemu.bkp/linux-user/syscall.c + break; + default: + gemu_log("qemu: Unsupported futex op %d\n", op); -+ return -ENOSYS; ++ return -TARGET_ENOSYS; + } + if (op == FUTEX_WAKE_OP) { + /* Need to munge the secondary operation (val3) */ @@ -90,11 +90,12 @@ Index: qemu.bkp/linux-user/syscall.c + int oparg = (val3 >> 12) & 0xfff; + int cmparg = val3 & 0xfff; + int shift = val3 & (FUTEX_OP_OPARG_SHIFT << 28); -+ int oldval = tget32(uaddr2); ++ int oldval; if(get_user_u32(oldval, uaddr2)) ++ return -TARGET_EFAULT; + if (shift) + oparg = 1 << oparg; + -+ tput32(uaddr2,futex_op(oldval, op2, oparg)); ++ put_user_u32(uaddr2,futex_op(oldval, op2, oparg)); + retval = syscall(__NR_futex, g2h(uaddr), FUTEX_WAKE, val, 0, 0, 0); + if(futex_cmp(oldval, cmp, cmparg)) { + retval = syscall(__NR_futex, g2h(uaddr2), FUTEX_WAKE, val2, 0, 0, 0); @@ -111,7 +112,7 @@ Index: qemu.bkp/linux-user/syscall.c /* do_syscall() should always have a single exit point at the end so that actions, such as logging of syscall results, can be performed. All errnos that do_syscall() returns must be -TARGET_. */ -@@ -5116,6 +5204,11 @@ +@@ -5116,6 +5205,11 @@ } #endif diff --git a/qemu-cvs-gettimeofday.patch b/qemu-cvs-gettimeofday.patch index eed34b43..df6db7c5 100644 --- a/qemu-cvs-gettimeofday.patch +++ b/qemu-cvs-gettimeofday.patch @@ -2,11 +2,12 @@ Index: qemu/linux-user/syscall.c ================================================================================ --- qemu/linux-user/syscall.c +++ qemu/linux-user/syscall.c -@@ -3895,6 +3895,7 @@ +@@ -3895,6 +3895,8 @@ case TARGET_NR_gettimeofday: { struct timeval tv; -+ target_to_host_timeval(&tv, arg1); ++ if(copy_from_user_timeval(&tv, arg1)) ++ goto efault; ret = get_errno(gettimeofday(&tv, NULL)); if (!is_error(ret)) { host_to_target_timeval(arg1, &tv); diff --git a/qemu-cvs-mmap-amd64.patch b/qemu-cvs-mmap-amd64.patch index 19fa505a..38791b4b 100644 --- a/qemu-cvs-mmap-amd64.patch +++ b/qemu-cvs-mmap-amd64.patch @@ -1,7 +1,7 @@ Index: qemu/linux-user/mmap.c ================================================================================ ---- qemu/linux-user/mmap.c -+++ qemu/linux-user/mmap.c +--- qemu-0.9.1/linux-user/mmap.c ++++ qemu-0.9.1/linux-user/mmap.c @@ -27,6 +27,10 @@ #include "qemu.h" @@ -22,25 +22,7 @@ Index: qemu/linux-user/mmap.c if (p == MAP_FAILED) return -1; prot1 = prot; -@@ -251,7 +255,7 @@ - host_len = HOST_PAGE_ALIGN(host_len + qemu_host_page_size - - qemu_real_host_page_size); - p = mmap(real_start ? g2h(real_start) : NULL, -- host_len, prot, flags, fd, host_offset); -+ host_len, prot, flags | MAP_32BIT, fd, host_offset); - if (p == MAP_FAILED) - return -1; - -@@ -277,7 +281,7 @@ - } else { - /* if not fixed, no need to do anything */ - void *p = mmap(real_start ? g2h(real_start) : NULL, -- host_len, prot, flags, fd, host_offset); -+ host_len, prot, flags | MAP_32BIT, fd, host_offset); - if (p == MAP_FAILED) - return -1; - /* update start so that it points to the file position at 'offset' */ -@@ -434,7 +438,7 @@ +@@ -422,7 +426,7 @@ unsigned long host_addr; /* XXX: use 5 args syscall */ diff --git a/qemu-cvs-noppcemb.patch b/qemu-cvs-noppcemb.patch index fa3b024d..449cce20 100644 --- a/qemu-cvs-noppcemb.patch +++ b/qemu-cvs-noppcemb.patch @@ -1,13 +1,13 @@ Index: qemu-0.9.0/configure ================================================================================ ---- qemu/configure -+++ qemu/configure -@@ -506,7 +506,7 @@ +--- qemu-0.9.1/configure ++++ qemu-0.9.1/configure +@@ -526,7 +526,7 @@ if test -z "$target_list" ; then # these targets are portable if [ "$softmmu" = "yes" ] ; then -- target_list="i386-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu arm-softmmu ppc-softmmu ppcemb-softmmu ppc64-softmmu m68k-softmmu sh4-softmmu cris-softmmu z80-softmmu" -+ target_list="i386-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu arm-softmmu ppc-softmmu ppc64-softmmu m68k-softmmu sh4-softmmu cris-softmmu z80-softmmu" +- target_list="i386-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu arm-softmmu ppc-softmmu ppcemb-softmmu ppc64-softmmu m68k-softmmu sh4-softmmu sh4eb-softmmu cris-softmmu" ++ target_list="i386-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu arm-softmmu ppc-softmmu ppcemb-softmmu ppc64-softmmu m68k-softmmu sh4-softmmu sh4eb-softmmu cris-softmmu z80-softmmu" fi # the following are Linux specific if [ "$linux_user" = "yes" ] ; then diff --git a/qemu-cvs-tls.patch b/qemu-cvs-tls.patch index c129f257..e44c23aa 100644 --- a/qemu-cvs-tls.patch +++ b/qemu-cvs-tls.patch @@ -1,18 +1,7 @@ Index: qemu.bkp/linux-user/main.c ================================================================================ ---- qemu/linux-user/main.c -+++ qemu/linux-user/main.c -@@ -156,7 +156,7 @@ - p[1] = tswapl(e2); - } - --uint64_t gdt_table[6]; -+uint64_t gdt_table[9]; - uint64_t idt_table[256]; - - /* only dpl matters as we do only user space emulation */ ---- qemu/linux-user/syscall.c -+++ qemu/linux-user/syscall.c +--- qemu-0.9.1/linux-user/syscall.c ++++ qemu-0.9.1/linux-user/syscall.c @@ -159,6 +159,7 @@ #define __NR_sys_tkill __NR_tkill #define __NR_sys_unlinkat __NR_unlinkat @@ -31,88 +20,7 @@ Index: qemu.bkp/linux-user/main.c #ifdef __NR_exit_group _syscall1(int,exit_group,int,error_code) #endif -@@ -2249,6 +2253,80 @@ - return ret; - } - -+int do_set_thread_area(CPUX86State *env, abi_ulong ptr) -+{ -+ uint64_t *gdt_table = g2h(env->gdt.base); -+ struct target_modify_ldt_ldt_s ldt_info; -+ struct target_modify_ldt_ldt_s *target_ldt_info; -+ int seg_32bit, contents, read_exec_only, limit_in_pages; -+ int seg_not_present, useable; -+ uint32_t *lp, entry_1, entry_2; -+ int i; -+ -+ lock_user_struct(VERIFY_WRITE, target_ldt_info, ptr, 1); -+ ldt_info.entry_number = tswap32(target_ldt_info->entry_number); -+ ldt_info.base_addr = tswapl(target_ldt_info->base_addr); -+ ldt_info.limit = tswap32(target_ldt_info->limit); -+ ldt_info.flags = tswap32(target_ldt_info->flags); -+ if (ldt_info.entry_number == -1) { -+ for (i=6; i<8; i++) -+ if (gdt_table[i] == 0) { -+ ldt_info.entry_number = i; -+ target_ldt_info->entry_number = tswap32(i); -+ break; -+ } -+ } -+ unlock_user_struct(target_ldt_info, ptr, 0); -+ -+ if (ldt_info.entry_number < 6 || ldt_info.entry_number > 8) -+ return -EINVAL; -+ seg_32bit = ldt_info.flags & 1; -+ contents = (ldt_info.flags >> 1) & 3; -+ read_exec_only = (ldt_info.flags >> 3) & 1; -+ limit_in_pages = (ldt_info.flags >> 4) & 1; -+ seg_not_present = (ldt_info.flags >> 5) & 1; -+ useable = (ldt_info.flags >> 6) & 1; -+ -+ if (contents == 3) { -+ if (seg_not_present == 0) -+ return -EINVAL; -+ } -+ -+ /* NOTE: same code as Linux kernel */ -+ /* Allow LDTs to be cleared by the user. */ -+ if (ldt_info.base_addr == 0 && ldt_info.limit == 0) { -+ if ((contents == 0 && -+ read_exec_only == 1 && -+ seg_32bit == 0 && -+ limit_in_pages == 0 && -+ seg_not_present == 1 && -+ useable == 0 )) { -+ entry_1 = 0; -+ entry_2 = 0; -+ goto install; -+ } -+ } -+ -+ entry_1 = ((ldt_info.base_addr & 0x0000ffff) << 16) | -+ (ldt_info.limit & 0x0ffff); -+ entry_2 = (ldt_info.base_addr & 0xff000000) | -+ ((ldt_info.base_addr & 0x00ff0000) >> 16) | -+ (ldt_info.limit & 0xf0000) | -+ ((read_exec_only ^ 1) << 9) | -+ (contents << 10) | -+ ((seg_not_present ^ 1) << 15) | -+ (seg_32bit << 22) | -+ (limit_in_pages << 23) | -+ (useable << 20) | -+ 0x7000; -+ -+ /* Install the new entry ... */ -+install: -+ lp = (uint32_t *)(gdt_table + ldt_info.entry_number); -+ lp[0] = tswap32(entry_1); -+ lp[1] = tswap32(entry_2); -+ return 0; -+} - #endif /* defined(TARGET_I386) */ - - /* this stack is the equivalent of the kernel stack associated with a -@@ -2265,15 +2343,20 @@ +@@ -2705,15 +2783,20 @@ /* do_fork() Must return host values and target errnos (unlike most do_*() functions). */ @@ -134,7 +42,7 @@ Index: qemu.bkp/linux-user/main.c memset(ts, 0, sizeof(TaskState)); new_stack = ts->stack; ts->used = 1; -@@ -2285,6 +2368,27 @@ +@@ -2725,6 +2808,27 @@ #if defined(TARGET_I386) if (!newsp) newsp = env->regs[R_ESP]; @@ -162,7 +70,7 @@ Index: qemu.bkp/linux-user/main.c new_env->regs[R_ESP] = newsp; new_env->regs[R_EAX] = 0; #elif defined(TARGET_ARM) -@@ -2342,15 +2446,27 @@ +@@ -2782,15 +2886,27 @@ #endif new_env->opaque = ts; #ifdef __ia64__ @@ -182,20 +90,20 @@ Index: qemu.bkp/linux-user/main.c + /* Store child thread ID at location parent_tidptr in parent and child memory. + Currently this is only done in client memory */ + if(flags & CLONE_PARENT_SETTID) { -+ tput32(parent_tidptr, parent_tid); ++ put_user_u32(parent_tidptr, parent_tid); + } + + /* Store child thread ID at location child_tidptr in child memory. */ + if(flags & CLONE_CHILD_SETTID) { + if(ret==0) { /* only in client memory for fork() */ -+ tput32(child_tidptr, gettid()); ++ put_user_u32(child_tidptr, gettid()); + } else if(flags & CLONE_VM) { /* real threads need it too */ -+ tput32(child_tidptr, ret); ++ put_user_u32(child_tidptr, ret); + } } return ret; } -@@ -2623,7 +2739,7 @@ +@@ -3073,7 +3189,7 @@ _mcleanup(); #endif gdb_exit(cpu_env, arg1); @@ -204,7 +112,7 @@ Index: qemu.bkp/linux-user/main.c _exit(arg1); ret = 0; /* avoid warning */ break; -@@ -2671,7 +2787,7 @@ +@@ -3115,7 +3231,7 @@ ret = do_brk(arg1); break; case TARGET_NR_fork: @@ -213,7 +121,7 @@ Index: qemu.bkp/linux-user/main.c break; #ifdef TARGET_NR_waitpid case TARGET_NR_waitpid: -@@ -4020,7 +4136,7 @@ +@@ -4477,7 +4593,7 @@ ret = get_errno(fsync(arg1)); break; case TARGET_NR_clone: @@ -222,7 +130,7 @@ Index: qemu.bkp/linux-user/main.c break; #ifdef __NR_exit_group /* new thread calls */ -@@ -4419,7 +4535,7 @@ +@@ -4897,7 +5013,7 @@ #endif #ifdef TARGET_NR_vfork case TARGET_NR_vfork: @@ -231,25 +139,3 @@ Index: qemu.bkp/linux-user/main.c break; #endif #ifdef TARGET_NR_ugetrlimit -@@ -4957,13 +5073,17 @@ - #ifdef TARGET_NR_set_thread_area - case TARGET_NR_set_thread_area: - #ifdef TARGET_MIPS -- ((CPUMIPSState *) cpu_env)->tls_value = arg1; -- ret = 0; -- break; -+ ((CPUMIPSState *) cpu_env)->tls_value = arg1; -+ ret = 0; -+#else -+#ifdef TARGET_I386 -+ ret = get_errno(do_set_thread_area(cpu_env, arg1)); - #else -- goto unimplemented_nowarn; -+ goto unimplemented_nowarn; - #endif - #endif -+ break; -+#endif - #ifdef TARGET_NR_get_thread_area - case TARGET_NR_get_thread_area: - goto unimplemented_nowarn; diff --git a/qemu-s390.patch b/qemu-s390.patch index aed44ba3..0cea5da6 100644 --- a/qemu-s390.patch +++ b/qemu-s390.patch @@ -1,6 +1,6 @@ ---- qemu/Makefile.target -+++ qemu/Makefile.target -@@ -396,6 +396,9 @@ +--- qemu-0.9.1/Makefile.target ++++ qemu-0.9.1/Makefile.target +@@ -390,6 +390,9 @@ ifeq ($(findstring z80, $(TARGET_ARCH) $(ARCH)),z80) LIBOBJS+=z80-dis.o endif @@ -10,9 +10,9 @@ ifdef CONFIG_GDBSTUB OBJS+=gdbstub.o ---- qemu/dis-asm.h -+++ qemu/dis-asm.h -@@ -388,6 +388,7 @@ +--- qemu-0.9.1/dis-asm.h ++++ qemu-0.9.1/dis-asm.h +@@ -396,6 +396,7 @@ extern int print_insn_s390 PARAMS ((bfd_vma, disassemble_info*)); extern int print_insn_crisv32 PARAMS ((bfd_vma, disassemble_info*)); extern int print_insn_z80 PARAMS ((bfd_vma, disassemble_info*)); @@ -20,21 +20,8 @@ #if 0 /* Fetch the disassembler for a given BFD, if that support is available. */ ---- qemu/dyngen.c -+++ qemu/dyngen.c -@@ -1495,8 +1495,8 @@ - p = (void *)(p_end - 2); - if (p == p_start) - error("empty code for %s", name); -- if (get16((uint16_t *)p) != 0x07fe && get16((uint16_t *)p) != 0x07f4) -- error("br %%r14 expected at the end of %s", name); -+ if ((get16((uint16_t *)p) & 0xfff0) != 0x07f0) -+ error("br %%rX expected at the end of %s", name); - copy_size = p - p_start; - } - #elif defined(HOST_ALPHA) ---- qemu/target-i386/translate.c -+++ qemu/target-i386/translate.c +--- qemu-0.9.1/target-i386/translate.c ++++ qemu-0.9.1/target-i386/translate.c @@ -1795,7 +1795,11 @@ case CC_OP_SUBW: case CC_OP_SUBL: diff --git a/qemu-s390dis-license.patch b/qemu-s390dis-license.patch new file mode 100644 index 00000000..9adc0488 --- /dev/null +++ b/qemu-s390dis-license.patch @@ -0,0 +1,74 @@ +--- ./s390-dis.c 2007-08-01 15:11:55.000000000 +0200 ++++ ./s390-dis.c 2005-08-22 21:27:46.000000000 +0200 +@@ -1,23 +1,23 @@ + /* s390-dis.c -- Disassemble S390 instructions +- Copyright 2000, 2001, 2002, 2003, 2005, 2007 Free Software Foundation, Inc. ++ Copyright 2000, 2001, 2002, 2003, 2005 Free Software Foundation, Inc. + Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). + +- This file is part of the GNU opcodes library. ++ This file is part of GDB, GAS and the GNU binutils. + +- This library is free software; you can redistribute it and/or modify ++ This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +- the Free Software Foundation; either version 3, or (at your option) +- any later version. ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. + +- It is distributed in the hope that it will be useful, but WITHOUT +- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +- License for more details. ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. + + You should have received a copy of the GNU General Public License +- along with this file; see the file COPYING. If not, write to the +- Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, +- MA 02110-1301, USA. */ ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA ++ 02110-1301, USA. */ + + #include + #include "ansidecl.h" +@@ -399,23 +399,23 @@ + /* s390-opc.c -- S390 opcode list +- Copyright 2000, 2001, 2003, 2007 Free Software Foundation, Inc. ++ Copyright 2000, 2001, 2003 Free Software Foundation, Inc. + Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). + +- This file is part of the GNU opcodes library. ++ This file is part of GDB, GAS, and the GNU binutils. + +- This library is free software; you can redistribute it and/or modify ++ This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +- the Free Software Foundation; either version 3, or (at your option) +- any later version. ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. + +- It is distributed in the hope that it will be useful, but WITHOUT +- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +- License for more details. ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. + + You should have received a copy of the GNU General Public License +- along with this file; see the file COPYING. If not, write to the +- Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, +- MA 02110-1301, USA. */ ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA ++ 02110-1301, USA. */ + + #include + #include "ansidecl.h" diff --git a/qemu-z80.diff b/qemu-z80.diff index 571f306b..d7de5d49 100644 --- a/qemu-z80.diff +++ b/qemu-z80.diff @@ -1,6 +1,6 @@ ---- qemu/Makefile -+++ qemu/Makefile -@@ -73,7 +73,7 @@ +--- qemu-0.9.1/Makefile ++++ qemu-0.9.1/Makefile +@@ -179,7 +179,7 @@ mkdir -p "$(DESTDIR)$(datadir)" for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \ video.x openbios-sparc32 pxe-ne2k_pci.bin \ @@ -9,9 +9,9 @@ $(INSTALL) -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \ done ifndef CONFIG_WIN32 ---- qemu/Makefile.target -+++ qemu/Makefile.target -@@ -348,6 +348,13 @@ +--- qemu-0.9.1/Makefile.target ++++ qemu-0.9.1/Makefile.target +@@ -342,6 +342,13 @@ endif endif @@ -25,7 +25,7 @@ # NOTE: the disassembler code is only needed for debugging LIBOBJS+=disas.o ifeq ($(findstring i386, $(TARGET_ARCH) $(ARCH)),i386) -@@ -383,6 +390,9 @@ +@@ -377,6 +384,9 @@ ifeq ($(findstring s390, $(TARGET_ARCH) $(ARCH)),s390) LIBOBJS+=s390-dis.o endif @@ -35,9 +35,9 @@ ifdef CONFIG_GDBSTUB OBJS+=gdbstub.o -@@ -531,6 +541,10 @@ +@@ -512,6 +522,10 @@ VL_OBJS+= an5206.o mcf5206.o ptimer.o mcf_uart.o mcf_intc.o mcf5208.o mcf_fec.o - VL_OBJS+= m68k-semi.o + VL_OBJS+= m68k-semi.o dummy_m68k.o endif +ifeq ($(TARGET_BASE_ARCH), z80) +VL_OBJS+= zx_spectrum.o zx_ula.o dma.o $(AUDIODRV) @@ -46,7 +46,7 @@ ifdef CONFIG_GDBSTUB VL_OBJS+=gdbstub.o endif -@@ -641,9 +655,15 @@ +@@ -608,9 +622,15 @@ helper.o: helper.c $(CC) $(HELPER_CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) -c -o $@ $< else @@ -62,7 +62,7 @@ cpu-exec.o: cpu-exec.c $(CC) $(HELPER_CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) -c -o $@ $< -@@ -667,6 +687,9 @@ +@@ -634,6 +654,9 @@ ifneq ($(PROGS),) $(INSTALL) -m 755 -s $(PROGS) "$(DESTDIR)$(bindir)" endif @@ -72,8 +72,8 @@ ifneq ($(wildcard .depend),) include .depend ---- qemu/configure -+++ qemu/configure +--- qemu-0.9.1/configure ++++ qemu-0.9.1/configure @@ -89,6 +89,7 @@ dsound="no" coreaudio="no" @@ -82,7 +82,7 @@ fmod="no" fmod_lib="" fmod_inc="" -@@ -264,6 +265,8 @@ +@@ -270,6 +271,8 @@ ;; --disable-vnc-tls) vnc_tls="no" ;; @@ -91,7 +91,7 @@ --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-" ; linux_user="no" ;; --disable-slirp) slirp="no" -@@ -387,6 +390,7 @@ +@@ -407,6 +410,7 @@ echo " --enable-fmod enable FMOD audio driver" echo " --enable-dsound enable DirectSound audio driver" echo " --disable-vnc-tls disable TLS encryption for VNC server" @@ -99,16 +99,7 @@ echo " --enable-system enable all system emulation targets" echo " --disable-system disable all system emulation targets" echo " --enable-linux-user enable all linux usermode emulation targets" -@@ -502,7 +506,7 @@ - if test -z "$target_list" ; then - # these targets are portable - if [ "$softmmu" = "yes" ] ; then -- target_list="i386-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu arm-softmmu ppc-softmmu ppcemb-softmmu ppc64-softmmu m68k-softmmu sh4-softmmu cris-softmmu" -+ target_list="i386-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu arm-softmmu ppc-softmmu ppcemb-softmmu ppc64-softmmu m68k-softmmu sh4-softmmu cris-softmmu z80-softmmu" - fi - # the following are Linux specific - if [ "$linux_user" = "yes" ] ; then -@@ -718,6 +722,7 @@ +@@ -739,6 +743,7 @@ if test -n "$sparc_cpu"; then echo "Target Sparc Arch $sparc_cpu" fi @@ -116,7 +107,7 @@ echo "kqemu support $kqemu" echo "Documentation $build_docs" [ ! -z "$uname_release" ] && \ -@@ -896,6 +901,10 @@ +@@ -917,6 +922,10 @@ echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak echo "#define CONFIG_VNC_TLS 1" >> $config_h fi @@ -127,7 +118,7 @@ qemu_version=`head $source_path/VERSION` echo "VERSION=$qemu_version" >>$config_mak echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h -@@ -1109,6 +1118,11 @@ +@@ -1146,6 +1155,11 @@ echo "TARGET_ARCH=alpha" >> $config_mak echo "#define TARGET_ARCH \"alpha\"" >> $config_h echo "#define TARGET_ALPHA 1" >> $config_h @@ -139,9 +130,9 @@ else echo "Unsupported target CPU" exit 1 ---- qemu/cpu-exec.c -+++ qemu/cpu-exec.c -@@ -214,6 +214,10 @@ +--- qemu-0.9.1/cpu-exec.c ++++ qemu-0.9.1/cpu-exec.c +@@ -261,6 +261,10 @@ flags = 0; cs_base = 0; pc = env->pc; @@ -152,7 +143,7 @@ #else #error unsupported CPU #endif -@@ -290,6 +294,15 @@ +@@ -331,6 +335,15 @@ #elif defined(TARGET_SH4) #elif defined(TARGET_CRIS) /* XXXXX */ @@ -168,9 +159,9 @@ #else #error unsupported target CPU #endif -@@ -541,6 +554,13 @@ - env->exception_index = env->pending_vector; +@@ -573,6 +586,13 @@ do_interrupt(1); + BREAK_CHAIN; } +#elif defined(TARGET_Z80) + if (interrupt_request & CPU_INTERRUPT_HARD) { @@ -182,7 +173,7 @@ #endif /* Don't use the cached interupt_request value, do_interrupt may have updated the EXITTB flag. */ -@@ -590,6 +610,8 @@ +@@ -618,6 +638,8 @@ cpu_dump_state(env, logfile, fprintf, 0); #elif defined(TARGET_CRIS) cpu_dump_state(env, logfile, fprintf, 0); @@ -191,7 +182,7 @@ #else #error unsupported target CPU #endif -@@ -785,6 +807,9 @@ +@@ -722,6 +744,9 @@ #elif defined(TARGET_ALPHA) #elif defined(TARGET_CRIS) /* XXXXX */ @@ -201,9 +192,9 @@ #else #error unsupported target CPU #endif ---- qemu/dis-asm.h -+++ qemu/dis-asm.h -@@ -387,6 +387,7 @@ +--- qemu-0.9.1/dis-asm.h ++++ qemu-0.9.1/dis-asm.h +@@ -395,6 +395,7 @@ extern int print_insn_alpha PARAMS ((bfd_vma, disassemble_info*)); extern int print_insn_s390 PARAMS ((bfd_vma, disassemble_info*)); extern int print_insn_crisv32 PARAMS ((bfd_vma, disassemble_info*)); @@ -211,8 +202,8 @@ #if 0 /* Fetch the disassembler for a given BFD, if that support is available. */ ---- qemu/disas.c -+++ qemu/disas.c +--- qemu-0.9.1/disas.c ++++ qemu-0.9.1/disas.c @@ -208,6 +208,8 @@ #elif defined(TARGET_CRIS) disasm_info.mach = bfd_mach_cris_v32; @@ -222,9 +213,9 @@ #else fprintf(out, "0x" TARGET_FMT_lx ": Asm output not supported on this arch\n", code); ---- qemu/exec-all.h -+++ qemu/exec-all.h -@@ -82,7 +82,7 @@ +--- qemu-0.9.1/exec-all.h ++++ qemu-0.9.1/exec-all.h +@@ -52,7 +52,7 @@ typedef void (GenOpFunc2)(long, long); typedef void (GenOpFunc3)(long, long, long); @@ -233,9 +224,9 @@ void optimize_flags_init(void); ---- qemu/exec.c -+++ qemu/exec.c -@@ -709,6 +709,9 @@ +--- qemu-0.9.1/exec.c ++++ qemu-0.9.1/exec.c +@@ -731,6 +731,9 @@ current_flags |= (env->eflags & (IOPL_MASK | TF_MASK | VM_MASK)); current_cs_base = (target_ulong)env->segs[R_CS].base; current_pc = current_cs_base + env->eip; @@ -245,9 +236,9 @@ #else #error unsupported CPU #endif ---- qemu/gdbstub.c -+++ qemu/gdbstub.c -@@ -853,6 +853,34 @@ +--- qemu-0.9.1/gdbstub.c ++++ qemu-0.9.1/gdbstub.c +@@ -856,6 +856,34 @@ for (i = 0; i < 16; i++) LOAD(env->regs[i]); LOAD (env->pc); } @@ -282,9 +273,21 @@ #else static int cpu_gdb_read_registers(CPUState *env, uint8_t *mem_buf) { ---- qemu/hw/zx_spectrum.c -+++ qemu/hw/zx_spectrum.c -@@ -0,0 +1,303 @@ +--- qemu-0.9.1/hw/boards.h ++++ qemu-0.9.1/hw/boards.h +@@ -26,6 +26,9 @@ + extern QEMUMachine pc_machine; + extern QEMUMachine isapc_machine; + ++/* z80.c */ ++extern QEMUMachine z80pc_machine; ++ + /* ppc.c */ + extern QEMUMachine prep_machine; + extern QEMUMachine core99_machine; +--- qemu-0.9.1/hw/zx_spectrum.c ++++ qemu-0.9.1/hw/zx_spectrum.c +@@ -0,0 +1,308 @@ +/* + * QEMU ZX Spectrum Emulator + * @@ -309,7 +312,12 @@ + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ -+#include "vl.h" ++#include "hw.h" ++#include "console.h" ++#include "sysemu.h" ++#include "qemu-timer.h" ++#include "zx_ula.h" ++#include "boards.h" +#ifdef CONFIG_LIBSPECTRUM +#include +#endif @@ -467,7 +475,7 @@ + CPUState *env; + + /* init CPUs */ -+ env = cpu_init(); ++ env = cpu_init("z80"); + zx_env = env; // XXX + register_savevm("cpu", 0, 4, cpu_save, cpu_load, env); + qemu_register_reset(main_cpu_reset, env); @@ -588,9 +596,9 @@ + "Z80 Machine", + zx_spectrum_init, +}; ---- qemu/hw/zx_ula.c -+++ qemu/hw/zx_ula.c -@@ -0,0 +1,355 @@ +--- qemu-0.9.1/hw/zx_ula.c ++++ qemu-0.9.1/hw/zx_ula.c +@@ -0,0 +1,357 @@ +/* + * QEMU ZX Spectrum Video Emulation. + * @@ -616,7 +624,9 @@ + * THE SOFTWARE. + */ + -+#include "vl.h" ++#include "hw.h" ++#include "console.h" ++#include "zx_ula.h" + +typedef struct { + DisplayState *ds; @@ -946,8 +956,15 @@ + /* ZX Spectrum ULA */ + register_ioport_write(0, 0x10000, 1, io_spectrum_write, s); +} ---- qemu/target-z80/cpu.h -+++ qemu/target-z80/cpu.h +--- qemu-0.9.1/hw/zx_ula.h ++++ qemu-0.9.1/hw/zx_ula.h +@@ -0,0 +1,4 @@ ++/* zx_ula.c */ ++void zx_ula_init(DisplayState *ds, uint8_t *zx_screen_base, ++ unsigned long zx_ram_offset); ++void zx_set_flash_dirty(void); +--- qemu-0.9.1/target-z80/cpu.h ++++ qemu-0.9.1/target-z80/cpu.h @@ -0,0 +1,252 @@ +/* + * Z80 virtual CPU header @@ -1152,7 +1169,7 @@ + struct APICState *apic_state; +} CPUZ80State; + -+CPUZ80State *cpu_z80_init(void); ++CPUZ80State *cpu_z80_init(const char* cpu_model); +int cpu_z80_exec(CPUZ80State *s); +void cpu_z80_close(CPUZ80State *s); +int cpu_get_pic_interrupt(CPUZ80State *s); @@ -1201,8 +1218,8 @@ +#include "cpu-all.h" + +#endif /* CPU_Z80_H */ ---- qemu/target-z80/exec.h -+++ qemu/target-z80/exec.h +--- qemu-0.9.1/target-z80/exec.h ++++ qemu-0.9.1/target-z80/exec.h @@ -0,0 +1,372 @@ +/* + * Z80 execution defines @@ -1576,8 +1593,8 @@ + } + return EXCP_HALTED; +} ---- qemu/target-z80/helper.c -+++ qemu/target-z80/helper.c +--- qemu-0.9.1/target-z80/helper.c ++++ qemu-0.9.1/target-z80/helper.c @@ -0,0 +1,281 @@ +/* + * Z80 helpers @@ -1860,8 +1877,8 @@ + fl & 0x01 ? 'C' : '-', + env->imode, env->iff1, env->iff2, env->regs[R_I], env->regs[R_R]); +} ---- qemu/target-z80/helper2.c -+++ qemu/target-z80/helper2.c +--- qemu-0.9.1/target-z80/helper2.c ++++ qemu-0.9.1/target-z80/helper2.c @@ -0,0 +1,170 @@ +/* + * Z80 helpers (without register variable usage) @@ -1896,7 +1913,7 @@ + +//#define DEBUG_MMU + -+CPUZ80State *cpu_z80_init(void) ++CPUZ80State *cpu_z80_init(const char* cpu_model) +{ + CPUZ80State *env; + static int inited; @@ -2033,8 +2050,8 @@ + paddr = (pte & TARGET_PAGE_MASK) + page_offset; + return paddr; +} ---- qemu/target-z80/op.c -+++ qemu/target-z80/op.c +--- qemu-0.9.1/target-z80/op.c ++++ qemu-0.9.1/target-z80/op.c @@ -0,0 +1,1175 @@ +/* + * Z80 micro operations @@ -3211,8 +3228,8 @@ +{ + cpu_unlock(); +} ---- qemu/target-z80/opreg_template.h -+++ qemu/target-z80/opreg_template.h +--- qemu-0.9.1/target-z80/opreg_template.h ++++ qemu-0.9.1/target-z80/opreg_template.h @@ -0,0 +1,74 @@ +/* + * Z80 micro operations (templates for various register related @@ -3288,8 +3305,8 @@ +{ + REG = (uint16_t)T1; +} ---- qemu/target-z80/opreg_template2.h -+++ qemu/target-z80/opreg_template2.h +--- qemu-0.9.1/target-z80/opreg_template2.h ++++ qemu-0.9.1/target-z80/opreg_template2.h @@ -0,0 +1,63 @@ +/* + * Z80 micro operations (templates for various register related @@ -3354,8 +3371,8 @@ + REGHIGH = (uint16_t)(T1 >> 8); + REGLOW = (uint16_t)T1; +} ---- qemu/target-z80/ops_mem.h -+++ qemu/target-z80/ops_mem.h +--- qemu-0.9.1/target-z80/ops_mem.h ++++ qemu-0.9.1/target-z80/ops_mem.h @@ -0,0 +1,59 @@ +void OPPROTO glue(glue(op_ldub, MEMSUFFIX), _T0_A0)(void) +{ @@ -3416,8 +3433,8 @@ +} + +#undef MEMSUFFIX ---- qemu/target-z80/translate.c -+++ qemu/target-z80/translate.c +--- qemu-0.9.1/target-z80/translate.c ++++ qemu-0.9.1/target-z80/translate.c @@ -0,0 +1,1600 @@ +/* + * Z80 translation @@ -5019,9 +5036,9 @@ + return gen_intermediate_code_internal(env, tb, 1); +} + ---- qemu/vl.c -+++ qemu/vl.c -@@ -6253,6 +6253,19 @@ +--- qemu-0.9.1/vl.c ++++ qemu-0.9.1/vl.c +@@ -6750,6 +6750,19 @@ return 0; } @@ -5040,9 +5057,9 @@ + #else - #warning No CPU save/restore functions -@@ -7420,6 +7433,8 @@ - qemu_register_machine(&an5206_machine); + //#warning No CPU save/restore functions +@@ -7924,6 +7937,8 @@ + qemu_register_machine(&dummy_m68k_machine); #elif defined(TARGET_CRIS) qemu_register_machine(&bareetraxfs_machine); +#elif defined(TARGET_Z80) @@ -5050,32 +5067,8 @@ #else #error unsupported CPU #endif ---- qemu/vl.h -+++ qemu/vl.h -@@ -967,6 +967,11 @@ - void pci_vmsvga_init(PCIBus *bus, DisplayState *ds, uint8_t *vga_ram_base, - unsigned long vga_ram_offset, int vga_ram_size); - -+/* zx_ula.c */ -+void zx_ula_init(DisplayState *ds, uint8_t *zx_screen_base, -+ unsigned long zx_ram_offset); -+void zx_set_flash_dirty(void); -+ - /* sdl.c */ - void sdl_display_init(DisplayState *ds, int full_screen, int no_frame); - -@@ -1175,6 +1180,9 @@ - extern QEMUMachine isapc_machine; - extern int fd_bootchk; - -+/* z80.c??? */ -+extern QEMUMachine z80pc_machine; -+ - void ioport_set_a20(int enable); - int ioport_get_a20(void); - ---- qemu/z80-dis.c -+++ qemu/z80-dis.c +--- qemu-0.9.1/z80-dis.c ++++ qemu-0.9.1/z80-dis.c @@ -0,0 +1,621 @@ +/* Print Z80 and R800 instructions + Copyright 2005 Free Software Foundation, Inc. diff --git a/qemu.changes b/qemu.changes index a4416f87..ca683a53 100644 --- a/qemu.changes +++ b/qemu.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Thu Jan 17 15:19:54 CET 2008 - uli@suse.de + +- update -> 0.9.1 + - TFTP booting from host directory (Anthony Liguori, Erwan Velu) + - Tap device emulation for Solaris (Sittichai Palanisong) + - Monitor multiplexing to several I/O channels (Jason Wessel) + - ds1225y nvram support (Herve Poussineau) + - CPU model selection support (J. Mayer, Paul Brook, Herve Poussineau) + - Several Sparc fixes (Aurelien Jarno, Blue Swirl, Robert Reif) + - MIPS 64-bit FPU support (Thiemo Seufer) + - Xscale PDA emulation (Andrzej Zaborowski) + - ColdFire system emulation (Paul Brook) + - Improved SH4 support (Magnus Damm) + - MIPS64 support (Aurelien Jarno, Thiemo Seufer) + - Preliminary Alpha guest support (J. Mayer) + - Gumstix boards: connex and verdex emulation (Thorsten Zitterell) + - Intel mainstone II board emulation (Armin Kuster) + - VMware SVGA II graphics card support (Andrzej Zaborowski) +- revert s390-dis.c to last GPLv2 version +- reenabled qemu-system-ppcemb + ------------------------------------------------------------------- Mon Dec 10 14:29:42 CET 2007 - uli@suse.de diff --git a/qemu.spec b/qemu.spec index f05a9972..abca03c9 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1,7 +1,7 @@ # -# spec file for package qemu (Version 0.9.0.cvs) +# spec file for package qemu (Version 0.9.1) # -# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -16,8 +16,8 @@ Url: http://fabrice.bellard.free.fr/qemu/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Group: System/Emulators/PC Summary: Universal CPU emulator -Version: 0.9.0.cvs -Release: 57 +Version: 0.9.1 +Release: 1 Source: %name-%version.tar.bz2 #Patch400: qemu-0.7.0-gcc4-dot-syms.patch #Patch401: qemu-0.8.0-gcc4-hacks.patch @@ -57,6 +57,7 @@ Patch70: qemu-m68k.diff Patch71: qemu-s390.patch Patch82: qemu-cvs-svm2.patch Patch83: qemu-cvs-ppcspe.patch +Patch84: qemu-s390dis-license.patch Source200: kvm_bios.bin Source201: zx-rom.bin Source202: COPYING.zx-rom @@ -118,7 +119,7 @@ Authors: Fabrice Bellard %prep -%setup -n qemu -q -a601 +%setup -q -a601 #%patch400 -p1 #%patch401 -p1 #%patch402 -p1 @@ -159,6 +160,7 @@ Authors: %patch68 -p1 %endif %patch83 +%patch84 %if 1 cd gcc-3.3.5 %patch600 @@ -266,7 +268,6 @@ make clean --static --disable-gcc-check \ --extra-cflags="$QEMU_OPT_FLAGS" make %{?jobs:-j%{jobs}} -mv ppc64abi32-linux-user/qemu-ppc64 ppc64abi32-linux-user/qemu-ppc64abi32 make qemu-img %install @@ -312,9 +313,28 @@ rm -rf %{gcc33tmp} %endif %changelog -* Mon Dec 10 2007 - uli@suse.de +* Thu Jan 17 2008 uli@suse.de +- update -> 0.9.1 + - TFTP booting from host directory (Anthony Liguori, Erwan Velu) + - Tap device emulation for Solaris (Sittichai Palanisong) + - Monitor multiplexing to several I/O channels (Jason Wessel) + - ds1225y nvram support (Herve Poussineau) + - CPU model selection support (J. Mayer, Paul Brook, Herve Poussineau) + - Several Sparc fixes (Aurelien Jarno, Blue Swirl, Robert Reif) + - MIPS 64-bit FPU support (Thiemo Seufer) + - Xscale PDA emulation (Andrzej Zaborowski) + - ColdFire system emulation (Paul Brook) + - Improved SH4 support (Magnus Damm) + - MIPS64 support (Aurelien Jarno, Thiemo Seufer) + - Preliminary Alpha guest support (J. Mayer) + - Gumstix boards: connex and verdex emulation (Thorsten Zitterell) + - Intel mainstone II board emulation (Armin Kuster) + - VMware SVGA II graphics card support (Andrzej Zaborowski) +- revert s390-dis.c to last GPLv2 version +- reenabled qemu-system-ppcemb +* Mon Dec 10 2007 uli@suse.de - fixed open() usage with O_CREAT -* Tue Nov 13 2007 - uli@suse.de +* Tue Nov 13 2007 uli@suse.de - update -> current CVS: - Read-only support for Parallels disk images (Alex Beregszaszi) - CRIS emulation (Edgar E. Iglesias) @@ -323,30 +343,30 @@ rm -rf %{gcc33tmp} - Strace for Linux userland emulation (Stuart Anderson, Thayne Harbaugh) - OMAP310 MPU emulation plus Palm T|E machine (Andrzej Zaborowski) - ARM v6, v7, NEON SIMD and SMP emulation (Paul Brook/CodeSourcery) -* Fri Oct 12 2007 - ro@suse.de +* Fri Oct 12 2007 ro@suse.de - hack to fix build: undef DEBUG_BLOCK for now -* Fri Sep 28 2007 - agraf@suse.de +* Fri Sep 28 2007 agraf@suse.de - fix SVM support (Alexander Graf) -* Thu Sep 13 2007 - agraf@suse.de +* Thu Sep 13 2007 agraf@suse.de - add SVM emulation support (Alexander Graf) - fix a misassumption in the s390 fix (uli) - allow more IDE power management (Ben Guthro) - log any I/O error and perform automatic read retry for CDrom (Ben Guthro) - fix Coherent guest support (Jan Jezabek) - fix several Darwin guest issues (Filip Navara) -* Mon Aug 20 2007 - agraf@suse.de +* Mon Aug 20 2007 agraf@suse.de - fix ATAPI bug when using libata (Brandon Philips) (#291775) -* Sat Aug 11 2007 - olh@suse.de +* Sat Aug 11 2007 olh@suse.de - disable only SNDRV_SB_CSP_IOCTL_LOAD_CODE for _IOC_SIZEBITS < 14 -* Thu Aug 09 2007 - olh@suse.de +* Thu Aug 09 2007 olh@suse.de - disable some alsa SB ioctl declarations -* Mon Aug 06 2007 - olh@suse.de +* Mon Aug 06 2007 olh@suse.de - remove inclusion of linux/compiler.h -* Mon Jul 30 2007 - uli@suse.de +* Mon Jul 30 2007 uli@suse.de - fixed for S/390 -* Tue Jul 10 2007 - schwab@suse.de +* Tue Jul 10 2007 schwab@suse.de - Add (incomplete) m68k emulation. -* Mon Jul 09 2007 - agraf@suse.de +* Mon Jul 09 2007 agraf@suse.de - included alsa support in qemu-user - update to current cvs - TFTP booting from host directory (Anthony Liguori, Erwan Velu) @@ -362,14 +382,14 @@ rm -rf %{gcc33tmp} - MIPS64 support (Aurelien Jarno, Thiemo Seufer) - Preliminary Alpha guest support (J. Mayer) - IPC fixes -* Wed Jun 20 2007 - agraf@suse.de +* Wed Jun 20 2007 agraf@suse.de - applied proper fix for x86_64 and the MAP_32BIT flag -* Wed Jun 20 2007 - uli@suse.de +* Wed Jun 20 2007 uli@suse.de - added secfixes (bug #252519) -* Thu Jun 14 2007 - agraf@suse.de +* Thu Jun 14 2007 agraf@suse.de - made wine work (set FS register to 0 on init) - suppressed robust_list warnings -* Wed Jun 13 2007 - agraf@suse.de +* Wed Jun 13 2007 agraf@suse.de - made flash player 9 work on ppc - fixed FUTEX_WAKE_OP on machines where endianness differs - made mmap on x86_64 use the MAP_32BIT flag @@ -377,7 +397,7 @@ rm -rf %{gcc33tmp} - removed an annoying debug message for forking - implemented sched_getaffinity syscall - fixed configure call so it takes gcc3 again -* Wed Jun 13 2007 - uli@suse.de +* Wed Jun 13 2007 uli@suse.de - support "vga=" parameter (Pascal Terjan) - direct jump support for x86-64 (Gwenole Beauchesne) - fix chaining of CPU instances (Gwenole Beauchesne) @@ -386,7 +406,7 @@ rm -rf %{gcc33tmp} - KVM support - Z80/ZX Spectrum emulation (Stuart Brady) - GCC4 support postponed (breaks x86-64 on i386) -* Mon Jun 11 2007 - agraf@suse.de +* Mon Jun 11 2007 agraf@suse.de - implemented TLS support on i386 so qemu-user can be used to run with current libc versions (partly done by David Woodhouse, fixed by Alexander Graf) @@ -395,11 +415,11 @@ rm -rf %{gcc33tmp} - disable AF_NETLINK in qemu-user (endianness problems) - applied fast path mangling patch from Kirill A. Shutemov - applied strace patch for debugging (by Stuart R. Anderson) -* Wed Apr 04 2007 - agraf@suse.de +* Wed Apr 04 2007 agraf@suse.de - fixed initrd loading on x86 -* Thu Mar 29 2007 - ro@suse.de +* Thu Mar 29 2007 ro@suse.de - added bison to BuildRequires -* Tue Feb 20 2007 - uli@suse.de +* Tue Feb 20 2007 uli@suse.de - added better fix by Robert Schiele (bug #241950) - update -> 0.9.0 - Support for relative paths in backing files for disk images @@ -417,18 +437,18 @@ rm -rf %{gcc33tmp} - Mouse relative offset VNC extension (Anthony Liguori) - PXE boot support (Anthony Liguori) - '-daemonize' option (Anthony Liguori) -* Tue Feb 06 2007 - uli@suse.de +* Tue Feb 06 2007 uli@suse.de - added fix by Robert Schiele to work without usbdevfs (bug #241950) -* Fri Feb 02 2007 - ro@suse.de +* Fri Feb 02 2007 ro@suse.de - remove -fstack-protector from CFLAGS -* Fri Oct 27 2006 - schwab@suse.de +* Fri Oct 27 2006 schwab@suse.de - Fix char signedness. -* Mon Sep 11 2006 - uli@suse.de +* Mon Sep 11 2006 uli@suse.de - re-added ARM FPE patch - fixed SPARC on PPC - install missing openbios-sparc32 -* Sat Sep 09 2006 - dmueller@suse.de +* Sat Sep 09 2006 dmueller@suse.de - update to 0.8.2: - ACPI support - PC VGA BIOS fixes @@ -443,39 +463,39 @@ rm -rf %{gcc33tmp} - Workaround for win32 SMP hosts - Support for AMD Flash memories (Jocelyn Mayer) - Audio capture to WAV files support (malc) -* Tue May 30 2006 - uli@suse.de +* Tue May 30 2006 uli@suse.de - fixed to build on PPC with new glibc -* Mon May 29 2006 - uli@suse.de +* Mon May 29 2006 uli@suse.de - fixed to build with new kernel headers -* Wed Mar 08 2006 - uli@suse.de +* Wed Mar 08 2006 uli@suse.de - split giant patch - added NWFPE glue code fix -* Tue Mar 07 2006 - schwab@suse.de +* Tue Mar 07 2006 schwab@suse.de - More fixes for ia64 port. -* Mon Mar 06 2006 - schwab@suse.de +* Mon Mar 06 2006 schwab@suse.de - Remove obsolete hunk from ia64 patch. -* Wed Jan 25 2006 - mls@suse.de +* Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires -* Tue Dec 20 2005 - uli@suse.de +* Tue Dec 20 2005 uli@suse.de - update -> 0.8.0 -* Thu Dec 08 2005 - uli@suse.de +* Thu Dec 08 2005 uli@suse.de - update to current CVS (MIPS userspace, ARM system, SMP, USB, NX, VLAN, serial, parallel, ES1370, ALSA backend) - build i386 and AMD64 emus with kqemu support if possible - install missing PPC video driver, SPARC boot ROM - install missing keymaps -* Mon Nov 07 2005 - uli@suse.de +* Mon Nov 07 2005 uli@suse.de - updated linker scripts for new binutils release -* Sat Sep 17 2005 - dmueller@suse.de +* Sat Sep 17 2005 dmueller@suse.de - update to 0.7.2 -* Mon Aug 15 2005 - schwab@suse.de +* Mon Aug 15 2005 schwab@suse.de - Don't package /emul/ia32-linux on ia64. -* Mon Aug 15 2005 - schwab@suse.de +* Mon Aug 15 2005 schwab@suse.de - Fix compilation on ia64. -* Mon Aug 01 2005 - uli@suse.de +* Mon Aug 01 2005 uli@suse.de - update -> 0.7.1 - enabled x86_64-system -* Mon Jul 11 2005 - uli@suse.de +* Mon Jul 11 2005 uli@suse.de - update -> CVS (MIPS emulation) - build with throwaway GCC3 (still no GCC4-compatible QEMU in sight) @@ -486,36 +506,36 @@ rm -rf %{gcc33tmp} - disabled qemu-fast (broken and deprecated) - disabled i386-user on x86_64 (useless) - build with %%jobs -* Wed Jun 01 2005 - ro@suse.de +* Wed Jun 01 2005 ro@suse.de - update to 0.7.0, still no success with gcc-4 -* Thu Jan 27 2005 - uli@suse.de +* Thu Jan 27 2005 uli@suse.de - baselibs-x86 link is unnecessary on x86/AMD64 - two ARM emulation fixes (RRX operand fix by Paul Brook, shifter carry fix by me) - SDL 1.2.8 can be linked statically -> enabled qemu-fast -* Mon Nov 29 2004 - uli@suse.de +* Mon Nov 29 2004 uli@suse.de - update -> 0.6.1 - build softmmu binaries on s390 (still doesn't work though) - pack /emul/ia32-linux directory and symlink from /usr/share/qemu so it's possible to use the IA64 baselibs-x86 packages -* Wed Sep 15 2004 - uli@suse.de +* Wed Sep 15 2004 uli@suse.de - removed unnecessary dependency on private glibc symbol (bug #44864) -* Fri Aug 06 2004 - uli@suse.de +* Fri Aug 06 2004 uli@suse.de - update -> 0.6.0 (fixes for several OSs, improvements in emulated hardware (IDE, PCI, network, VGA, APM, PowerMac), minor fixes, tool for conversion of VMware images) -* Tue May 11 2004 - uli@suse.de +* Tue May 11 2004 uli@suse.de - update -> 0.5.5 (contains ARM, utime() fixes and several others) - make uname() return target machine name (fixes config.guess, rpm etc.) - fake sigaltstack() (fixes m4) - enabled x86-64 -* Wed May 05 2004 - uli@suse.de +* Wed May 05 2004 uli@suse.de - fixed ARM emulation bug -* Wed Apr 28 2004 - uli@suse.de +* Wed Apr 28 2004 uli@suse.de - build with -fno-unit-at-a-time (fixes PPC system emulator) -* Wed Apr 28 2004 - uli@suse.de +* Wed Apr 28 2004 uli@suse.de - update -> 0.5.4 (runs Linux/PPC, several fixes) -* Mon Apr 19 2004 - uli@suse.de +* Mon Apr 19 2004 uli@suse.de - initial package