OBS User unknown 2008-01-17 23:38:52 +00:00 committed by Git OBS Bridge
parent 1979661d8d
commit 314bd315be
13 changed files with 318 additions and 351 deletions

View File

@ -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) {

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8892fead8e0caa1af63419e3376a784e56040e15d82e967e139f54c13ae22b49
size 2330234

3
qemu-0.9.1.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a68d110ac86247b385b677d02fff2315ba42418469ead2d4f7e8bb48cfa928ba
size 2370923

View File

@ -19,7 +19,7 @@ Index: qemu.bkp/linux-user/syscall.c
#include <linux/termios.h>
#include <linux/unistd.h>
#include <linux/utsname.h>
@@ -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_<errcode>. */
@@ -5116,6 +5204,11 @@
@@ -5116,6 +5205,11 @@
}
#endif

View File

@ -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);

View File

@ -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 */

View File

@ -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

View File

@ -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;

View File

@ -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:

View File

@ -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 <stdio.h>
#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 <stdio.h>
#include "ansidecl.h"

View File

@ -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 <libspectrum.h>
+#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.

View File

@ -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

132
qemu.spec
View File

@ -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 <fabrice.bellard@free.fr>
%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