Accepting request 143323 from home:a_faerber:branches:Virtualization

Update to v1.3.0-rc1 plus an OOM workaround. Since SPICE v0.12.0 doesn't build on 11.4 due to a missing build dependency, enable SPICE only from 12.1 on.

OBS-URL: https://build.opensuse.org/request/show/143323
OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=119
This commit is contained in:
Andreas Färber 2012-11-27 20:42:06 +00:00 committed by Git OBS Bridge
parent 1b57805a95
commit 2f3efc407e
43 changed files with 286 additions and 383 deletions

View File

@ -1,4 +1,4 @@
From 2cd9bcd07f83ae11c02b2e12eb4b4d743dca777a Mon Sep 17 00:00:00 2001
From 3a3e5eceb1f46808aff5b9d301b708834525c391 Mon Sep 17 00:00:00 2001
From: Peter Maydell <peter.maydell@linaro.org>
Date: Wed, 5 Oct 2011 10:04:02 +0100
Subject: [PATCH] Handle CPU interrupts by inline checking of a flag
@ -29,13 +29,13 @@ hit is, which I never got round to. Feel free to do some :-)
linux-user/main.c | 8 ++++++++
qemu-options.hx | 9 +++++++++
vl.c | 5 +++++
6 files changed, 60 insertions(+), 3 deletions(-)
6 Dateien geändert, 60 Zeilen hinzugefügt(+), 3 Zeilen entfernt(-)
diff --git a/cpu-exec.c b/cpu-exec.c
index 134b3c4..e90ea29 100644
index 904ee73..b83d43e 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -599,7 +599,16 @@ int cpu_exec(CPUArchState *env)
@@ -597,7 +597,16 @@ int cpu_exec(CPUArchState *env)
tc_ptr = tb->tc_ptr;
/* execute the generated code */
next_tb = tcg_qemu_tb_exec(env, tc_ptr);
@ -54,10 +54,10 @@ index 134b3c4..e90ea29 100644
int insns_left;
tb = (TranslationBlock *)(next_tb & ~3);
diff --git a/exec.c b/exec.c
index 5834766..9cbdc35 100644
index 8435de0..edb44fc 100644
--- a/exec.c
+++ b/exec.c
@@ -130,6 +130,8 @@ DEFINE_TLS(CPUArchState *,cpu_single_env);
@@ -119,6 +119,8 @@ DEFINE_TLS(CPUArchState *,cpu_single_env);
1 = Precise instruction counting.
2 = Adaptive rate instruction counting. */
int use_icount = 0;
@ -66,7 +66,7 @@ index 5834766..9cbdc35 100644
typedef struct PageDesc {
/* list of TBs intersecting this ram page */
@@ -1708,7 +1710,13 @@ static void tcg_handle_interrupt(CPUArchState *env, int mask)
@@ -1734,7 +1736,13 @@ static void tcg_handle_interrupt(CPUArchState *env, int mask)
cpu_abort(env, "Raised interrupt while not in I/O function");
}
} else {
@ -81,7 +81,7 @@ index 5834766..9cbdc35 100644
}
}
@@ -1731,7 +1739,9 @@ void cpu_reset_interrupt(CPUArchState *env, int mask)
@@ -1757,7 +1765,9 @@ void cpu_reset_interrupt(CPUArchState *env, int mask)
void cpu_exit(CPUArchState *env)
{
env->exit_request = 1;
@ -93,7 +93,7 @@ index 5834766..9cbdc35 100644
void cpu_abort(CPUArchState *env, const char *fmt, ...)
diff --git a/gen-icount.h b/gen-icount.h
index 430cb44..65a75d9 100644
index 248cf5b..27ab048 100644
--- a/gen-icount.h
+++ b/gen-icount.h
@@ -2,13 +2,25 @@
@ -134,7 +134,7 @@ index 430cb44..65a75d9 100644
*icount_arg = num_insns;
gen_set_label(icount_label);
diff --git a/linux-user/main.c b/linux-user/main.c
index 1a1c661..b7687c5 100644
index 25e35cd..c339af8 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -64,6 +64,7 @@ unsigned long reserved_va;
@ -145,7 +145,7 @@ index 1a1c661..b7687c5 100644
static const char *interp_prefix = CONFIG_QEMU_INTERP_PREFIX;
const char *qemu_uname_release = CONFIG_UNAME_RELEASE;
@@ -3196,6 +3197,11 @@ static void handle_arg_reserved_va(const char *arg)
@@ -3192,6 +3193,11 @@ static void handle_arg_reserved_va(const char *arg)
}
#endif
@ -157,7 +157,7 @@ index 1a1c661..b7687c5 100644
static void handle_arg_singlestep(const char *arg)
{
singlestep = 1;
@@ -3251,6 +3257,8 @@ static const struct qemu_argument arg_table[] = {
@@ -3247,6 +3253,8 @@ static const struct qemu_argument arg_table[] = {
"options", "activate log"},
{"D", "QEMU_LOG_FILENAME", true, handle_arg_log_filename,
"logfile", "override default logfile location"},
@ -167,10 +167,10 @@ index 1a1c661..b7687c5 100644
"pagesize", "set the host page size to 'pagesize'"},
{"singlestep", "QEMU_SINGLESTEP", false, handle_arg_singlestep,
diff --git a/qemu-options.hx b/qemu-options.hx
index 3c411c4..af614bf 100644
index fbcf079..d39d0f3 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -1196,6 +1196,15 @@ STEXI
@@ -1258,6 +1258,15 @@ STEXI
Disable HPET support.
ETEXI
@ -187,10 +187,10 @@ index 3c411c4..af614bf 100644
"-acpitable [sig=str][,rev=n][,oem_id=str][,oem_table_id=str][,oem_rev=n][,asl_compiler_id=str][,asl_compiler_rev=n][,{data|file}=file1[:file2]...]\n"
" ACPI table description\n", QEMU_ARCH_I386)
diff --git a/vl.c b/vl.c
index 7c577fa..fdf755f 100644
index a3ab384..a13012e 100644
--- a/vl.c
+++ b/vl.c
@@ -176,6 +176,8 @@ int main(int argc, char **argv)
@@ -177,6 +177,8 @@ int main(int argc, char **argv)
#define MAX_VIRTIO_CONSOLES 1
@ -199,7 +199,7 @@ index 7c577fa..fdf755f 100644
static const char *data_dir;
const char *bios_name = NULL;
enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
@@ -3039,6 +3041,9 @@ int main(int argc, char **argv, char **envp)
@@ -3226,6 +3228,9 @@ int main(int argc, char **argv, char **envp)
qdev_prop_register_global_list(slew_lost_ticks);
break;
}

View File

@ -1,17 +1,17 @@
From ed58a0a90acc2299a306080d356095a0978bca91 Mon Sep 17 00:00:00 2001
From a4bf95453f77fb392fb6bfcc4607e89d50de1802 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Mon, 21 Nov 2011 23:50:36 +0100
Subject: [PATCH] XXX dont dump core on sigabort
---
linux-user/signal.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
1 Datei geändert, 6 Zeilen hinzugefügt(+)
diff --git a/linux-user/signal.c b/linux-user/signal.c
index 7869147..0078b32 100644
index 95e2ffa..4758c11 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -373,6 +373,10 @@ static void QEMU_NORETURN force_sig(int target_sig)
@@ -394,6 +394,10 @@ static void QEMU_NORETURN force_sig(int target_sig)
host_sig = target_to_host_signal(target_sig);
gdb_signalled(thread_env, target_sig);
@ -22,7 +22,7 @@ index 7869147..0078b32 100644
/* dump core if supported by target binary format */
if (core_dump_signal(target_sig) && (ts->bprm->core_dump != NULL)) {
stop_all_tasks();
@@ -390,6 +394,8 @@ static void QEMU_NORETURN force_sig(int target_sig)
@@ -411,6 +415,8 @@ static void QEMU_NORETURN force_sig(int target_sig)
target_sig, strsignal(host_sig), "core dumped" );
}

View File

