This commit is contained in:
parent
9cce5131ca
commit
c8c1238726
@ -1,6 +1,6 @@
|
|||||||
--- linux-user/main.c
|
--- linux-user/main.c
|
||||||
+++ linux-user/main.c
|
+++ linux-user/main.c
|
||||||
@@ -339,18 +339,54 @@
|
@@ -377,19 +377,55 @@
|
||||||
{
|
{
|
||||||
TaskState *ts = env->opaque;
|
TaskState *ts = env->opaque;
|
||||||
uint32_t opcode;
|
uint32_t opcode;
|
||||||
@ -8,7 +8,8 @@
|
|||||||
|
|
||||||
/* we handle the FPU emulation here, as Linux */
|
/* we handle the FPU emulation here, as Linux */
|
||||||
/* we get the opcode */
|
/* 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 (EmulateAll(opcode, &ts->fpa, env) == 0) {
|
||||||
+ if ((rc=EmulateAll(opcode, &ts->fpa, env)) == 0) {
|
+ if ((rc=EmulateAll(opcode, &ts->fpa, env)) == 0) {
|
||||||
|
@ -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
3
qemu-0.9.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a68d110ac86247b385b677d02fff2315ba42418469ead2d4f7e8bb48cfa928ba
|
||||||
|
size 2370923
|
@ -19,7 +19,7 @@ Index: qemu.bkp/linux-user/syscall.c
|
|||||||
#include <linux/termios.h>
|
#include <linux/termios.h>
|
||||||
#include <linux/unistd.h>
|
#include <linux/unistd.h>
|
||||||
#include <linux/utsname.h>
|
#include <linux/utsname.h>
|
||||||
@@ -2715,6 +2718,91 @@
|
@@ -2715,6 +2718,92 @@
|
||||||
unlock_user_struct(target_ts, target_addr, 1);
|
unlock_user_struct(target_ts, target_addr, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ Index: qemu.bkp/linux-user/syscall.c
|
|||||||
+ break;
|
+ break;
|
||||||
+ default:
|
+ default:
|
||||||
+ gemu_log("qemu: Unsupported futex op %d\n", op);
|
+ gemu_log("qemu: Unsupported futex op %d\n", op);
|
||||||
+ return -ENOSYS;
|
+ return -TARGET_ENOSYS;
|
||||||
+ }
|
+ }
|
||||||
+ if (op == FUTEX_WAKE_OP) {
|
+ if (op == FUTEX_WAKE_OP) {
|
||||||
+ /* Need to munge the secondary operation (val3) */
|
+ /* Need to munge the secondary operation (val3) */
|
||||||
@ -90,11 +90,12 @@ Index: qemu.bkp/linux-user/syscall.c
|
|||||||
+ int oparg = (val3 >> 12) & 0xfff;
|
+ int oparg = (val3 >> 12) & 0xfff;
|
||||||
+ int cmparg = val3 & 0xfff;
|
+ int cmparg = val3 & 0xfff;
|
||||||
+ int shift = val3 & (FUTEX_OP_OPARG_SHIFT << 28);
|
+ 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)
|
+ if (shift)
|
||||||
+ oparg = 1 << oparg;
|
+ 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);
|
+ retval = syscall(__NR_futex, g2h(uaddr), FUTEX_WAKE, val, 0, 0, 0);
|
||||||
+ if(futex_cmp(oldval, cmp, cmparg)) {
|
+ if(futex_cmp(oldval, cmp, cmparg)) {
|
||||||
+ retval = syscall(__NR_futex, g2h(uaddr2), FUTEX_WAKE, val2, 0, 0, 0);
|
+ 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
|
/* do_syscall() should always have a single exit point at the end so
|
||||||
that actions, such as logging of syscall results, can be performed.
|
that actions, such as logging of syscall results, can be performed.
|
||||||
All errnos that do_syscall() returns must be -TARGET_<errcode>. */
|
All errnos that do_syscall() returns must be -TARGET_<errcode>. */
|
||||||
@@ -5116,6 +5204,11 @@
|
@@ -5116,6 +5205,11 @@
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2,11 +2,12 @@ Index: qemu/linux-user/syscall.c
|
|||||||
================================================================================
|
================================================================================
|
||||||
--- qemu/linux-user/syscall.c
|
--- 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:
|
case TARGET_NR_gettimeofday:
|
||||||
{
|
{
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
+ target_to_host_timeval(&tv, arg1);
|
+ if(copy_from_user_timeval(&tv, arg1))
|
||||||
|
+ goto efault;
|
||||||
ret = get_errno(gettimeofday(&tv, NULL));
|
ret = get_errno(gettimeofday(&tv, NULL));
|
||||||
if (!is_error(ret)) {
|
if (!is_error(ret)) {
|
||||||
host_to_target_timeval(arg1, &tv);
|
host_to_target_timeval(arg1, &tv);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: qemu/linux-user/mmap.c
|
Index: qemu/linux-user/mmap.c
|
||||||
================================================================================
|
================================================================================
|
||||||
--- qemu/linux-user/mmap.c
|
--- qemu-0.9.1/linux-user/mmap.c
|
||||||
+++ qemu/linux-user/mmap.c
|
+++ qemu-0.9.1/linux-user/mmap.c
|
||||||
@@ -27,6 +27,10 @@
|
@@ -27,6 +27,10 @@
|
||||||
|
|
||||||
#include "qemu.h"
|
#include "qemu.h"
|
||||||
@ -22,25 +22,7 @@ Index: qemu/linux-user/mmap.c
|
|||||||
if (p == MAP_FAILED)
|
if (p == MAP_FAILED)
|
||||||
return -1;
|
return -1;
|
||||||
prot1 = prot;
|
prot1 = prot;
|
||||||
@@ -251,7 +255,7 @@
|
@@ -422,7 +426,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 @@
|
|
||||||
unsigned long host_addr;
|
unsigned long host_addr;
|
||||||
|
|
||||||
/* XXX: use 5 args syscall */
|
/* XXX: use 5 args syscall */
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
Index: qemu-0.9.0/configure
|
Index: qemu-0.9.0/configure
|
||||||
================================================================================
|
================================================================================
|
||||||
--- qemu/configure
|
--- qemu-0.9.1/configure
|
||||||
+++ qemu/configure
|
+++ qemu-0.9.1/configure
|
||||||
@@ -506,7 +506,7 @@
|
@@ -526,7 +526,7 @@
|
||||||
if test -z "$target_list" ; then
|
if test -z "$target_list" ; then
|
||||||
# these targets are portable
|
# these targets are portable
|
||||||
if [ "$softmmu" = "yes" ] ; then
|
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 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 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 z80-softmmu"
|
||||||
fi
|
fi
|
||||||
# the following are Linux specific
|
# the following are Linux specific
|
||||||
if [ "$linux_user" = "yes" ] ; then
|
if [ "$linux_user" = "yes" ] ; then
|
||||||
|
@ -1,18 +1,7 @@
|
|||||||
Index: qemu.bkp/linux-user/main.c
|
Index: qemu.bkp/linux-user/main.c
|
||||||
================================================================================
|
================================================================================
|
||||||
--- qemu/linux-user/main.c
|
--- qemu-0.9.1/linux-user/syscall.c
|
||||||
+++ qemu/linux-user/main.c
|
+++ qemu-0.9.1/linux-user/syscall.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
|
|
||||||
@@ -159,6 +159,7 @@
|
@@ -159,6 +159,7 @@
|
||||||
#define __NR_sys_tkill __NR_tkill
|
#define __NR_sys_tkill __NR_tkill
|
||||||
#define __NR_sys_unlinkat __NR_unlinkat
|
#define __NR_sys_unlinkat __NR_unlinkat
|
||||||
@ -31,88 +20,7 @@ Index: qemu.bkp/linux-user/main.c
|
|||||||
#ifdef __NR_exit_group
|
#ifdef __NR_exit_group
|
||||||
_syscall1(int,exit_group,int,error_code)
|
_syscall1(int,exit_group,int,error_code)
|
||||||
#endif
|
#endif
|
||||||
@@ -2249,6 +2253,80 @@
|
@@ -2705,15 +2783,20 @@
|
||||||
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 @@
|
|
||||||
|
|
||||||
/* do_fork() Must return host values and target errnos (unlike most
|
/* do_fork() Must return host values and target errnos (unlike most
|
||||||
do_*() functions). */
|
do_*() functions). */
|
||||||
@ -134,7 +42,7 @@ Index: qemu.bkp/linux-user/main.c
|
|||||||
memset(ts, 0, sizeof(TaskState));
|
memset(ts, 0, sizeof(TaskState));
|
||||||
new_stack = ts->stack;
|
new_stack = ts->stack;
|
||||||
ts->used = 1;
|
ts->used = 1;
|
||||||
@@ -2285,6 +2368,27 @@
|
@@ -2725,6 +2808,27 @@
|
||||||
#if defined(TARGET_I386)
|
#if defined(TARGET_I386)
|
||||||
if (!newsp)
|
if (!newsp)
|
||||||
newsp = env->regs[R_ESP];
|
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_ESP] = newsp;
|
||||||
new_env->regs[R_EAX] = 0;
|
new_env->regs[R_EAX] = 0;
|
||||||
#elif defined(TARGET_ARM)
|
#elif defined(TARGET_ARM)
|
||||||
@@ -2342,15 +2446,27 @@
|
@@ -2782,15 +2886,27 @@
|
||||||
#endif
|
#endif
|
||||||
new_env->opaque = ts;
|
new_env->opaque = ts;
|
||||||
#ifdef __ia64__
|
#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.
|
+ /* Store child thread ID at location parent_tidptr in parent and child memory.
|
||||||
+ Currently this is only done in client memory */
|
+ Currently this is only done in client memory */
|
||||||
+ if(flags & CLONE_PARENT_SETTID) {
|
+ 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. */
|
+ /* Store child thread ID at location child_tidptr in child memory. */
|
||||||
+ if(flags & CLONE_CHILD_SETTID) {
|
+ if(flags & CLONE_CHILD_SETTID) {
|
||||||
+ if(ret==0) { /* only in client memory for fork() */
|
+ 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 */
|
+ } else if(flags & CLONE_VM) { /* real threads need it too */
|
||||||
+ tput32(child_tidptr, ret);
|
+ put_user_u32(child_tidptr, ret);
|
||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -2623,7 +2739,7 @@
|
@@ -3073,7 +3189,7 @@
|
||||||
_mcleanup();
|
_mcleanup();
|
||||||
#endif
|
#endif
|
||||||
gdb_exit(cpu_env, arg1);
|
gdb_exit(cpu_env, arg1);
|
||||||
@ -204,7 +112,7 @@ Index: qemu.bkp/linux-user/main.c
|
|||||||
_exit(arg1);
|
_exit(arg1);
|
||||||
ret = 0; /* avoid warning */
|
ret = 0; /* avoid warning */
|
||||||
break;
|
break;
|
||||||
@@ -2671,7 +2787,7 @@
|
@@ -3115,7 +3231,7 @@
|
||||||
ret = do_brk(arg1);
|
ret = do_brk(arg1);
|
||||||
break;
|
break;
|
||||||
case TARGET_NR_fork:
|
case TARGET_NR_fork:
|
||||||
@ -213,7 +121,7 @@ Index: qemu.bkp/linux-user/main.c
|
|||||||
break;
|
break;
|
||||||
#ifdef TARGET_NR_waitpid
|
#ifdef TARGET_NR_waitpid
|
||||||
case TARGET_NR_waitpid:
|
case TARGET_NR_waitpid:
|
||||||
@@ -4020,7 +4136,7 @@
|
@@ -4477,7 +4593,7 @@
|
||||||
ret = get_errno(fsync(arg1));
|
ret = get_errno(fsync(arg1));
|
||||||
break;
|
break;
|
||||||
case TARGET_NR_clone:
|
case TARGET_NR_clone:
|
||||||
@ -222,7 +130,7 @@ Index: qemu.bkp/linux-user/main.c
|
|||||||
break;
|
break;
|
||||||
#ifdef __NR_exit_group
|
#ifdef __NR_exit_group
|
||||||
/* new thread calls */
|
/* new thread calls */
|
||||||
@@ -4419,7 +4535,7 @@
|
@@ -4897,7 +5013,7 @@
|
||||||
#endif
|
#endif
|
||||||
#ifdef TARGET_NR_vfork
|
#ifdef TARGET_NR_vfork
|
||||||
case TARGET_NR_vfork:
|
case TARGET_NR_vfork:
|
||||||
@ -231,25 +139,3 @@ Index: qemu.bkp/linux-user/main.c
|
|||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#ifdef TARGET_NR_ugetrlimit
|
#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;
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
--- qemu/Makefile.target
|
--- qemu-0.9.1/Makefile.target
|
||||||
+++ qemu/Makefile.target
|
+++ qemu-0.9.1/Makefile.target
|
||||||
@@ -396,6 +396,9 @@
|
@@ -390,6 +390,9 @@
|
||||||
ifeq ($(findstring z80, $(TARGET_ARCH) $(ARCH)),z80)
|
ifeq ($(findstring z80, $(TARGET_ARCH) $(ARCH)),z80)
|
||||||
LIBOBJS+=z80-dis.o
|
LIBOBJS+=z80-dis.o
|
||||||
endif
|
endif
|
||||||
@ -10,9 +10,9 @@
|
|||||||
|
|
||||||
ifdef CONFIG_GDBSTUB
|
ifdef CONFIG_GDBSTUB
|
||||||
OBJS+=gdbstub.o
|
OBJS+=gdbstub.o
|
||||||
--- qemu/dis-asm.h
|
--- qemu-0.9.1/dis-asm.h
|
||||||
+++ qemu/dis-asm.h
|
+++ qemu-0.9.1/dis-asm.h
|
||||||
@@ -388,6 +388,7 @@
|
@@ -396,6 +396,7 @@
|
||||||
extern int print_insn_s390 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*));
|
extern int print_insn_crisv32 PARAMS ((bfd_vma, disassemble_info*));
|
||||||
extern int print_insn_z80 PARAMS ((bfd_vma, disassemble_info*));
|
extern int print_insn_z80 PARAMS ((bfd_vma, disassemble_info*));
|
||||||
@ -20,21 +20,8 @@
|
|||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
/* Fetch the disassembler for a given BFD, if that support is available. */
|
/* Fetch the disassembler for a given BFD, if that support is available. */
|
||||||
--- qemu/dyngen.c
|
--- qemu-0.9.1/target-i386/translate.c
|
||||||
+++ qemu/dyngen.c
|
+++ qemu-0.9.1/target-i386/translate.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
|
|
||||||
@@ -1795,7 +1795,11 @@
|
@@ -1795,7 +1795,11 @@
|
||||||
case CC_OP_SUBW:
|
case CC_OP_SUBW:
|
||||||
case CC_OP_SUBL:
|
case CC_OP_SUBL:
|
||||||
|
74
qemu-s390dis-license.patch
Normal file
74
qemu-s390dis-license.patch
Normal 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"
|
213
qemu-z80.diff
213
qemu-z80.diff
@ -1,6 +1,6 @@
|
|||||||
--- qemu/Makefile
|
--- qemu-0.9.1/Makefile
|
||||||
+++ qemu/Makefile
|
+++ qemu-0.9.1/Makefile
|
||||||
@@ -73,7 +73,7 @@
|
@@ -179,7 +179,7 @@
|
||||||
mkdir -p "$(DESTDIR)$(datadir)"
|
mkdir -p "$(DESTDIR)$(datadir)"
|
||||||
for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
|
for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
|
||||||
video.x openbios-sparc32 pxe-ne2k_pci.bin \
|
video.x openbios-sparc32 pxe-ne2k_pci.bin \
|
||||||
@ -9,9 +9,9 @@
|
|||||||
$(INSTALL) -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
|
$(INSTALL) -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
|
||||||
done
|
done
|
||||||
ifndef CONFIG_WIN32
|
ifndef CONFIG_WIN32
|
||||||
--- qemu/Makefile.target
|
--- qemu-0.9.1/Makefile.target
|
||||||
+++ qemu/Makefile.target
|
+++ qemu-0.9.1/Makefile.target
|
||||||
@@ -348,6 +348,13 @@
|
@@ -342,6 +342,13 @@
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -25,7 +25,7 @@
|
|||||||
# NOTE: the disassembler code is only needed for debugging
|
# NOTE: the disassembler code is only needed for debugging
|
||||||
LIBOBJS+=disas.o
|
LIBOBJS+=disas.o
|
||||||
ifeq ($(findstring i386, $(TARGET_ARCH) $(ARCH)),i386)
|
ifeq ($(findstring i386, $(TARGET_ARCH) $(ARCH)),i386)
|
||||||
@@ -383,6 +390,9 @@
|
@@ -377,6 +384,9 @@
|
||||||
ifeq ($(findstring s390, $(TARGET_ARCH) $(ARCH)),s390)
|
ifeq ($(findstring s390, $(TARGET_ARCH) $(ARCH)),s390)
|
||||||
LIBOBJS+=s390-dis.o
|
LIBOBJS+=s390-dis.o
|
||||||
endif
|
endif
|
||||||
@ -35,9 +35,9 @@
|
|||||||
|
|
||||||
ifdef CONFIG_GDBSTUB
|
ifdef CONFIG_GDBSTUB
|
||||||
OBJS+=gdbstub.o
|
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+= 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
|
endif
|
||||||
+ifeq ($(TARGET_BASE_ARCH), z80)
|
+ifeq ($(TARGET_BASE_ARCH), z80)
|
||||||
+VL_OBJS+= zx_spectrum.o zx_ula.o dma.o $(AUDIODRV)
|
+VL_OBJS+= zx_spectrum.o zx_ula.o dma.o $(AUDIODRV)
|
||||||
@ -46,7 +46,7 @@
|
|||||||
ifdef CONFIG_GDBSTUB
|
ifdef CONFIG_GDBSTUB
|
||||||
VL_OBJS+=gdbstub.o
|
VL_OBJS+=gdbstub.o
|
||||||
endif
|
endif
|
||||||
@@ -641,9 +655,15 @@
|
@@ -608,9 +622,15 @@
|
||||||
helper.o: helper.c
|
helper.o: helper.c
|
||||||
$(CC) $(HELPER_CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) -c -o $@ $<
|
$(CC) $(HELPER_CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) -c -o $@ $<
|
||||||
else
|
else
|
||||||
@ -62,7 +62,7 @@
|
|||||||
|
|
||||||
cpu-exec.o: cpu-exec.c
|
cpu-exec.o: cpu-exec.c
|
||||||
$(CC) $(HELPER_CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) -c -o $@ $<
|
$(CC) $(HELPER_CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) -c -o $@ $<
|
||||||
@@ -667,6 +687,9 @@
|
@@ -634,6 +654,9 @@
|
||||||
ifneq ($(PROGS),)
|
ifneq ($(PROGS),)
|
||||||
$(INSTALL) -m 755 -s $(PROGS) "$(DESTDIR)$(bindir)"
|
$(INSTALL) -m 755 -s $(PROGS) "$(DESTDIR)$(bindir)"
|
||||||
endif
|
endif
|
||||||
@ -72,8 +72,8 @@
|
|||||||
|
|
||||||
ifneq ($(wildcard .depend),)
|
ifneq ($(wildcard .depend),)
|
||||||
include .depend
|
include .depend
|
||||||
--- qemu/configure
|
--- qemu-0.9.1/configure
|
||||||
+++ qemu/configure
|
+++ qemu-0.9.1/configure
|
||||||
@@ -89,6 +89,7 @@
|
@@ -89,6 +89,7 @@
|
||||||
dsound="no"
|
dsound="no"
|
||||||
coreaudio="no"
|
coreaudio="no"
|
||||||
@ -82,7 +82,7 @@
|
|||||||
fmod="no"
|
fmod="no"
|
||||||
fmod_lib=""
|
fmod_lib=""
|
||||||
fmod_inc=""
|
fmod_inc=""
|
||||||
@@ -264,6 +265,8 @@
|
@@ -270,6 +271,8 @@
|
||||||
;;
|
;;
|
||||||
--disable-vnc-tls) vnc_tls="no"
|
--disable-vnc-tls) vnc_tls="no"
|
||||||
;;
|
;;
|
||||||
@ -91,7 +91,7 @@
|
|||||||
--enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-" ; linux_user="no"
|
--enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-" ; linux_user="no"
|
||||||
;;
|
;;
|
||||||
--disable-slirp) slirp="no"
|
--disable-slirp) slirp="no"
|
||||||
@@ -387,6 +390,7 @@
|
@@ -407,6 +410,7 @@
|
||||||
echo " --enable-fmod enable FMOD audio driver"
|
echo " --enable-fmod enable FMOD audio driver"
|
||||||
echo " --enable-dsound enable DirectSound audio driver"
|
echo " --enable-dsound enable DirectSound audio driver"
|
||||||
echo " --disable-vnc-tls disable TLS encryption for VNC server"
|
echo " --disable-vnc-tls disable TLS encryption for VNC server"
|
||||||
@ -99,16 +99,7 @@
|
|||||||
echo " --enable-system enable all system emulation targets"
|
echo " --enable-system enable all system emulation targets"
|
||||||
echo " --disable-system disable all system emulation targets"
|
echo " --disable-system disable all system emulation targets"
|
||||||
echo " --enable-linux-user enable all linux usermode emulation targets"
|
echo " --enable-linux-user enable all linux usermode emulation targets"
|
||||||
@@ -502,7 +506,7 @@
|
@@ -739,6 +743,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 @@
|
|
||||||
if test -n "$sparc_cpu"; then
|
if test -n "$sparc_cpu"; then
|
||||||
echo "Target Sparc Arch $sparc_cpu"
|
echo "Target Sparc Arch $sparc_cpu"
|
||||||
fi
|
fi
|
||||||
@ -116,7 +107,7 @@
|
|||||||
echo "kqemu support $kqemu"
|
echo "kqemu support $kqemu"
|
||||||
echo "Documentation $build_docs"
|
echo "Documentation $build_docs"
|
||||||
[ ! -z "$uname_release" ] && \
|
[ ! -z "$uname_release" ] && \
|
||||||
@@ -896,6 +901,10 @@
|
@@ -917,6 +922,10 @@
|
||||||
echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
|
echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
|
||||||
echo "#define CONFIG_VNC_TLS 1" >> $config_h
|
echo "#define CONFIG_VNC_TLS 1" >> $config_h
|
||||||
fi
|
fi
|
||||||
@ -127,7 +118,7 @@
|
|||||||
qemu_version=`head $source_path/VERSION`
|
qemu_version=`head $source_path/VERSION`
|
||||||
echo "VERSION=$qemu_version" >>$config_mak
|
echo "VERSION=$qemu_version" >>$config_mak
|
||||||
echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
|
echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
|
||||||
@@ -1109,6 +1118,11 @@
|
@@ -1146,6 +1155,11 @@
|
||||||
echo "TARGET_ARCH=alpha" >> $config_mak
|
echo "TARGET_ARCH=alpha" >> $config_mak
|
||||||
echo "#define TARGET_ARCH \"alpha\"" >> $config_h
|
echo "#define TARGET_ARCH \"alpha\"" >> $config_h
|
||||||
echo "#define TARGET_ALPHA 1" >> $config_h
|
echo "#define TARGET_ALPHA 1" >> $config_h
|
||||||
@ -139,9 +130,9 @@
|
|||||||
else
|
else
|
||||||
echo "Unsupported target CPU"
|
echo "Unsupported target CPU"
|
||||||
exit 1
|
exit 1
|
||||||
--- qemu/cpu-exec.c
|
--- qemu-0.9.1/cpu-exec.c
|
||||||
+++ qemu/cpu-exec.c
|
+++ qemu-0.9.1/cpu-exec.c
|
||||||
@@ -214,6 +214,10 @@
|
@@ -261,6 +261,10 @@
|
||||||
flags = 0;
|
flags = 0;
|
||||||
cs_base = 0;
|
cs_base = 0;
|
||||||
pc = env->pc;
|
pc = env->pc;
|
||||||
@ -152,7 +143,7 @@
|
|||||||
#else
|
#else
|
||||||
#error unsupported CPU
|
#error unsupported CPU
|
||||||
#endif
|
#endif
|
||||||
@@ -290,6 +294,15 @@
|
@@ -331,6 +335,15 @@
|
||||||
#elif defined(TARGET_SH4)
|
#elif defined(TARGET_SH4)
|
||||||
#elif defined(TARGET_CRIS)
|
#elif defined(TARGET_CRIS)
|
||||||
/* XXXXX */
|
/* XXXXX */
|
||||||
@ -168,9 +159,9 @@
|
|||||||
#else
|
#else
|
||||||
#error unsupported target CPU
|
#error unsupported target CPU
|
||||||
#endif
|
#endif
|
||||||
@@ -541,6 +554,13 @@
|
@@ -573,6 +586,13 @@
|
||||||
env->exception_index = env->pending_vector;
|
|
||||||
do_interrupt(1);
|
do_interrupt(1);
|
||||||
|
BREAK_CHAIN;
|
||||||
}
|
}
|
||||||
+#elif defined(TARGET_Z80)
|
+#elif defined(TARGET_Z80)
|
||||||
+ if (interrupt_request & CPU_INTERRUPT_HARD) {
|
+ if (interrupt_request & CPU_INTERRUPT_HARD) {
|
||||||
@ -182,7 +173,7 @@
|
|||||||
#endif
|
#endif
|
||||||
/* Don't use the cached interupt_request value,
|
/* Don't use the cached interupt_request value,
|
||||||
do_interrupt may have updated the EXITTB flag. */
|
do_interrupt may have updated the EXITTB flag. */
|
||||||
@@ -590,6 +610,8 @@
|
@@ -618,6 +638,8 @@
|
||||||
cpu_dump_state(env, logfile, fprintf, 0);
|
cpu_dump_state(env, logfile, fprintf, 0);
|
||||||
#elif defined(TARGET_CRIS)
|
#elif defined(TARGET_CRIS)
|
||||||
cpu_dump_state(env, logfile, fprintf, 0);
|
cpu_dump_state(env, logfile, fprintf, 0);
|
||||||
@ -191,7 +182,7 @@
|
|||||||
#else
|
#else
|
||||||
#error unsupported target CPU
|
#error unsupported target CPU
|
||||||
#endif
|
#endif
|
||||||
@@ -785,6 +807,9 @@
|
@@ -722,6 +744,9 @@
|
||||||
#elif defined(TARGET_ALPHA)
|
#elif defined(TARGET_ALPHA)
|
||||||
#elif defined(TARGET_CRIS)
|
#elif defined(TARGET_CRIS)
|
||||||
/* XXXXX */
|
/* XXXXX */
|
||||||
@ -201,9 +192,9 @@
|
|||||||
#else
|
#else
|
||||||
#error unsupported target CPU
|
#error unsupported target CPU
|
||||||
#endif
|
#endif
|
||||||
--- qemu/dis-asm.h
|
--- qemu-0.9.1/dis-asm.h
|
||||||
+++ qemu/dis-asm.h
|
+++ qemu-0.9.1/dis-asm.h
|
||||||
@@ -387,6 +387,7 @@
|
@@ -395,6 +395,7 @@
|
||||||
extern int print_insn_alpha PARAMS ((bfd_vma, disassemble_info*));
|
extern int print_insn_alpha PARAMS ((bfd_vma, disassemble_info*));
|
||||||
extern int print_insn_s390 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*));
|
extern int print_insn_crisv32 PARAMS ((bfd_vma, disassemble_info*));
|
||||||
@ -211,8 +202,8 @@
|
|||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
/* Fetch the disassembler for a given BFD, if that support is available. */
|
/* Fetch the disassembler for a given BFD, if that support is available. */
|
||||||
--- qemu/disas.c
|
--- qemu-0.9.1/disas.c
|
||||||
+++ qemu/disas.c
|
+++ qemu-0.9.1/disas.c
|
||||||
@@ -208,6 +208,8 @@
|
@@ -208,6 +208,8 @@
|
||||||
#elif defined(TARGET_CRIS)
|
#elif defined(TARGET_CRIS)
|
||||||
disasm_info.mach = bfd_mach_cris_v32;
|
disasm_info.mach = bfd_mach_cris_v32;
|
||||||
@ -222,9 +213,9 @@
|
|||||||
#else
|
#else
|
||||||
fprintf(out, "0x" TARGET_FMT_lx
|
fprintf(out, "0x" TARGET_FMT_lx
|
||||||
": Asm output not supported on this arch\n", code);
|
": Asm output not supported on this arch\n", code);
|
||||||
--- qemu/exec-all.h
|
--- qemu-0.9.1/exec-all.h
|
||||||
+++ qemu/exec-all.h
|
+++ qemu-0.9.1/exec-all.h
|
||||||
@@ -82,7 +82,7 @@
|
@@ -52,7 +52,7 @@
|
||||||
typedef void (GenOpFunc2)(long, long);
|
typedef void (GenOpFunc2)(long, long);
|
||||||
typedef void (GenOpFunc3)(long, long, long);
|
typedef void (GenOpFunc3)(long, long, long);
|
||||||
|
|
||||||
@ -233,9 +224,9 @@
|
|||||||
|
|
||||||
void optimize_flags_init(void);
|
void optimize_flags_init(void);
|
||||||
|
|
||||||
--- qemu/exec.c
|
--- qemu-0.9.1/exec.c
|
||||||
+++ qemu/exec.c
|
+++ qemu-0.9.1/exec.c
|
||||||
@@ -709,6 +709,9 @@
|
@@ -731,6 +731,9 @@
|
||||||
current_flags |= (env->eflags & (IOPL_MASK | TF_MASK | VM_MASK));
|
current_flags |= (env->eflags & (IOPL_MASK | TF_MASK | VM_MASK));
|
||||||
current_cs_base = (target_ulong)env->segs[R_CS].base;
|
current_cs_base = (target_ulong)env->segs[R_CS].base;
|
||||||
current_pc = current_cs_base + env->eip;
|
current_pc = current_cs_base + env->eip;
|
||||||
@ -245,9 +236,9 @@
|
|||||||
#else
|
#else
|
||||||
#error unsupported CPU
|
#error unsupported CPU
|
||||||
#endif
|
#endif
|
||||||
--- qemu/gdbstub.c
|
--- qemu-0.9.1/gdbstub.c
|
||||||
+++ qemu/gdbstub.c
|
+++ qemu-0.9.1/gdbstub.c
|
||||||
@@ -853,6 +853,34 @@
|
@@ -856,6 +856,34 @@
|
||||||
for (i = 0; i < 16; i++) LOAD(env->regs[i]);
|
for (i = 0; i < 16; i++) LOAD(env->regs[i]);
|
||||||
LOAD (env->pc);
|
LOAD (env->pc);
|
||||||
}
|
}
|
||||||
@ -282,9 +273,21 @@
|
|||||||
#else
|
#else
|
||||||
static int cpu_gdb_read_registers(CPUState *env, uint8_t *mem_buf)
|
static int cpu_gdb_read_registers(CPUState *env, uint8_t *mem_buf)
|
||||||
{
|
{
|
||||||
--- qemu/hw/zx_spectrum.c
|
--- qemu-0.9.1/hw/boards.h
|
||||||
+++ qemu/hw/zx_spectrum.c
|
+++ qemu-0.9.1/hw/boards.h
|
||||||
@@ -0,0 +1,303 @@
|
@@ -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
|
+ * QEMU ZX Spectrum Emulator
|
||||||
+ *
|
+ *
|
||||||
@ -309,7 +312,12 @@
|
|||||||
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
+ * THE SOFTWARE.
|
+ * 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
|
+#ifdef CONFIG_LIBSPECTRUM
|
||||||
+#include <libspectrum.h>
|
+#include <libspectrum.h>
|
||||||
+#endif
|
+#endif
|
||||||
@ -467,7 +475,7 @@
|
|||||||
+ CPUState *env;
|
+ CPUState *env;
|
||||||
+
|
+
|
||||||
+ /* init CPUs */
|
+ /* init CPUs */
|
||||||
+ env = cpu_init();
|
+ env = cpu_init("z80");
|
||||||
+ zx_env = env; // XXX
|
+ zx_env = env; // XXX
|
||||||
+ register_savevm("cpu", 0, 4, cpu_save, cpu_load, env);
|
+ register_savevm("cpu", 0, 4, cpu_save, cpu_load, env);
|
||||||
+ qemu_register_reset(main_cpu_reset, env);
|
+ qemu_register_reset(main_cpu_reset, env);
|
||||||
@ -588,9 +596,9 @@
|
|||||||
+ "Z80 Machine",
|
+ "Z80 Machine",
|
||||||
+ zx_spectrum_init,
|
+ zx_spectrum_init,
|
||||||
+};
|
+};
|
||||||
--- qemu/hw/zx_ula.c
|
--- qemu-0.9.1/hw/zx_ula.c
|
||||||
+++ qemu/hw/zx_ula.c
|
+++ qemu-0.9.1/hw/zx_ula.c
|
||||||
@@ -0,0 +1,355 @@
|
@@ -0,0 +1,357 @@
|
||||||
+/*
|
+/*
|
||||||
+ * QEMU ZX Spectrum Video Emulation.
|
+ * QEMU ZX Spectrum Video Emulation.
|
||||||
+ *
|
+ *
|
||||||
@ -616,7 +624,9 @@
|
|||||||
+ * THE SOFTWARE.
|
+ * THE SOFTWARE.
|
||||||
+ */
|
+ */
|
||||||
+
|
+
|
||||||
+#include "vl.h"
|
+#include "hw.h"
|
||||||
|
+#include "console.h"
|
||||||
|
+#include "zx_ula.h"
|
||||||
+
|
+
|
||||||
+typedef struct {
|
+typedef struct {
|
||||||
+ DisplayState *ds;
|
+ DisplayState *ds;
|
||||||
@ -946,8 +956,15 @@
|
|||||||
+ /* ZX Spectrum ULA */
|
+ /* ZX Spectrum ULA */
|
||||||
+ register_ioport_write(0, 0x10000, 1, io_spectrum_write, s);
|
+ register_ioport_write(0, 0x10000, 1, io_spectrum_write, s);
|
||||||
+}
|
+}
|
||||||
--- qemu/target-z80/cpu.h
|
--- qemu-0.9.1/hw/zx_ula.h
|
||||||
+++ qemu/target-z80/cpu.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 @@
|
@@ -0,0 +1,252 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Z80 virtual CPU header
|
+ * Z80 virtual CPU header
|
||||||
@ -1152,7 +1169,7 @@
|
|||||||
+ struct APICState *apic_state;
|
+ struct APICState *apic_state;
|
||||||
+} CPUZ80State;
|
+} CPUZ80State;
|
||||||
+
|
+
|
||||||
+CPUZ80State *cpu_z80_init(void);
|
+CPUZ80State *cpu_z80_init(const char* cpu_model);
|
||||||
+int cpu_z80_exec(CPUZ80State *s);
|
+int cpu_z80_exec(CPUZ80State *s);
|
||||||
+void cpu_z80_close(CPUZ80State *s);
|
+void cpu_z80_close(CPUZ80State *s);
|
||||||
+int cpu_get_pic_interrupt(CPUZ80State *s);
|
+int cpu_get_pic_interrupt(CPUZ80State *s);
|
||||||
@ -1201,8 +1218,8 @@
|
|||||||
+#include "cpu-all.h"
|
+#include "cpu-all.h"
|
||||||
+
|
+
|
||||||
+#endif /* CPU_Z80_H */
|
+#endif /* CPU_Z80_H */
|
||||||
--- qemu/target-z80/exec.h
|
--- qemu-0.9.1/target-z80/exec.h
|
||||||
+++ qemu/target-z80/exec.h
|
+++ qemu-0.9.1/target-z80/exec.h
|
||||||
@@ -0,0 +1,372 @@
|
@@ -0,0 +1,372 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Z80 execution defines
|
+ * Z80 execution defines
|
||||||
@ -1576,8 +1593,8 @@
|
|||||||
+ }
|
+ }
|
||||||
+ return EXCP_HALTED;
|
+ return EXCP_HALTED;
|
||||||
+}
|
+}
|
||||||
--- qemu/target-z80/helper.c
|
--- qemu-0.9.1/target-z80/helper.c
|
||||||
+++ qemu/target-z80/helper.c
|
+++ qemu-0.9.1/target-z80/helper.c
|
||||||
@@ -0,0 +1,281 @@
|
@@ -0,0 +1,281 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Z80 helpers
|
+ * Z80 helpers
|
||||||
@ -1860,8 +1877,8 @@
|
|||||||
+ fl & 0x01 ? 'C' : '-',
|
+ fl & 0x01 ? 'C' : '-',
|
||||||
+ env->imode, env->iff1, env->iff2, env->regs[R_I], env->regs[R_R]);
|
+ env->imode, env->iff1, env->iff2, env->regs[R_I], env->regs[R_R]);
|
||||||
+}
|
+}
|
||||||
--- qemu/target-z80/helper2.c
|
--- qemu-0.9.1/target-z80/helper2.c
|
||||||
+++ qemu/target-z80/helper2.c
|
+++ qemu-0.9.1/target-z80/helper2.c
|
||||||
@@ -0,0 +1,170 @@
|
@@ -0,0 +1,170 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Z80 helpers (without register variable usage)
|
+ * Z80 helpers (without register variable usage)
|
||||||
@ -1896,7 +1913,7 @@
|
|||||||
+
|
+
|
||||||
+//#define DEBUG_MMU
|
+//#define DEBUG_MMU
|
||||||
+
|
+
|
||||||
+CPUZ80State *cpu_z80_init(void)
|
+CPUZ80State *cpu_z80_init(const char* cpu_model)
|
||||||
+{
|
+{
|
||||||
+ CPUZ80State *env;
|
+ CPUZ80State *env;
|
||||||
+ static int inited;
|
+ static int inited;
|
||||||
@ -2033,8 +2050,8 @@
|
|||||||
+ paddr = (pte & TARGET_PAGE_MASK) + page_offset;
|
+ paddr = (pte & TARGET_PAGE_MASK) + page_offset;
|
||||||
+ return paddr;
|
+ return paddr;
|
||||||
+}
|
+}
|
||||||
--- qemu/target-z80/op.c
|
--- qemu-0.9.1/target-z80/op.c
|
||||||
+++ qemu/target-z80/op.c
|
+++ qemu-0.9.1/target-z80/op.c
|
||||||
@@ -0,0 +1,1175 @@
|
@@ -0,0 +1,1175 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Z80 micro operations
|
+ * Z80 micro operations
|
||||||
@ -3211,8 +3228,8 @@
|
|||||||
+{
|
+{
|
||||||
+ cpu_unlock();
|
+ cpu_unlock();
|
||||||
+}
|
+}
|
||||||
--- qemu/target-z80/opreg_template.h
|
--- qemu-0.9.1/target-z80/opreg_template.h
|
||||||
+++ qemu/target-z80/opreg_template.h
|
+++ qemu-0.9.1/target-z80/opreg_template.h
|
||||||
@@ -0,0 +1,74 @@
|
@@ -0,0 +1,74 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Z80 micro operations (templates for various register related
|
+ * Z80 micro operations (templates for various register related
|
||||||
@ -3288,8 +3305,8 @@
|
|||||||
+{
|
+{
|
||||||
+ REG = (uint16_t)T1;
|
+ REG = (uint16_t)T1;
|
||||||
+}
|
+}
|
||||||
--- qemu/target-z80/opreg_template2.h
|
--- qemu-0.9.1/target-z80/opreg_template2.h
|
||||||
+++ qemu/target-z80/opreg_template2.h
|
+++ qemu-0.9.1/target-z80/opreg_template2.h
|
||||||
@@ -0,0 +1,63 @@
|
@@ -0,0 +1,63 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Z80 micro operations (templates for various register related
|
+ * Z80 micro operations (templates for various register related
|
||||||
@ -3354,8 +3371,8 @@
|
|||||||
+ REGHIGH = (uint16_t)(T1 >> 8);
|
+ REGHIGH = (uint16_t)(T1 >> 8);
|
||||||
+ REGLOW = (uint16_t)T1;
|
+ REGLOW = (uint16_t)T1;
|
||||||
+}
|
+}
|
||||||
--- qemu/target-z80/ops_mem.h
|
--- qemu-0.9.1/target-z80/ops_mem.h
|
||||||
+++ qemu/target-z80/ops_mem.h
|
+++ qemu-0.9.1/target-z80/ops_mem.h
|
||||||
@@ -0,0 +1,59 @@
|
@@ -0,0 +1,59 @@
|
||||||
+void OPPROTO glue(glue(op_ldub, MEMSUFFIX), _T0_A0)(void)
|
+void OPPROTO glue(glue(op_ldub, MEMSUFFIX), _T0_A0)(void)
|
||||||
+{
|
+{
|
||||||
@ -3416,8 +3433,8 @@
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+#undef MEMSUFFIX
|
+#undef MEMSUFFIX
|
||||||
--- qemu/target-z80/translate.c
|
--- qemu-0.9.1/target-z80/translate.c
|
||||||
+++ qemu/target-z80/translate.c
|
+++ qemu-0.9.1/target-z80/translate.c
|
||||||
@@ -0,0 +1,1600 @@
|
@@ -0,0 +1,1600 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Z80 translation
|
+ * Z80 translation
|
||||||
@ -5019,9 +5036,9 @@
|
|||||||
+ return gen_intermediate_code_internal(env, tb, 1);
|
+ return gen_intermediate_code_internal(env, tb, 1);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
--- qemu/vl.c
|
--- qemu-0.9.1/vl.c
|
||||||
+++ qemu/vl.c
|
+++ qemu-0.9.1/vl.c
|
||||||
@@ -6253,6 +6253,19 @@
|
@@ -6750,6 +6750,19 @@
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5040,9 +5057,9 @@
|
|||||||
+
|
+
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#warning No CPU save/restore functions
|
//#warning No CPU save/restore functions
|
||||||
@@ -7420,6 +7433,8 @@
|
@@ -7924,6 +7937,8 @@
|
||||||
qemu_register_machine(&an5206_machine);
|
qemu_register_machine(&dummy_m68k_machine);
|
||||||
#elif defined(TARGET_CRIS)
|
#elif defined(TARGET_CRIS)
|
||||||
qemu_register_machine(&bareetraxfs_machine);
|
qemu_register_machine(&bareetraxfs_machine);
|
||||||
+#elif defined(TARGET_Z80)
|
+#elif defined(TARGET_Z80)
|
||||||
@ -5050,32 +5067,8 @@
|
|||||||
#else
|
#else
|
||||||
#error unsupported CPU
|
#error unsupported CPU
|
||||||
#endif
|
#endif
|
||||||
--- qemu/vl.h
|
--- qemu-0.9.1/z80-dis.c
|
||||||
+++ qemu/vl.h
|
+++ qemu-0.9.1/z80-dis.c
|
||||||
@@ -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
|
|
||||||
@@ -0,0 +1,621 @@
|
@@ -0,0 +1,621 @@
|
||||||
+/* Print Z80 and R800 instructions
|
+/* Print Z80 and R800 instructions
|
||||||
+ Copyright 2005 Free Software Foundation, Inc.
|
+ Copyright 2005 Free Software Foundation, Inc.
|
||||||
|
22
qemu.changes
22
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
|
Mon Dec 10 14:29:42 CET 2007 - uli@suse.de
|
||||||
|
|
||||||
|
132
qemu.spec
132
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
|
# This file and all modifications and additions to the pristine
|
||||||
# package are under the same license as the package itself.
|
# 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
|
License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT
|
||||||
Group: System/Emulators/PC
|
Group: System/Emulators/PC
|
||||||
Summary: Universal CPU emulator
|
Summary: Universal CPU emulator
|
||||||
Version: 0.9.0.cvs
|
Version: 0.9.1
|
||||||
Release: 57
|
Release: 1
|
||||||
Source: %name-%version.tar.bz2
|
Source: %name-%version.tar.bz2
|
||||||
#Patch400: qemu-0.7.0-gcc4-dot-syms.patch
|
#Patch400: qemu-0.7.0-gcc4-dot-syms.patch
|
||||||
#Patch401: qemu-0.8.0-gcc4-hacks.patch
|
#Patch401: qemu-0.8.0-gcc4-hacks.patch
|
||||||
@ -57,6 +57,7 @@ Patch70: qemu-m68k.diff
|
|||||||
Patch71: qemu-s390.patch
|
Patch71: qemu-s390.patch
|
||||||
Patch82: qemu-cvs-svm2.patch
|
Patch82: qemu-cvs-svm2.patch
|
||||||
Patch83: qemu-cvs-ppcspe.patch
|
Patch83: qemu-cvs-ppcspe.patch
|
||||||
|
Patch84: qemu-s390dis-license.patch
|
||||||
Source200: kvm_bios.bin
|
Source200: kvm_bios.bin
|
||||||
Source201: zx-rom.bin
|
Source201: zx-rom.bin
|
||||||
Source202: COPYING.zx-rom
|
Source202: COPYING.zx-rom
|
||||||
@ -118,7 +119,7 @@ Authors:
|
|||||||
Fabrice Bellard <fabrice.bellard@free.fr>
|
Fabrice Bellard <fabrice.bellard@free.fr>
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -n qemu -q -a601
|
%setup -q -a601
|
||||||
#%patch400 -p1
|
#%patch400 -p1
|
||||||
#%patch401 -p1
|
#%patch401 -p1
|
||||||
#%patch402 -p1
|
#%patch402 -p1
|
||||||
@ -159,6 +160,7 @@ Authors:
|
|||||||
%patch68 -p1
|
%patch68 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch83
|
%patch83
|
||||||
|
%patch84
|
||||||
%if 1
|
%if 1
|
||||||
cd gcc-3.3.5
|
cd gcc-3.3.5
|
||||||
%patch600
|
%patch600
|
||||||
@ -266,7 +268,6 @@ make clean
|
|||||||
--static --disable-gcc-check \
|
--static --disable-gcc-check \
|
||||||
--extra-cflags="$QEMU_OPT_FLAGS"
|
--extra-cflags="$QEMU_OPT_FLAGS"
|
||||||
make %{?jobs:-j%{jobs}}
|
make %{?jobs:-j%{jobs}}
|
||||||
mv ppc64abi32-linux-user/qemu-ppc64 ppc64abi32-linux-user/qemu-ppc64abi32
|
|
||||||
make qemu-img
|
make qemu-img
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -312,9 +313,28 @@ rm -rf %{gcc33tmp}
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%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
|
- fixed open() usage with O_CREAT
|
||||||
* Tue Nov 13 2007 - uli@suse.de
|
* Tue Nov 13 2007 uli@suse.de
|
||||||
- update -> current CVS:
|
- update -> current CVS:
|
||||||
- Read-only support for Parallels disk images (Alex Beregszaszi)
|
- Read-only support for Parallels disk images (Alex Beregszaszi)
|
||||||
- CRIS emulation (Edgar E. Iglesias)
|
- CRIS emulation (Edgar E. Iglesias)
|
||||||
@ -323,30 +343,30 @@ rm -rf %{gcc33tmp}
|
|||||||
- Strace for Linux userland emulation (Stuart Anderson, Thayne Harbaugh)
|
- Strace for Linux userland emulation (Stuart Anderson, Thayne Harbaugh)
|
||||||
- OMAP310 MPU emulation plus Palm T|E machine (Andrzej Zaborowski)
|
- OMAP310 MPU emulation plus Palm T|E machine (Andrzej Zaborowski)
|
||||||
- ARM v6, v7, NEON SIMD and SMP emulation (Paul Brook/CodeSourcery)
|
- 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
|
- 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)
|
- 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)
|
- add SVM emulation support (Alexander Graf)
|
||||||
- fix a misassumption in the s390 fix (uli)
|
- fix a misassumption in the s390 fix (uli)
|
||||||
- allow more IDE power management (Ben Guthro)
|
- allow more IDE power management (Ben Guthro)
|
||||||
- log any I/O error and perform automatic read retry for CDrom (Ben Guthro)
|
- log any I/O error and perform automatic read retry for CDrom (Ben Guthro)
|
||||||
- fix Coherent guest support (Jan Jezabek)
|
- fix Coherent guest support (Jan Jezabek)
|
||||||
- fix several Darwin guest issues (Filip Navara)
|
- 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)
|
- 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
|
- 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
|
- 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
|
- remove inclusion of linux/compiler.h
|
||||||
* Mon Jul 30 2007 - uli@suse.de
|
* Mon Jul 30 2007 uli@suse.de
|
||||||
- fixed for S/390
|
- fixed for S/390
|
||||||
* Tue Jul 10 2007 - schwab@suse.de
|
* Tue Jul 10 2007 schwab@suse.de
|
||||||
- Add (incomplete) m68k emulation.
|
- Add (incomplete) m68k emulation.
|
||||||
* Mon Jul 09 2007 - agraf@suse.de
|
* Mon Jul 09 2007 agraf@suse.de
|
||||||
- included alsa support in qemu-user
|
- included alsa support in qemu-user
|
||||||
- update to current cvs
|
- update to current cvs
|
||||||
- TFTP booting from host directory (Anthony Liguori, Erwan Velu)
|
- TFTP booting from host directory (Anthony Liguori, Erwan Velu)
|
||||||
@ -362,14 +382,14 @@ rm -rf %{gcc33tmp}
|
|||||||
- MIPS64 support (Aurelien Jarno, Thiemo Seufer)
|
- MIPS64 support (Aurelien Jarno, Thiemo Seufer)
|
||||||
- Preliminary Alpha guest support (J. Mayer)
|
- Preliminary Alpha guest support (J. Mayer)
|
||||||
- IPC fixes
|
- 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
|
- 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)
|
- 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)
|
- made wine work (set FS register to 0 on init)
|
||||||
- suppressed robust_list warnings
|
- 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
|
- made flash player 9 work on ppc
|
||||||
- fixed FUTEX_WAKE_OP on machines where endianness differs
|
- fixed FUTEX_WAKE_OP on machines where endianness differs
|
||||||
- made mmap on x86_64 use the MAP_32BIT flag
|
- made mmap on x86_64 use the MAP_32BIT flag
|
||||||
@ -377,7 +397,7 @@ rm -rf %{gcc33tmp}
|
|||||||
- removed an annoying debug message for forking
|
- removed an annoying debug message for forking
|
||||||
- implemented sched_getaffinity syscall
|
- implemented sched_getaffinity syscall
|
||||||
- fixed configure call so it takes gcc3 again
|
- 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)
|
- support "vga=" parameter (Pascal Terjan)
|
||||||
- direct jump support for x86-64 (Gwenole Beauchesne)
|
- direct jump support for x86-64 (Gwenole Beauchesne)
|
||||||
- fix chaining of CPU instances (Gwenole Beauchesne)
|
- fix chaining of CPU instances (Gwenole Beauchesne)
|
||||||
@ -386,7 +406,7 @@ rm -rf %{gcc33tmp}
|
|||||||
- KVM support
|
- KVM support
|
||||||
- Z80/ZX Spectrum emulation (Stuart Brady)
|
- Z80/ZX Spectrum emulation (Stuart Brady)
|
||||||
- GCC4 support postponed (breaks x86-64 on i386)
|
- 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
|
- implemented TLS support on i386 so qemu-user can be used to run
|
||||||
with current libc versions (partly done by David Woodhouse,
|
with current libc versions (partly done by David Woodhouse,
|
||||||
fixed by Alexander Graf)
|
fixed by Alexander Graf)
|
||||||
@ -395,11 +415,11 @@ rm -rf %{gcc33tmp}
|
|||||||
- disable AF_NETLINK in qemu-user (endianness problems)
|
- disable AF_NETLINK in qemu-user (endianness problems)
|
||||||
- applied fast path mangling patch from Kirill A. Shutemov
|
- applied fast path mangling patch from Kirill A. Shutemov
|
||||||
- applied strace patch for debugging (by Stuart R. Anderson)
|
- 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
|
- fixed initrd loading on x86
|
||||||
* Thu Mar 29 2007 - ro@suse.de
|
* Thu Mar 29 2007 ro@suse.de
|
||||||
- added bison to BuildRequires
|
- 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)
|
- added better fix by Robert Schiele (bug #241950)
|
||||||
- update -> 0.9.0
|
- update -> 0.9.0
|
||||||
- Support for relative paths in backing files for disk images
|
- Support for relative paths in backing files for disk images
|
||||||
@ -417,18 +437,18 @@ rm -rf %{gcc33tmp}
|
|||||||
- Mouse relative offset VNC extension (Anthony Liguori)
|
- Mouse relative offset VNC extension (Anthony Liguori)
|
||||||
- PXE boot support (Anthony Liguori)
|
- PXE boot support (Anthony Liguori)
|
||||||
- '-daemonize' option (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
|
- added fix by Robert Schiele to work without usbdevfs
|
||||||
(bug #241950)
|
(bug #241950)
|
||||||
* Fri Feb 02 2007 - ro@suse.de
|
* Fri Feb 02 2007 ro@suse.de
|
||||||
- remove -fstack-protector from CFLAGS
|
- remove -fstack-protector from CFLAGS
|
||||||
* Fri Oct 27 2006 - schwab@suse.de
|
* Fri Oct 27 2006 schwab@suse.de
|
||||||
- Fix char signedness.
|
- Fix char signedness.
|
||||||
* Mon Sep 11 2006 - uli@suse.de
|
* Mon Sep 11 2006 uli@suse.de
|
||||||
- re-added ARM FPE patch
|
- re-added ARM FPE patch
|
||||||
- fixed SPARC on PPC
|
- fixed SPARC on PPC
|
||||||
- install missing openbios-sparc32
|
- install missing openbios-sparc32
|
||||||
* Sat Sep 09 2006 - dmueller@suse.de
|
* Sat Sep 09 2006 dmueller@suse.de
|
||||||
- update to 0.8.2:
|
- update to 0.8.2:
|
||||||
- ACPI support
|
- ACPI support
|
||||||
- PC VGA BIOS fixes
|
- PC VGA BIOS fixes
|
||||||
@ -443,39 +463,39 @@ rm -rf %{gcc33tmp}
|
|||||||
- Workaround for win32 SMP hosts
|
- Workaround for win32 SMP hosts
|
||||||
- Support for AMD Flash memories (Jocelyn Mayer)
|
- Support for AMD Flash memories (Jocelyn Mayer)
|
||||||
- Audio capture to WAV files support (malc)
|
- 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
|
- 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
|
- fixed to build with new kernel headers
|
||||||
* Wed Mar 08 2006 - uli@suse.de
|
* Wed Mar 08 2006 uli@suse.de
|
||||||
- split giant patch
|
- split giant patch
|
||||||
- added NWFPE glue code fix
|
- added NWFPE glue code fix
|
||||||
* Tue Mar 07 2006 - schwab@suse.de
|
* Tue Mar 07 2006 schwab@suse.de
|
||||||
- More fixes for ia64 port.
|
- 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.
|
- Remove obsolete hunk from ia64 patch.
|
||||||
* Wed Jan 25 2006 - mls@suse.de
|
* Wed Jan 25 2006 mls@suse.de
|
||||||
- converted neededforbuild to BuildRequires
|
- converted neededforbuild to BuildRequires
|
||||||
* Tue Dec 20 2005 - uli@suse.de
|
* Tue Dec 20 2005 uli@suse.de
|
||||||
- update -> 0.8.0
|
- 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,
|
- update to current CVS (MIPS userspace, ARM system, SMP, USB,
|
||||||
NX, VLAN, serial, parallel, ES1370, ALSA backend)
|
NX, VLAN, serial, parallel, ES1370, ALSA backend)
|
||||||
- build i386 and AMD64 emus with kqemu support if possible
|
- build i386 and AMD64 emus with kqemu support if possible
|
||||||
- install missing PPC video driver, SPARC boot ROM
|
- install missing PPC video driver, SPARC boot ROM
|
||||||
- install missing keymaps
|
- install missing keymaps
|
||||||
* Mon Nov 07 2005 - uli@suse.de
|
* Mon Nov 07 2005 uli@suse.de
|
||||||
- updated linker scripts for new binutils release
|
- 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
|
- 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.
|
- 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.
|
- Fix compilation on ia64.
|
||||||
* Mon Aug 01 2005 - uli@suse.de
|
* Mon Aug 01 2005 uli@suse.de
|
||||||
- update -> 0.7.1
|
- update -> 0.7.1
|
||||||
- enabled x86_64-system
|
- enabled x86_64-system
|
||||||
* Mon Jul 11 2005 - uli@suse.de
|
* Mon Jul 11 2005 uli@suse.de
|
||||||
- update -> CVS (MIPS emulation)
|
- update -> CVS (MIPS emulation)
|
||||||
- build with throwaway GCC3 (still no GCC4-compatible QEMU in
|
- build with throwaway GCC3 (still no GCC4-compatible QEMU in
|
||||||
sight)
|
sight)
|
||||||
@ -486,36 +506,36 @@ rm -rf %{gcc33tmp}
|
|||||||
- disabled qemu-fast (broken and deprecated)
|
- disabled qemu-fast (broken and deprecated)
|
||||||
- disabled i386-user on x86_64 (useless)
|
- disabled i386-user on x86_64 (useless)
|
||||||
- build with %%jobs
|
- 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
|
- 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
|
- baselibs-x86 link is unnecessary on x86/AMD64
|
||||||
- two ARM emulation fixes (RRX operand fix by Paul Brook, shifter
|
- two ARM emulation fixes (RRX operand fix by Paul Brook, shifter
|
||||||
carry fix by me)
|
carry fix by me)
|
||||||
- SDL 1.2.8 can be linked statically -> enabled qemu-fast
|
- 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
|
- update -> 0.6.1
|
||||||
- build softmmu binaries on s390 (still doesn't work though)
|
- build softmmu binaries on s390 (still doesn't work though)
|
||||||
- pack /emul/ia32-linux directory and symlink from /usr/share/qemu
|
- pack /emul/ia32-linux directory and symlink from /usr/share/qemu
|
||||||
so it's possible to use the IA64 baselibs-x86 packages
|
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
|
- removed unnecessary dependency on private glibc symbol
|
||||||
(bug #44864)
|
(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
|
- update -> 0.6.0 (fixes for several OSs, improvements in emulated
|
||||||
hardware (IDE, PCI, network, VGA, APM, PowerMac), minor fixes,
|
hardware (IDE, PCI, network, VGA, APM, PowerMac), minor fixes,
|
||||||
tool for conversion of VMware images)
|
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)
|
- update -> 0.5.5 (contains ARM, utime() fixes and several others)
|
||||||
- make uname() return target machine name (fixes config.guess,
|
- make uname() return target machine name (fixes config.guess,
|
||||||
rpm etc.)
|
rpm etc.)
|
||||||
- fake sigaltstack() (fixes m4)
|
- fake sigaltstack() (fixes m4)
|
||||||
- enabled x86-64
|
- enabled x86-64
|
||||||
* Wed May 05 2004 - uli@suse.de
|
* Wed May 05 2004 uli@suse.de
|
||||||
- fixed ARM emulation bug
|
- 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)
|
- 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)
|
- 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
|
- initial package
|
||||||
|
Loading…
Reference in New Issue
Block a user