@ -1,4 +1,4 @@
From 484a06c7e009880519d417c3b72e7170563ea36d Mon Sep 17 00:00:00 2001
From 489924aa0115dc6cfcd4e91b0747da4ff8425d1f Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Thu, 1 Dec 2011 19:00:01 +0100
Subject: [PATCH] XXX work around SA_RESTART race with boehm-gc (ARM only)
@ -9,13 +9,13 @@ Subject: [PATCH] XXX work around SA_RESTART race with boehm-gc (ARM only)
linux-user/qemu.h | 3 ++
linux-user/signal.c | 22 ++++++++++++
linux-user/syscall.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++-
4 files changed, 130 insertions(+), 10 deletions(-)
4 Dateien geändert, 130 Zeilen hinzugefügt(+), 10 Zeilen entfernt(-)
diff --git a/linux-user/main.c b/linux-user/main.c
index b7687c5..8002c77 100644
index c339af8..c4d10ac 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -847,15 +847,22 @@ void cpu_loop(CPUARMState *env)
@@ -834,15 +834,22 @@ void cpu_loop(CPUARMState *env)
break;
}
} else {
@ -48,7 +48,7 @@ index b7687c5..8002c77 100644
} else {
goto error;
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
index 69b27d7..175d502 100644
index 5e53dca..7cc7b87 100644
--- a/linux-user/qemu.h
+++ b/linux-user/qemu.h
@@ -137,6 +137,8 @@ typedef struct TaskState {
@ -69,7 +69,7 @@ index 69b27d7..175d502 100644
/* Creates the initial guest address space in the host memory space using
* the given host start address hint and size. The guest_start parameter
diff --git a/linux-user/signal.c b/linux-user/signal.c
index 0078b32..4a637f4 100644
index 4758c11..703a9f5 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -25,6 +25,7 @@
@ -80,7 +80,7 @@ index 0078b32..4a637f4 100644
#include "qemu.h"
#include "qemu-common.h"
@@ -481,6 +482,11 @@ int queue_signal(CPUArchState *env, int sig, target_siginfo_t *info)
@@ -502,6 +503,11 @@ int queue_signal(CPUArchState *env, int sig, target_siginfo_t *info)
k->pending = 1;
/* signal that a new signal is pending */
ts->signal_pending = 1;
@ -92,7 +92,7 @@ index 0078b32..4a637f4 100644
return 1; /* indicates that the signal was queued */
}
}
@@ -621,8 +627,24 @@ int do_sigaction(int sig, const struct target_sigaction *act,
@@ -642,8 +648,24 @@ int do_sigaction(int sig, const struct target_sigaction *act,
if (host_sig != SIGSEGV && host_sig != SIGBUS) {
sigfillset(&act1.sa_mask);
act1.sa_flags = SA_SIGINFO;
@ -118,10 +118,10 @@ index 0078b32..4a637f4 100644
ignore state to avoid getting unexpected interrupted
syscalls */
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 6257a04..10ea39f 100644
index e4291ed..05d4809 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5086,6 +5086,87 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
@@ -5134,6 +5134,87 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
return get_errno(open(path(pathname), flags, mode));
}
@ -209,7 +209,7 @@ index 6257a04..10ea39f 100644
/* 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>. */
@@ -5098,6 +5179,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
@@ -5146,6 +5227,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
struct stat st;
struct statfs stfs;
void *p;
@ -222,7 +222,7 @@ index 6257a04..10ea39f 100644
#ifdef DEBUG
gemu_log("syscall %d", num);
@@ -8094,7 +8181,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
@@ -8154,7 +8241,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
cmd = target_to_host_fcntl_cmd(arg2);
if (cmd == -TARGET_EINVAL) {
ret = cmd;
@ -231,7 +231,7 @@ index 6257a04..10ea39f 100644
}
switch(arg2) {
@@ -8839,6 +8926,7 @@ fail:
@@ -8911,6 +8998,7 @@ fail:
#endif
if(do_strace)
print_syscall_ret(num, ret);

View File

@ -1,4 +1,4 @@
From b0fd82b0d90efb977b62491733361ea2466d1753 Mon Sep 17 00:00:00 2001
From 356c3bb04f62ec78f7e8547860a5278af09ecf31 Mon Sep 17 00:00:00 2001
From: Ulrich Hecht <uli@suse.de>
Date: Tue, 14 Apr 2009 16:18:44 +0200
Subject: [PATCH] qemu-0.9.0.cvs-binfmt
@ -11,7 +11,7 @@ Fixes binfmt_misc setup script:
Signed-off-by: Ulrich Hecht <uli@suse.de>
---
scripts/qemu-binfmt-conf.sh | 37 ++++++++++++++++++++-----------------
1 files changed, 20 insertions(+), 17 deletions(-)
1 Datei geändert, 20 Zeilen hinzugefügt(+), 17 Zeilen entfernt(-)
diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
index 0da2618..dc652f0 100644

View File

@ -1,4 +1,4 @@
From 6d14e9d5678e7c6e7aa051777730b164d510341e Mon Sep 17 00:00:00 2001
From 3d4f6be5e8c015207cb0eb88b583fe5c7dff5e1b Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 14 Apr 2009 16:20:50 +0200
Subject: [PATCH] qemu-cvs-alsa_bitfield
@ -10,7 +10,7 @@ Signed-off-by: Ulrich Hecht <uli@suse.de>
---
thunk.c | 21 +++++++++++++++++++++
thunk.h | 3 +++
2 files changed, 24 insertions(+), 0 deletions(-)
2 Dateien geändert, 24 Zeilen hinzugefügt(+)
diff --git a/thunk.c b/thunk.c
index 8ebbbb4..bf43985 100644

View File

@ -1,4 +1,4 @@
From 9723717ddf7d021c368be04f2e160156d8ed8031 Mon Sep 17 00:00:00 2001
From 2d904fc3b891478a2e5f441ae11ccc6815a691fa Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 14 Apr 2009 16:23:27 +0200
Subject: [PATCH] qemu-cvs-alsa_ioctl
@ -14,7 +14,7 @@ Signed-off-by: Ulrich Hecht <uli@suse.de>
linux-user/syscall_defs.h | 2 +
linux-user/syscall_types.h | 5 +
linux-user/syscall_types_alsa.h | 1336 +++++++++++++++++++++++++++++
6 files changed, 3555 insertions(+), 0 deletions(-)
6 Dateien geändert, 3555 Zeilen hinzugefügt(+)
create mode 100644 linux-user/ioctls_alsa.h
create mode 100644 linux-user/ioctls_alsa_structs.h
create mode 100644 linux-user/syscall_types_alsa.h

View File

@ -1,4 +1,4 @@
From 75938d42711c299d319a16d54942a439ef2abac4 Mon Sep 17 00:00:00 2001
From 8aa372d7222fae8585ad70c1f21dee6b58342b1d Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 14 Apr 2009 16:24:15 +0200
Subject: [PATCH] qemu-cvs-alsa_mmap
@ -9,7 +9,7 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Ulrich Hecht <uli@suse.de>
---
linux-user/mmap.c | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
1 Datei geändert, 14 Zeilen hinzugefügt(+)
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index b412e3f..46523de 100644

View File

@ -1,4 +1,4 @@
From e21969aab220744e0412c51a46e685d593dde832 Mon Sep 17 00:00:00 2001
From 3ede5ef28d412e67ad69f844462214373ffff070 Mon Sep 17 00:00:00 2001
From: Ulrich Hecht <uli@suse.de>
Date: Tue, 14 Apr 2009 16:25:41 +0200
Subject: [PATCH] qemu-cvs-gettimeofday
@ -6,13 +6,13 @@ Subject: [PATCH] qemu-cvs-gettimeofday
No clue what this is for.
---
linux-user/syscall.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
1 Datei geändert, 2 Zeilen hinzugefügt(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 10ea39f..fbdba83 100644
index 05d4809..edcc4c8 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -6237,6 +6237,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
@@ -6285,6 +6285,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
case TARGET_NR_gettimeofday:
{
struct timeval tv;

View File

@ -1,4 +1,4 @@
From a28ad521ee4977748b405b7fbad25f686728d78a Mon Sep 17 00:00:00 2001
From cf57bf12cc18d5e3343e58c31d21dda05d1b0d2a Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 14 Apr 2009 16:26:33 +0200
Subject: [PATCH] qemu-cvs-ioctl_debug
@ -9,13 +9,13 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Ulrich Hecht <uli@suse.de>
---
linux-user/syscall.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
1 Datei geändert, 6 Zeilen hinzugefügt(+), 1 Zeile entfernt(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index fbdba83..6bfe718 100644
index edcc4c8..65246a1 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -3657,7 +3657,12 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
@@ -3705,7 +3705,12 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
ie = ioctl_entries;
for(;;) {
if (ie->target_cmd == 0) {

View File

@ -1,4 +1,4 @@
From 7732c5e1c49ffe35d73eed9a23a3b6fa603d8573 Mon Sep 17 00:00:00 2001
From 05896a51357189170f2e645b09fdf8a6d883c5e6 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 14 Apr 2009 16:27:36 +0200
Subject: [PATCH] qemu-cvs-ioctl_nodirection
@ -12,13 +12,13 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Ulrich Hecht <uli@suse.de>
---
linux-user/syscall.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
1 Datei geändert, 6 Zeilen hinzugefügt(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 6bfe718..46fc3df 100644
index 65246a1..d8d41c5 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -3691,6 +3691,11 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
@@ -3739,6 +3739,11 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
arg_type++;
target_size = thunk_type_size(arg_type, 0);
switch(ie->access) {
@ -30,7 +30,7 @@ index 6bfe718..46fc3df 100644
case IOC_R:
ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
if (!is_error(ret)) {
@@ -3709,6 +3714,7 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
@@ -3757,6 +3762,7 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
unlock_user(argptr, arg, 0);
ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
break;

View File

@ -1,9 +1,9 @@
From c6a8d6d888cacb6e480539f0b2ffbac84d937845 Mon Sep 17 00:00:00 2001
From b1cda166ddfec68baa01b494dec64a2f32d23bd9 Mon Sep 17 00:00:00 2001
From: Ulrich Hecht <uli@suse.de>
Date: Tue, 14 Apr 2009 16:37:42 +0200
Subject: [PATCH] block/vmdk: Support creation of SCSI VMDK images in qemu-img
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Ulrich Hecht <uli@suse.de>
@ -14,13 +14,13 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
block/vmdk.c | 12 ++++++++++--
block_int.h | 2 ++
qemu-img.c | 8 +++++++-
4 files changed, 23 insertions(+), 4 deletions(-)
4 Dateien geändert, 23 Zeilen hinzugefügt(+), 4 Zeilen entfernt(-)
diff --git a/block.c b/block.c
index 470bdcc..b27622b 100644
index c05875f..07e271c 100644
--- a/block.c
+++ b/block.c
@@ -3902,7 +3902,7 @@ int bdrv_img_create(const char *filename, const char *fmt,
@@ -4413,7 +4413,7 @@ int bdrv_img_create(const char *filename, const char *fmt,
char *options, uint64_t img_size, int flags)
{
QEMUOptionParameter *param = NULL, *create_options = NULL;
@ -29,7 +29,7 @@ index 470bdcc..b27622b 100644
BlockDriverState *bs = NULL;
BlockDriver *drv, *proto_drv;
BlockDriver *backing_drv = NULL;
@@ -4017,6 +4017,9 @@ int bdrv_img_create(const char *filename, const char *fmt,
@@ -4528,6 +4528,9 @@ int bdrv_img_create(const char *filename, const char *fmt,
printf("Formatting '%s', fmt=%s ", filename, fmt);
print_option_parameters(param);
@ -40,10 +40,10 @@ index 470bdcc..b27622b 100644
ret = bdrv_create(drv, filename, param);
diff --git a/block/vmdk.c b/block/vmdk.c
index bba4c61..7db59b0 100644
index 51398c0..580e4b3 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -1432,7 +1432,7 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options)
@@ -1471,7 +1471,7 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options)
"ddb.geometry.cylinders = \"%" PRId64 "\"\n"
"ddb.geometry.heads = \"16\"\n"
"ddb.geometry.sectors = \"63\"\n"
@ -52,7 +52,7 @@ index bba4c61..7db59b0 100644
if (filename_decompose(filename, path, prefix, postfix, PATH_MAX)) {
return -EINVAL;
@@ -1447,6 +1447,8 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options)
@@ -1486,6 +1486,8 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options)
flags |= options->value.n ? BLOCK_FLAG_COMPAT6 : 0;
} else if (!strcmp(options->name, BLOCK_OPT_SUBFMT)) {
fmt = options->value.s;
@ -61,7 +61,7 @@ index bba4c61..7db59b0 100644
}
options++;
}
@@ -1537,7 +1539,8 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options)
@@ -1576,7 +1578,8 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options)
parent_desc_line,
ext_desc_lines,
(flags & BLOCK_FLAG_COMPAT6 ? 6 : 4),
@ -71,7 +71,7 @@ index bba4c61..7db59b0 100644
if (split || flat) {
fd = qemu_open(filename,
O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_LARGEFILE,
@@ -1638,6 +1641,11 @@ static QEMUOptionParameter vmdk_create_options[] = {
@@ -1677,6 +1680,11 @@ static QEMUOptionParameter vmdk_create_options[] = {
"VMDK flat extent format, can be one of "
"{monolithicSparse (default) | monolithicFlat | twoGbMaxExtentSparse | twoGbMaxExtentFlat | streamOptimized} "
},
@ -84,10 +84,10 @@ index bba4c61..7db59b0 100644
};
diff --git a/block_int.h b/block_int.h
index 4452f6f..92a75c8 100644
index 9deedb8..8274c89 100644
--- a/block_int.h
+++ b/block_int.h
@@ -35,6 +35,7 @@
@@ -36,6 +36,7 @@
#define BLOCK_FLAG_ENCRYPT 1
#define BLOCK_FLAG_COMPAT6 4
#define BLOCK_FLAG_LAZY_REFCOUNTS 8
@ -95,7 +95,7 @@ index 4452f6f..92a75c8 100644
#define BLOCK_IO_LIMIT_READ 0
#define BLOCK_IO_LIMIT_WRITE 1
@@ -46,6 +47,7 @@
@@ -47,6 +48,7 @@
#define BLOCK_OPT_SIZE "size"
#define BLOCK_OPT_ENCRYPT "encryption"
#define BLOCK_OPT_COMPAT6 "compat6"
@ -104,10 +104,10 @@ index 4452f6f..92a75c8 100644
#define BLOCK_OPT_BACKING_FMT "backing_fmt"
#define BLOCK_OPT_CLUSTER_SIZE "cluster_size"
diff --git a/qemu-img.c b/qemu-img.c
index b41e670..e34d88a 100644
index e29e01b..8040a41 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -665,7 +665,7 @@ static int img_convert(int argc, char **argv)
@@ -671,7 +671,7 @@ static int img_convert(int argc, char **argv)
const uint8_t *buf1;
BlockDriverInfo bdi;
QEMUOptionParameter *param = NULL, *create_options = NULL;
@ -115,8 +115,8 @@ index b41e670..e34d88a 100644
+ QEMUOptionParameter *out_baseimg_param, *scsi;
char *options = NULL;
const char *snapshot_name = NULL;
float local_progress;
@@ -858,6 +858,12 @@ static int img_convert(int argc, char **argv)
float local_progress = 0;
@@ -864,6 +864,12 @@ static int img_convert(int argc, char **argv)
}
}

View File

@ -1,9 +1,9 @@
From c70851ae29a0c9c6671c1c0c813e043d6468f3b2 Mon Sep 17 00:00:00 2001
From 2fef2d48c6c719ce1adc9164954cc195e8878b48 Mon Sep 17 00:00:00 2001
From: Ulrich Hecht <uli@suse.de>
Date: Wed, 25 Aug 2010 14:23:43 +0200
Subject: [PATCH] configure: Enable mipsn32*-linux-user builds
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Ulrich Hecht <uli@suse.de>
@ -12,13 +12,13 @@ Signed-off-by: Ulrich Hecht <uli@suse.de>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
configure | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
1 Datei geändert, 2 Zeilen hinzugefügt(+)
diff --git a/configure b/configure
index d97fd81..ebf7a6b 100755
index 780b19a..92c010f 100755
--- a/configure
+++ b/configure
@@ -997,6 +997,8 @@ microblaze-linux-user \
@@ -952,6 +952,8 @@ microblaze-linux-user \
microblazeel-linux-user \
mips-linux-user \
mipsel-linux-user \

View File

@ -1,9 +1,9 @@
From b7af750752167f3288ff3c8c94f6228964a37b26 Mon Sep 17 00:00:00 2001
From 36b66d756ba6639f5bfe6d84c4ec6634ea35708e Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Fri, 30 Sep 2011 19:40:36 +0200
Subject: [PATCH] linux-user: add binfmt wrapper for argv[0] handling
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When using qemu's linux-user binaries through binfmt, argv[0] gets lost
@ -31,14 +31,14 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
linux-user/Makefile.objs | 2 ++
linux-user/binfmt.c | 42 ++++++++++++++++++++++++++++++++++++++++++
scripts/qemu-binfmt-conf.sh | 34 +++++++++++++++++-----------------
4 files changed, 73 insertions(+), 17 deletions(-)
4 Dateien geändert, 73 Zeilen hinzugefügt(+), 17 Zeilen entfernt(-)
create mode 100644 linux-user/binfmt.c
diff --git a/Makefile.target b/Makefile.target
index 7892a8d..e802f3f 100644
index 8b658c0..206a232 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -34,6 +34,10 @@ PROGS+=$(QEMU_PROGW)
@@ -31,6 +31,10 @@ PROGS+=$(QEMU_PROGW)
endif
STPFILES=
@ -49,7 +49,7 @@ index 7892a8d..e802f3f 100644
ifndef CONFIG_HAIKU
LIBS+=-lm
endif
@@ -98,6 +102,8 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) -I$(SRC_PATH)/linux-user
@@ -87,6 +91,8 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) -I$(SRC_PATH)/linux-user
obj-y += linux-user/
obj-y += gdbstub.o thunk.o user-exec.o $(oslib-obj-y)
@ -58,7 +58,7 @@ index 7892a8d..e802f3f 100644
endif #CONFIG_LINUX_USER
#########################################################
@@ -155,6 +161,9 @@ GENERATED_HEADERS += hmp-commands.h qmp-commands-old.h
@@ -144,6 +150,9 @@ GENERATED_HEADERS += hmp-commands.h qmp-commands-old.h
endif # CONFIG_SOFTMMU
nested-vars += obj-y
@ -68,7 +68,7 @@ index 7892a8d..e802f3f 100644
# This resolves all nested paths, so it must come last
include $(SRC_PATH)/Makefile.objs
@@ -183,6 +192,9 @@ $(QEMU_PROG): $(all-obj-y)
@@ -171,6 +180,9 @@ $(QEMU_PROG): $(all-obj-y) ../libqemustub.a
$(call LINK,$^)
endif

View File

@ -1,4 +1,4 @@
From af1996be2ec3451ba2a50e079328916a5f4f2db0 Mon Sep 17 00:00:00 2001
From a0a68011fcb6967b57ed3ab82297a7cd67d1f242 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Sun, 11 Dec 2011 01:19:24 +0100
Subject: [PATCH] linux-user: Ignore timer_create syscall
@ -9,13 +9,13 @@ about it breaks some %check tests in OBS, so better ignore it silently.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/syscall.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
1 Datei geändert, 5 Zeilen hinzugefügt(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 46fc3df..0da4cce 100644
index d8d41c5..1b8058c 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -8555,6 +8555,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
@@ -8615,6 +8615,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
break;
#endif

View File

@ -1,4 +1,4 @@
From f8f3c9eae7186bd49662efda635be42186d19f0e Mon Sep 17 00:00:00 2001
From bcdbe11fc32deb887239942dbb937a1364dcf0b5 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Sun, 11 Dec 2011 01:21:51 +0100
Subject: [PATCH] linux-user: be silent about capget failures
@ -10,13 +10,13 @@ implementation and go on with life :)
Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/syscall.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
1 Datei geändert, 1 Zeile hinzugefügt(+), 1 Zeile entfernt(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 0da4cce..46331c7 100644
index 1b8058c..30ee613 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -7536,7 +7536,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
@@ -7596,7 +7596,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
unlock_user(p, arg1, ret);
break;
case TARGET_NR_capget:

View File

@ -1,4 +1,4 @@
From ce883e32df0e52395c5df74364e424c255657a64 Mon Sep 17 00:00:00 2001
From 62d2afce83ee9e3e3be6d5fdca9881b50ff76335 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Fri, 6 Jan 2012 01:05:55 +0100
Subject: [PATCH] PPC: KVM: Disable mmu notifier check
@ -10,13 +10,13 @@ So disable the check for mmu notifiers on PowerPC guests, making
KVM guests work there, even if possibly racy in some odd circumstances.
---
exec.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
1 Datei geändert, 2 Zeilen hinzugefügt(+)
diff --git a/exec.c b/exec.c
index 9cbdc35..baa495f 100644
index edb44fc..8971d61 100644
--- a/exec.c
+++ b/exec.c
@@ -2392,10 +2392,12 @@ static void *file_ram_alloc(RAMBlock *block,
@@ -2397,10 +2397,12 @@ static void *file_ram_alloc(RAMBlock *block,
return NULL;
}

View File

@ -1,4 +1,4 @@
From 76d1a76b0286e02aa575faad3556f73481ade1b2 Mon Sep 17 00:00:00 2001
From 6e109b9641234cc0fb20bd1aa254de41a5b8d82d Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Fri, 13 Jan 2012 17:05:41 +0100
Subject: [PATCH] linux-user: fix segfault deadlock
@ -19,7 +19,7 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
---
qemu-lock.h | 10 ++++++++++
user-exec.c | 4 ++++
2 files changed, 14 insertions(+), 0 deletions(-)
2 Dateien geändert, 14 Zeilen hinzugefügt(+)
diff --git a/qemu-lock.h b/qemu-lock.h
index a72edda..e460e12 100644
@ -48,10 +48,10 @@ index a72edda..e460e12 100644
+
#endif
diff --git a/user-exec.c b/user-exec.c
index b9ea9dd..5a04218 100644
index ef9b172..1ec5d9a 100644
--- a/user-exec.c
+++ b/user-exec.c
@@ -102,6 +102,10 @@ static inline int handle_cpu_signal(uintptr_t pc, unsigned long address,
@@ -88,6 +88,10 @@ static inline int handle_cpu_signal(uintptr_t pc, unsigned long address,
qemu_printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n",
pc, address, is_write, *(unsigned long *)old_set);
#endif

View File

@ -1,4 +1,4 @@
From 0ab4e7c155b5b5bc60fab22581480f50b100c6d7 Mon Sep 17 00:00:00 2001
From 43791bf2575328883edccf7d2dd8c5b8dc08ead3 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Thu, 2 Feb 2012 18:02:33 +0100
Subject: [PATCH] linux-user: binfmt: support host binaries
@ -9,7 +9,7 @@ trying to run, let's just use that instead as it will be a lot faster.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/binfmt.c | 25 +++++++++++++++++++++++++
1 files changed, 25 insertions(+), 0 deletions(-)
1 Datei geändert, 25 Zeilen hinzugefügt(+)
diff --git a/linux-user/binfmt.c b/linux-user/binfmt.c
index cd1f513..87dc4c6 100644

View File

@ -1,4 +1,4 @@
From 3003a3645ad1ab3b81fe3cc33020edbc3c4d04c4 Mon Sep 17 00:00:00 2001
From fe632f1782d2b8b98c9e958b33cee9443b0a59b9 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 29 May 2012 15:30:01 +0200
Subject: [PATCH] linux-user: arm: no tb_flush on reset
@ -11,7 +11,7 @@ So something in our thread creation is broken. But for now, let's revert the
change to at least get a working build again.
---
target-arm/cpu.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
1 Datei geändert, 4 Zeilen hinzugefügt(+)
diff --git a/target-arm/cpu.c b/target-arm/cpu.c
index b00f5fa..740dbc3 100644

View File

@ -1,4 +1,4 @@
From 220524131e4a49e2605d1f32eef7856e87f9e6ca Mon Sep 17 00:00:00 2001
From 0dbc0c5f126ca20f6a8606abf8f7a714fd61788e Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 12 Jun 2012 04:41:10 +0200
Subject: [PATCH] linux-user: Ignore broken loop ioctl
@ -15,7 +15,7 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
linux-user/linux_loop.h | 1 +
linux-user/syscall.c | 7 +++++++
linux-user/syscall_defs.h | 1 +
4 files changed, 10 insertions(+), 0 deletions(-)
4 Dateien geändert, 10 Zeilen hinzugefügt(+)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 6af0cb7..bb76c56 100644
@ -41,10 +41,10 @@ index 8974caa..810ae61 100644
#endif
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 946f5fb..ed87c54 100644
index 30ee613..d62e9e6 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -3634,6 +3634,13 @@ out:
@@ -3682,6 +3682,13 @@ out:
return ret;
}

View File

@ -1,32 +0,0 @@
From bd56605435341c14ff8fb6194961f3ab7d00cc79 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Wed, 30 May 2012 14:40:47 +0200
Subject: [PATCH] linux-user: fix multi-threaded /proc/self/maps
When reading our faked /proc/self/maps from a secondary thread,
we get an invalid stack entry. This is because ts->stack_base is not
initialized in non-primary threads.
However, ts->info is, and the stack layout information we're looking
for is there too. So let's use that one instead!
Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/syscall.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 46331c7..946f5fb 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -4975,8 +4975,8 @@ static int open_self_maps(void *cpu_env, int fd)
#if defined(TARGET_ARM) || defined(TARGET_M68K) || defined(TARGET_UNICORE32)
dprintf(fd, "%08llx-%08llx rw-p %08llx 00:00 0 [stack]\n",
(unsigned long long)ts->info->stack_limit,
- (unsigned long long)(ts->stack_base + (TARGET_PAGE_SIZE - 1))
- & TARGET_PAGE_MASK,
+ (unsigned long long)(ts->info->start_stack +
+ (TARGET_PAGE_SIZE - 1)) & TARGET_PAGE_MASK,
(unsigned long long)0);
#endif

View File

@ -1,9 +1,9 @@
From 15d8143262362abfe31588500946d49eb27f9d99 Mon Sep 17 00:00:00 2001
From d9710a8b8c7a8118d93ae3e8eaa11b66ca68a1b6 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Mon, 25 Jun 2012 19:02:32 +0200
Subject: [PATCH] linux-user: fix segmentation fault passing with g2h(x) != x
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When forwarding a segmentation fault into the guest process, we were passing
@ -20,13 +20,13 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
user-exec.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
1 Datei geändert, 6 Zeilen hinzugefügt(+)
diff --git a/user-exec.c b/user-exec.c
index 5a04218..bc3eef9 100644
index 1ec5d9a..71afbf1 100644
--- a/user-exec.c
+++ b/user-exec.c
@@ -112,6 +112,12 @@ static inline int handle_cpu_signal(uintptr_t pc, unsigned long address,
@@ -98,6 +98,12 @@ static inline int handle_cpu_signal(uintptr_t pc, unsigned long address,
return 1;
}

View File

@ -1,82 +0,0 @@
From 50cab0124e30c58c786c181b8b1909c659a7d458 Mon Sep 17 00:00:00 2001
From: Michael Tokarev <mjt@tls.msk.ru>
Date: Thu, 7 Jun 2012 01:11:00 +0400
Subject: [PATCH] use --libexecdir instead of ignoring it first and reinventing it later
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Commit 7b93fadf3a38d1ed65ea5536a52efc2772c6e3b8 "Add basic version
of bridge helper" put the bridge helper executable into a fixed
${prefix}/libexec/ location, instead of using ${libexecdir} for
this. At the same time, --libexecdir is being happily ignored
by ./configure. Even more, the same patch sets unused $libexecdir
variable in the generated config-host.mak, and uses fixed string
(\${prefix}/libexecdir) for the bridge helper binary.
Fix this braindamage by introducing $libexecdir variable, using
it for the bridge helper binary, and recognizing --libexecdir.
This patch is applicable to stable-1.1.
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
configure | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/configure b/configure
index ebf7a6b..e39635c 100755
--- a/configure
+++ b/configure
@@ -183,6 +183,7 @@ datadir="\${prefix}/share"
qemu_docdir="\${prefix}/share/doc/qemu"
bindir="\${prefix}/bin"
libdir="\${prefix}/lib"
+libexecdir="\${prefix}/libexec"
includedir="\${prefix}/include"
sysconfdir="\${prefix}/etc"
confsuffix="/qemu"
@@ -633,6 +634,8 @@ for opt do
;;
--libdir=*) libdir="$optarg"
;;
+ --libexecdir=*) libexecdir="$optarg"
+ ;;
--includedir=*) includedir="$optarg"
;;
--datadir=*) datadir="$optarg"
@@ -643,7 +646,7 @@ for opt do
;;
--sysconfdir=*) sysconfdir="$optarg"
;;
- --sbindir=*|--libexecdir=*|--sharedstatedir=*|--localstatedir=*|\
+ --sbindir=*|--sharedstatedir=*|--localstatedir=*|\
--oldincludedir=*|--datarootdir=*|--infodir=*|--localedir=*|\
--htmldir=*|--dvidir=*|--pdfdir=*|--psdir=*)
# These switches are silently ignored, for compatibility with
@@ -3082,6 +3085,7 @@ echo "Install prefix $prefix"
echo "BIOS directory `eval echo $qemu_datadir`"
echo "binary directory `eval echo $bindir`"
echo "library directory `eval echo $libdir`"
+echo "libexec directory `eval echo $libexecdir`"
echo "include directory `eval echo $includedir`"
echo "config directory `eval echo $sysconfdir`"
if test "$mingw32" = "no" ; then
@@ -3185,14 +3189,14 @@ echo all: >> $config_host_mak
echo "prefix=$prefix" >> $config_host_mak
echo "bindir=$bindir" >> $config_host_mak
echo "libdir=$libdir" >> $config_host_mak
+echo "libexecdir=$libexecdir" >> $config_host_mak
echo "includedir=$includedir" >> $config_host_mak
echo "mandir=$mandir" >> $config_host_mak
echo "sysconfdir=$sysconfdir" >> $config_host_mak
echo "qemu_confdir=$qemu_confdir" >> $config_host_mak
echo "qemu_datadir=$qemu_datadir" >> $config_host_mak
echo "qemu_docdir=$qemu_docdir" >> $config_host_mak
-echo "libexecdir=\${prefix}/libexec" >> $config_host_mak
-echo "CONFIG_QEMU_HELPERDIR=\"$prefix/libexec\"" >> $config_host_mak
+echo "CONFIG_QEMU_HELPERDIR=\"$libexecdir\"" >> $config_host_mak
echo "ARCH=$ARCH" >> $config_host_mak
if test "$debug_tcg" = "yes" ; then

View File

@ -1,4 +1,4 @@
From 7b0143c4d7b4db4d0abe3965a4005aea661adaf2 Mon Sep 17 00:00:00 2001
From b513d3defee96f01751050e5a9c80b64a3703d10 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Thu, 5 Jul 2012 17:31:39 +0200
Subject: [PATCH] linux-user: lock tcg
@ -11,7 +11,7 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
linux-user/mmap.c | 3 +++
tcg/tcg.c | 36 ++++++++++++++++++++++++++++++++++--
tcg/tcg.h | 6 ++++++
3 files changed, 43 insertions(+), 2 deletions(-)
3 Dateien geändert, 43 Zeilen hinzugefügt(+), 2 Zeilen entfernt(-)
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index 46523de..59718b5 100644
@ -42,7 +42,7 @@ index 46523de..59718b5 100644
}
diff --git a/tcg/tcg.c b/tcg/tcg.c
index 8386b70..b067fc1 100644
index cb193f2..ecc990d 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -40,6 +40,8 @@
@ -54,9 +54,9 @@ index 8386b70..b067fc1 100644
/* Note: the long term plan is to reduce the dependancies on the QEMU
CPU definitions. Currently they are used for qemu_ld/st
@@ -105,6 +107,29 @@ static TCGRegSet tcg_target_call_clobber_regs;
uint16_t *gen_opc_ptr;
TCGArg *gen_opparam_ptr;
@@ -96,6 +98,29 @@ const size_t tcg_op_defs_max = ARRAY_SIZE(tcg_op_defs);
static TCGRegSet tcg_target_available_regs[2];
static TCGRegSet tcg_target_call_clobber_regs;
+#ifdef CONFIG_USER_ONLY
+static __thread int tcg_lock_count;
@ -84,9 +84,9 @@ index 8386b70..b067fc1 100644
static inline void tcg_out8(TCGContext *s, uint8_t v)
{
*s->code_ptr++ = v;
@@ -245,7 +270,8 @@ void tcg_context_init(TCGContext *s)
@@ -235,7 +260,8 @@ void tcg_context_init(TCGContext *s)
memset(s, 0, sizeof(*s));
s->temps = s->static_temps;
s->nb_globals = 0;
-
+ qemu_mutex_init(&s->lock);
@ -94,7 +94,7 @@ index 8386b70..b067fc1 100644
/* Count total number of arguments and allocate the corresponding
space */
total_args = 0;
@@ -2188,11 +2214,13 @@ int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf)
@@ -2342,11 +2368,13 @@ int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf)
}
#endif
@ -108,7 +108,7 @@ index 8386b70..b067fc1 100644
return s->code_ptr - gen_code_buf;
}
@@ -2203,7 +2231,11 @@ int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf)
@@ -2357,7 +2385,11 @@ int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf)
Return -1 if not found. */
int tcg_gen_code_search_pc(TCGContext *s, uint8_t *gen_code_buf, long offset)
{
@ -122,7 +122,7 @@ index 8386b70..b067fc1 100644
#ifdef CONFIG_PROFILER
diff --git a/tcg/tcg.h b/tcg/tcg.h
index d710694..9902ee6 100644
index 9481e35..1f56b40 100644
--- a/tcg/tcg.h
+++ b/tcg/tcg.h
@@ -46,6 +46,8 @@ typedef uint64_t tcg_target_ulong;
@ -134,15 +134,15 @@ index d710694..9902ee6 100644
#include "tcg-target.h"
#include "tcg-runtime.h"
@@ -389,6 +391,7 @@ struct TCGContext {
#ifdef CONFIG_DEBUG_TCG
int temps_in_use;
@@ -462,6 +464,7 @@ struct TCGContext {
TCGLabelQemuLdst *qemu_ldst_labels;
int nb_qemu_ldst_labels;
#endif
+ QemuMutex lock;
};
extern TCGContext tcg_ctx;
@@ -568,6 +571,9 @@ void tcg_gen_shifti_i64(TCGv_i64 ret, TCGv_i64 arg1,
@@ -641,6 +644,9 @@ void tcg_gen_shifti_i64(TCGv_i64 ret, TCGv_i64 arg1,
TCGArg *tcg_optimize(TCGContext *s, uint16_t *tcg_opc_ptr, TCGArg *args,
TCGOpDef *tcg_op_def);

View File

@ -1,4 +1,4 @@
From 04335a4529058c0a9a5821807291ef731716d222 Mon Sep 17 00:00:00 2001
From 871faba46546dc6779367f54e19cf047109d798b Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 10 Jul 2012 20:40:55 +0200
Subject: [PATCH] linux-user: Run multi-threaded code on a single core
@ -16,13 +16,13 @@ This gets Java 1.7 working for me again on my test box.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/syscall.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
1 Datei geändert, 9 Zeilen hinzugefügt(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index ed87c54..9f689da 100644
index d62e9e6..5295afb 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -4352,6 +4352,15 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
@@ -4400,6 +4400,15 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
if (nptl_flags & CLONE_SETTLS)
cpu_set_tls (new_env, newtls);

View File

@ -1,4 +1,4 @@
From 65070d242a976097ec3b3b7ee788a1d36fab9c79 Mon Sep 17 00:00:00 2001
From 9885e5e4914547201d526a99e4caa8a4fee63af9 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Wed, 11 Jul 2012 16:47:42 +0200
Subject: [PATCH] linux-user: lock tb flushing too
@ -6,13 +6,13 @@ Subject: [PATCH] linux-user: lock tb flushing too
Signed-off-by: Alexander Graf <agraf@suse.de>
---
exec.c | 33 ++++++++++++++++++++++++++-------
1 files changed, 26 insertions(+), 7 deletions(-)
1 Datei geändert, 26 Zeilen hinzugefügt(+), 7 Zeilen entfernt(-)
diff --git a/exec.c b/exec.c
index baa495f..aae9462 100644
index 8971d61..ee22e2c 100644
--- a/exec.c
+++ b/exec.c
@@ -722,17 +722,22 @@ static TranslationBlock *tb_alloc(target_ulong pc)
@@ -736,17 +736,22 @@ static TranslationBlock *tb_alloc(target_ulong pc)
{
TranslationBlock *tb;
@ -36,7 +36,7 @@ index baa495f..aae9462 100644
/* In practice this is mostly used for single use temporary TB
Ignore the hard cases and just back up if this TB happens to
be the last one generated. */
@@ -740,6 +745,7 @@ void tb_free(TranslationBlock *tb)
@@ -754,6 +759,7 @@ void tb_free(TranslationBlock *tb)
code_gen_ptr = tb->tc_ptr;
nb_tbs--;
}
@ -44,7 +44,7 @@ index baa495f..aae9462 100644
}
static inline void invalidate_page_bitmap(PageDesc *p)
@@ -793,6 +799,7 @@ void tb_flush(CPUArchState *env1)
@@ -807,6 +813,7 @@ void tb_flush(CPUArchState *env1)
nb_tbs, nb_tbs > 0 ?
((unsigned long)(code_gen_ptr - code_gen_buffer)) / nb_tbs : 0);
#endif
@ -52,7 +52,7 @@ index baa495f..aae9462 100644
if ((unsigned long)(code_gen_ptr - code_gen_buffer) > code_gen_buffer_size)
cpu_abort(env1, "Internal error: code buffer overflow\n");
@@ -809,6 +816,7 @@ void tb_flush(CPUArchState *env1)
@@ -823,6 +830,7 @@ void tb_flush(CPUArchState *env1)
/* XXX: flush processor icache at this point if cache flush is
expensive */
tb_flush_count++;
@ -60,7 +60,7 @@ index baa495f..aae9462 100644
}
#ifdef DEBUG_TB_CHECK
@@ -1108,9 +1116,12 @@ void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
@@ -1122,9 +1130,12 @@ void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
int current_flags = 0;
#endif /* TARGET_HAS_PRECISE_SMC */
@ -74,7 +74,7 @@ index baa495f..aae9462 100644
if (!p->code_bitmap &&
++p->code_write_count >= SMC_BITMAP_USE_THRESHOLD &&
is_cpu_write_access) {
@@ -1194,6 +1205,7 @@ void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
@@ -1208,6 +1219,7 @@ void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
cpu_resume_from_signal(env, NULL);
}
#endif
@ -82,7 +82,7 @@ index baa495f..aae9462 100644
}
/* len must be <= 8 and start must be a multiple of len */
@@ -1389,12 +1401,16 @@ TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
@@ -1414,12 +1426,16 @@ TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
{
int m_min, m_max, m;
uintptr_t v;
@ -101,7 +101,7 @@ index baa495f..aae9462 100644
return NULL;
}
/* binary search (cf Knuth) */
@@ -1404,15 +1420,18 @@ TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
@@ -1429,15 +1445,18 @@ TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
m = (m_min + m_max) >> 1;
tb = &tbs[m];
v = (uintptr_t)tb->tc_ptr;

View File

@ -1,4 +1,4 @@
From 509cbfc6fe50080a4ee8751596c54ef28af923da Mon Sep 17 00:00:00 2001
From 83ca3d1bae2e358de6b61a969fbbfc15f8453593 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Mon, 23 Jul 2012 10:24:14 +0200
Subject: [PATCH] linux-user: Fake /proc/cpuinfo
@ -14,13 +14,13 @@ has happened.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/syscall.c | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
1 Datei geändert, 20 Zeilen hinzugefügt(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 9f689da..fc27851 100644
index 5295afb..034cd5a 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5035,6 +5035,25 @@ static int open_self_stat(void *cpu_env, int fd)
@@ -5083,6 +5083,25 @@ static int open_self_stat(void *cpu_env, int fd)
return 0;
}
@ -46,7 +46,7 @@ index 9f689da..fc27851 100644
static int open_self_auxv(void *cpu_env, int fd)
{
TaskState *ts = ((CPUArchState *)cpu_env)->opaque;
@@ -5075,6 +5094,7 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
@@ -5123,6 +5142,7 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
{ "/proc/self/maps", open_self_maps },
{ "/proc/self/stat", open_self_stat },
{ "/proc/self/auxv", open_self_auxv },

View File

@ -1,4 +1,4 @@
From e77d8fc983222a9dec1394d864caf79f386b119a Mon Sep 17 00:00:00 2001
From 84784064875f20a7fe3a316f345d66e07fac8217 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Mon, 20 Aug 2012 00:02:52 +0200
Subject: [PATCH] linux-user: implement FS_IOC_GETFLAGS ioctl
@ -7,7 +7,7 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/ioctls.h | 1 +
linux-user/syscall_defs.h | 2 ++
2 files changed, 3 insertions(+), 0 deletions(-)
2 Dateien geändert, 3 Zeilen hinzugefügt(+)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index bb76c56..1b798b3 100644

View File

@ -1,4 +1,4 @@
From 43841edd5e2c1bfba458b38aa2c9c47b7c9c958b Mon Sep 17 00:00:00 2001
From 92409c3abb03697b67ae549180e3c262715c2fb7 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Mon, 20 Aug 2012 00:07:13 +0200
Subject: [PATCH] linux-user: implement FS_IOC_SETFLAGS ioctl
@ -7,7 +7,7 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/ioctls.h | 1 +
linux-user/syscall_defs.h | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
2 Dateien geändert, 2 Zeilen hinzugefügt(+)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 1b798b3..5027c74 100644

View File

@ -1,4 +1,4 @@
From c01c98579c21974e3c5e983c0bc1426d6fdccdce Mon Sep 17 00:00:00 2001
From 9405a3cad04de0be33cd876f14eb36681dc11f8d Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 21 Aug 2012 14:20:40 +0200
Subject: [PATCH] linux-user: XXX disable fiemap
@ -6,13 +6,13 @@ Subject: [PATCH] linux-user: XXX disable fiemap
agraf: fiemap breaks in libarchive. Disable it for now.
---
linux-user/syscall.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
1 Datei geändert, 5 Zeilen hinzugefügt(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 9ebc585..f9e7f33 100644
index 034cd5a..526e0f0 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -3252,6 +3252,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry *ie, uint8_t *buf_temp,
@@ -3302,6 +3302,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry *ie, uint8_t *buf_temp,
uint32_t outbufsz;
int free_fm = 0;

View File

@ -1,5 +1,5 @@
From 512ceb1779ce40a1f2a91fad147210bfa5996512 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
From 1c0ddda02726148363263c18ee3ddef994f930e5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Wed, 29 Aug 2012 18:42:56 +0200
Subject: [PATCH] slirp: -nooutgoing
@ -9,13 +9,13 @@ TBD (from SUSE Studio team)
slirp/socket.c | 8 ++++++++
slirp/tcp_subr.c | 16 ++++++++++++++++
vl.c | 9 +++++++++
4 files changed, 43 insertions(+), 0 deletions(-)
4 Dateien geändert, 43 Zeilen hinzugefügt(+)
diff --git a/qemu-options.hx b/qemu-options.hx
index af614bf..1368b2e 100644
index d39d0f3..809aef0 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -2328,6 +2328,16 @@ Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
@@ -2426,6 +2426,16 @@ Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
from a script.
ETEXI
@ -59,7 +59,7 @@ index 77b0c98..94dcd9a 100644
ret = sendto(so->s, m->m_data, m->m_len, 0,
(struct sockaddr *)&addr, sizeof (struct sockaddr));
diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c
index 025b374..dee23a0 100644
index 1542e43..a25d949 100644
--- a/slirp/tcp_subr.c
+++ b/slirp/tcp_subr.c
@@ -324,6 +324,9 @@ tcp_sockclosed(struct tcpcb *tp)
@ -107,7 +107,7 @@ index 025b374..dee23a0 100644
if (so->so_faddr.s_addr == 0 ||
(so->so_faddr.s_addr & loopback_mask) ==
diff --git a/vl.c b/vl.c
index fdf755f..153530b 100644
index a13012e..b971e68 100644
--- a/vl.c
+++ b/vl.c
@@ -217,6 +217,7 @@ const char *vnc_display;
@ -115,10 +115,10 @@ index fdf755f..153530b 100644
int no_hpet = 0;
int fd_bootchk = 1;
+int slirp_nooutgoing = 0;
int no_reboot = 0;
static int no_reboot;
int no_shutdown = 0;
int cursor_hide = 1;
@@ -2782,6 +2783,14 @@ int main(int argc, char **argv, char **envp)
@@ -2969,6 +2970,14 @@ int main(int argc, char **argv, char **envp)
case QEMU_OPTION_singlestep:
singlestep = 1;
break;

View File

@ -1,48 +0,0 @@
From d26d1a74112810944a891ad905244b88aa8493f6 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 21 Aug 2012 11:16:06 +0200
Subject: [PATCH] linux-user: fix statfs
The statfs syscall should always memset(0) its full struct extent before
writing to it. Newer versions of the syscall use one of the reserved fields
for flags, which would otherwise get stale values from uncleaned memory.
This fixes libarchive for me, which got confused about the return value of
pathconf("/", _PC_REC_XFER_ALIGN) otherwise, as it some times gave old pointers
as return value.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/syscall.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index fc27851..9ebc585 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -6667,6 +6667,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
__put_user(stfs.f_fsid.__val[0], &target_stfs->f_fsid.val[0]);
__put_user(stfs.f_fsid.__val[1], &target_stfs->f_fsid.val[1]);
__put_user(stfs.f_namelen, &target_stfs->f_namelen);
+ __put_user(stfs.f_frsize, &target_stfs->f_frsize);
+ __put_user(0, &target_stfs->f_spare[0]);
+ __put_user(0, &target_stfs->f_spare[1]);
+ __put_user(0, &target_stfs->f_spare[2]);
+ __put_user(0, &target_stfs->f_spare[3]);
+ __put_user(0, &target_stfs->f_spare[4]);
unlock_user_struct(target_stfs, arg2, 1);
}
break;
@@ -6695,6 +6701,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
__put_user(stfs.f_fsid.__val[0], &target_stfs->f_fsid.val[0]);
__put_user(stfs.f_fsid.__val[1], &target_stfs->f_fsid.val[1]);
__put_user(stfs.f_namelen, &target_stfs->f_namelen);
+ __put_user(stfs.f_frsize, &target_stfs->f_frsize);
+ __put_user(0, &target_stfs->f_spare[0]);
+ __put_user(0, &target_stfs->f_spare[1]);
+ __put_user(0, &target_stfs->f_spare[2]);
+ __put_user(0, &target_stfs->f_spare[3]);
+ __put_user(0, &target_stfs->f_spare[4]);
unlock_user_struct(target_stfs, arg3, 1);
}
break;

View File

@ -1,15 +1,15 @@
From 25c622437e7c59a99e35fe9318cb5ec11c7cff4a Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
From 24780396453f9a3097f79cb3824a80091af4effd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Wed, 29 Aug 2012 20:06:01 +0200
Subject: [PATCH] vnc: password-file= and incoming-connections=
TBD (from SUSE Studio team)
---
ui/vnc.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 71 insertions(+), 0 deletions(-)
1 Datei geändert, 71 Zeilen hinzugefügt(+)
diff --git a/ui/vnc.c b/ui/vnc.c
index 385e345..df295a0 100644
index ba30362..d99c1bd 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -45,6 +45,7 @@ static const struct timeval VNC_REFRESH_LOSSY = { 2, 0 };
@ -20,7 +20,7 @@ index 385e345..df295a0 100644
static int vnc_cursor_define(VncState *vs);
static void vnc_release_modifiers(VncState *vs);
@@ -1018,6 +1019,7 @@ static void vnc_disconnect_start(VncState *vs)
@@ -1019,6 +1020,7 @@ static void vnc_disconnect_start(VncState *vs)
static void vnc_disconnect_finish(VncState *vs)
{
int i;
@ -28,7 +28,7 @@ index 385e345..df295a0 100644
vnc_jobs_join(vs); /* Wait encoding jobs */
@@ -1063,6 +1065,13 @@ static void vnc_disconnect_finish(VncState *vs)
@@ -1064,6 +1066,13 @@ static void vnc_disconnect_finish(VncState *vs)
}
g_free(vs->lossy_rect);
g_free(vs);
@ -42,7 +42,7 @@ index 385e345..df295a0 100644
}
int vnc_client_io_error(VncState *vs, int ret, int last_errno)
@@ -2844,6 +2853,39 @@ char *vnc_display_local_addr(DisplayState *ds)
@@ -2861,6 +2870,39 @@ char *vnc_display_local_addr(DisplayState *ds)
return vnc_socket_local_addr("%s:%s", vs->lsock);
}
@ -79,10 +79,10 @@ index 385e345..df295a0 100644
+ free(passwd);
+}
+
int vnc_display_open(DisplayState *ds, const char *display)
void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
{
VncDisplay *vs = ds ? (VncDisplay *)ds->opaque : vnc_display;
@@ -2876,6 +2918,9 @@ int vnc_display_open(DisplayState *ds, const char *display)
@@ -2894,6 +2936,9 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
while ((options = strchr(options, ','))) {
options++;
if (strncmp(options, "password", 8) == 0) {
@ -90,10 +90,10 @@ index 385e345..df295a0 100644
+ start = strchr(options, '=');
+ end = strchr(options, ',');
if (fips_get_state()) {
fprintf(stderr,
error_setg(errp,
"VNC password auth disabled due to FIPS mode, "
@@ -2886,6 +2931,32 @@ int vnc_display_open(DisplayState *ds, const char *display)
return -1;
@@ -2902,6 +2947,32 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
goto fail;
}
password = 1; /* Require password auth */
+ if (start && (!end || (start < end))) {

View File

@ -1,4 +1,4 @@
From 23f4e9a5b32491e772cf130786a561dff4afdbf3 Mon Sep 17 00:00:00 2001
From 011ee810830f5ea0418292875999f0638c9b94db Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Wed, 10 Oct 2012 10:21:20 +0200
Subject: [PATCH] linux-user: add more blk ioctls
@ -10,7 +10,7 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
linux-user/ioctls.h | 18 ++++++++++++++++++
linux-user/syscall_defs.h | 6 ++++++
linux-user/syscall_types.h | 3 +++
3 files changed, 27 insertions(+), 0 deletions(-)
3 Dateien geändert, 27 Zeilen hinzugefügt(+)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 5027c74..4522c14 100644

View File

@ -1,4 +1,4 @@
From 3a1a6614255d40ee993f536e56cacbe92339f5d2 Mon Sep 17 00:00:00 2001
From ea51d24bb7a79aa26a210ebde243af2e84cdb866 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 9 Oct 2012 09:06:49 +0200
Subject: [PATCH] linux-user: use target_ulong
@ -14,10 +14,10 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/qemu.h | 8 ++++----
linux-user/syscall.c | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
2 Dateien geändert, 8 Zeilen hinzugefügt(+), 8 Zeilen entfernt(-)
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
index 175d502..c7ee759 100644
index 7cc7b87..88de318 100644
--- a/linux-user/qemu.h
+++ b/linux-user/qemu.h
@@ -194,10 +194,10 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src,
@ -36,10 +36,10 @@ index 175d502..c7ee759 100644
extern THREAD CPUArchState *thread_env;
void cpu_loop(CPUArchState *env);
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index f9e7f33..e3a4d24 100644
index 526e0f0..a694181 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5222,10 +5222,10 @@ int syscall_restartable(int syscall_nr)
@@ -5270,10 +5270,10 @@ int syscall_restartable(int syscall_nr)
/* 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>. */

View File

@ -0,0 +1,37 @@
From 877b2cbdae68c741bb63d45db17fdc243fc3450a Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <pbonzini@redhat.com>
Date: Tue, 27 Nov 2012 17:21:03 +0100
Subject: [PATCH] build: compile translate.o with -fno-gcse option
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Some versions of GCC require insane (>2GB) amounts of memory to compile
translate.o. As a countermeasure, disable the culprit optimization pass.
This should fix the buildbot failure for default_x86_64_fedora16.
Anyway is a good thing to do because people will try to compile 1.3 with
less than 2GB of memory and complain.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
Makefile.target | 6 ++++++
1 Datei geändert, 6 Zeilen hinzugefügt(+)
diff --git a/Makefile.target b/Makefile.target
index 206a232..d1c519f 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -149,6 +149,12 @@ GENERATED_HEADERS += hmp-commands.h qmp-commands-old.h
endif # CONFIG_SOFTMMU
+# Workaround for http://gcc.gnu.org/PR55489. Happens with -fPIE/-fPIC
+# and large functions that use global variables. The bug is in all
+# releases of GCC, but it became particularly acute in 4.7.x. We
+# should be able to delete this at the end of 2013.
+%/translate.o: QEMU_CFLAGS += -fno-gcse
+
nested-vars += obj-y
ifdef CONFIG_LINUX_USER
nested-vars += obj-binfmt-y

7
_constraints Normal file
View File

@ -0,0 +1,7 @@
<constraints>
<hardware>
<memory>
<size unit="M">1024</size>
</memory>
</hardware>
</constraints>

View File

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

3
qemu-1.3.0-rc1.tar.bz2 Normal file
View File

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

View File

@ -1,3 +1,28 @@
-------------------------------------------------------------------
Tue Nov 27 16:34:29 UTC 2012 - afaerber@suse.de
- Add patch to workaround GCC PR55489 via -fno-gcse,
another step to avoid builds failing with out-of-memory
-------------------------------------------------------------------
Tue Nov 27 15:56:07 UTC 2012 - afaerber@suse.de
- Add _constraints to request adequate memory to succeed building
-------------------------------------------------------------------
Tue Nov 27 05:16:13 UTC 2012 - afaerber@suse.de
- Update to v1.3.0-rc1: see http://wiki.qemu.org/ChangeLog/1.3
* Update update_git.sh accordingly
-------------------------------------------------------------------
Tue Nov 20 16:46:38 UTC 2012 - afaerber@suse.de
- Update to v1.3.0-rc0: see http://wiki.qemu.org/ChangeLog/1.3
* Update update_git.sh accordingly
* Disable SPICE for 11.4 since it can no longer be built lacking
pyparsing
-------------------------------------------------------------------
Tue Oct 10 18:14:59 UTC 2012 - agraf@suse.com

View File

@ -21,9 +21,9 @@ Url: http://www.qemu.org/
Summary: Universal CPU emulator
License: BSD-3-Clause ; GPL-2.0+ ; LGPL-2.1+ ; MIT
Group: System/Emulators/PC
Version: 1.2.0
Version: 1.3.0rc1
Release: 0
Source: %name-%version.tar.bz2
Source: %name-1.3.0-rc1.tar.bz2
Patch0001: 0001-Handle-CPU-interrupts-by-inline-che.patch
Patch0002: 0002-XXX-dont-dump-core-on-sigabort.patc.patch
Patch0003: 0003-XXX-work-around-SA_RESTART-race-wit.patch
@ -43,22 +43,20 @@ Patch0016: 0016-PPC-KVM-Disable-mmu-notifier-check..patch
Patch0017: 0017-linux-user-fix-segfault-deadlock.pa.patch
Patch0018: 0018-linux-user-binfmt-support-host-bina.patch
Patch0019: 0019-linux-user-arm-no-tb_flush-on-reset.patch
Patch0020: 0020-linux-user-fix-multi-threaded-proc-.patch
Patch0021: 0021-use-libexecdir-instead-of-ignoring-.patch
Patch0022: 0022-linux-user-Ignore-broken-loop-ioctl.patch
Patch0023: 0023-linux-user-fix-segmentation-fault-p.patch
Patch0024: 0024-linux-user-lock-tcg.patch.patch
Patch0025: 0025-linux-user-Run-multi-threaded-code-.patch
Patch0026: 0026-linux-user-lock-tb-flushing-too.pat.patch
Patch0027: 0027-linux-user-Fake-proc-cpuinfo.patch.patch
Patch0028: 0028-linux-user-implement-FS_IOC_GETFLAG.patch
Patch0029: 0029-linux-user-implement-FS_IOC_SETFLAG.patch
Patch0030: 0030-linux-user-fix-statfs.patch.patch
Patch0031: 0031-linux-user-XXX-disable-fiemap.patch.patch
Patch0032: 0032-slirp-nooutgoing.patch.patch
Patch0033: 0033-vnc-password-file-and-incoming-conn.patch
Patch0034: 0034-linux-user-add-more-blk-ioctls.patc.patch
Patch0035: 0035-linux-user-use-target_ulong.patch.patch
Patch0020: 0020-linux-user-Ignore-broken-loop-ioctl.patch
Patch0021: 0021-linux-user-fix-segmentation-fault-p.patch
Patch0022: 0022-linux-user-lock-tcg.patch.patch
Patch0023: 0023-linux-user-Run-multi-threaded-code-.patch
Patch0024: 0024-linux-user-lock-tb-flushing-too.pat.patch
Patch0025: 0025-linux-user-Fake-proc-cpuinfo.patch.patch
Patch0026: 0026-linux-user-implement-FS_IOC_GETFLAG.patch
Patch0027: 0027-linux-user-implement-FS_IOC_SETFLAG.patch
Patch0028: 0028-linux-user-XXX-disable-fiemap.patch.patch
Patch0029: 0029-slirp-nooutgoing.patch.patch
Patch0030: 0030-vnc-password-file-and-incoming-conn.patch
Patch0031: 0031-linux-user-add-more-blk-ioctls.patc.patch
Patch0032: 0032-linux-user-use-target_ulong.patch.patch
Patch0033: 0033-build-compile-translate.o-with-fno-.patch
# this is to make lint happy
Source300: rpmlintrc
Source302: bridge.conf
@ -103,7 +101,7 @@ BuildRequires: glib2-devel-static
%if 0%{?suse_version} >= 1220
BuildRequires: pcre-devel-static
%endif
%if 0%{?suse_version} >= 1130
%if 0%{?suse_version} >= 1210
%ifarch %ix86 x86_64
BuildRequires: libspice-server-devel
BuildRequires: spice-protocol-devel
@ -176,7 +174,7 @@ emulations. This can be used together with the OBS build script to
run cross-architecture builds.
%prep
%setup -q -n %name-%version
%setup -q -n %name-1.3.0-rc1
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
@ -210,8 +208,6 @@ run cross-architecture builds.
%patch0031 -p1
%patch0032 -p1
%patch0033 -p1
%patch0034 -p1
%patch0035 -p1
%build
# build QEMU
@ -224,7 +220,7 @@ mkdir -p dynamic
--enable-curl \
--enable-virtfs \
--extra-cflags="$QEMU_OPT_FLAGS" --enable-system --disable-linux-user \
%if 0%{?suse_version} >= 1130
%if 0%{?suse_version} >= 1210
%ifarch %ix86 x86_64
--enable-spice
%else

View File

@ -21,9 +21,9 @@ Url: http://www.qemu.org/
Summary: Universal CPU emulator
License: BSD-3-Clause ; GPL-2.0+ ; LGPL-2.1+ ; MIT
Group: System/Emulators/PC
Version: 1.2.0
Version: 1.3.0rc1
Release: 0
Source: %name-%version.tar.bz2
Source: %name-1.3.0-rc1.tar.bz2
PATCH_FILES
# this is to make lint happy
Source300: rpmlintrc
@ -69,7 +69,7 @@ BuildRequires: glib2-devel-static
%if 0%{?suse_version} >= 1220
BuildRequires: pcre-devel-static
%endif
%if 0%{?suse_version} >= 1130
%if 0%{?suse_version} >= 1210
%ifarch %ix86 x86_64
BuildRequires: libspice-server-devel
BuildRequires: spice-protocol-devel
@ -142,7 +142,7 @@ emulations. This can be used together with the OBS build script to
run cross-architecture builds.
%prep
%setup -q -n %name-%version
%setup -q -n %name-1.3.0-rc1
PATCH_EXEC
%build
@ -156,7 +156,7 @@ mkdir -p dynamic
--enable-curl \
--enable-virtfs \
--extra-cflags="$QEMU_OPT_FLAGS" --enable-system --disable-linux-user \
%if 0%{?suse_version} >= 1130
%if 0%{?suse_version} >= 1210
%ifarch %ix86 x86_64
--enable-spice
%else

View File

@ -12,8 +12,8 @@
GIT_TREE=git://repo.or.cz/qemu/agraf.git
GIT_LOCAL_TREE=/suse/agraf/git/qemu
GIT_BRANCH=suse-1.2
GIT_UPSTREAM_TAG=v1.2.0
GIT_BRANCH=suse-1.3
GIT_UPSTREAM_TAG=v1.3.0-rc1
QEMU_TMP=/dev/shm/qemu-tmp
# clean up