Accepting request 175663 from home:a_faerber:branches:Virtualization
Update to v1.5.0-rc1 OBS-URL: https://build.opensuse.org/request/show/175663 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=134
This commit is contained in:
parent
8b490224bb
commit
aff3246f05
@ -1,231 +0,0 @@
|
||||
From e076316356911dae5ae97af90710e28fabb416cd 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
|
||||
|
||||
Fix the nasty TCG race conditions and crashes by implementing cpu_exit
|
||||
as setting a flag which is checked at the start of each TB. This is
|
||||
slightly slower than the attempt to have cpu_exit alter the graph of
|
||||
TBs, but it doesn't crash if a thread or signal handler calls cpu_exit
|
||||
while the execution thread is itself modifying the TB graph.
|
||||
|
||||
This version of the patch includes command line option "-no-stopflag"
|
||||
which reverts to the previous racy behaviour. This is intended for
|
||||
convenience in testing and comparative benchmarking and won't be
|
||||
in the final patch.
|
||||
|
||||
It's probably worth experimenting with whether the flag-testing
|
||||
code has the branch in a sense which confuses branch-prediction
|
||||
and thus whether flipping it might change performance.
|
||||
|
||||
Mostly this needs benchmarking to determine what the actual speed
|
||||
hit is, which I never got round to. Feel free to do some :-)
|
||||
|
||||
[AF: CPUState -> CPUArchState]
|
||||
[AF: Rebased onto exec.c/translate-all.c split]
|
||||
---
|
||||
cpu-exec.c | 11 ++++++++++-
|
||||
exec.c | 6 +++++-
|
||||
include/exec/gen-icount.h | 16 ++++++++++++++++
|
||||
linux-user/main.c | 8 ++++++++
|
||||
qemu-options.hx | 9 +++++++++
|
||||
translate-all.c | 8 +++++++-
|
||||
translate-all.h | 2 ++
|
||||
vl.c | 5 +++++
|
||||
8 Dateien geändert, 62 Zeilen hinzugefügt(+), 3 Zeilen entfernt(-)
|
||||
|
||||
diff --git a/cpu-exec.c b/cpu-exec.c
|
||||
index 19ebb4a..02d8d69 100644
|
||||
--- a/cpu-exec.c
|
||||
+++ b/cpu-exec.c
|
||||
@@ -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);
|
||||
- if ((next_tb & 3) == 2) {
|
||||
+ if ((next_tb & 3) == 3) {
|
||||
+ /* hit stopflag check */
|
||||
+ tb = (TranslationBlock *)(long)(next_tb & ~3);
|
||||
+ /* Restore PC. */
|
||||
+ cpu_pc_from_tb(env, tb);
|
||||
+ next_tb = 0;
|
||||
+ env->exit_request = 0;
|
||||
+ env->exception_index = EXCP_INTERRUPT;
|
||||
+ cpu_loop_exit(env);
|
||||
+ } else if ((next_tb & 3) == 2) {
|
||||
/* Instruction counter expired. */
|
||||
int insns_left;
|
||||
tb = (TranslationBlock *)(next_tb & ~3);
|
||||
diff --git a/exec.c b/exec.c
|
||||
index b85508b..9458672 100644
|
||||
--- a/exec.c
|
||||
+++ b/exec.c
|
||||
@@ -79,6 +79,8 @@ DEFINE_TLS(CPUArchState *,cpu_single_env);
|
||||
1 = Precise instruction counting.
|
||||
2 = Adaptive rate instruction counting. */
|
||||
int use_icount;
|
||||
+/* 1 to do cpu_exit by inline flag check rather than tb link breaking */
|
||||
+int use_stopflag = 1;
|
||||
|
||||
#if !defined(CONFIG_USER_ONLY)
|
||||
|
||||
@@ -493,7 +495,9 @@ void cpu_reset_interrupt(CPUArchState *env, int mask)
|
||||
void cpu_exit(CPUArchState *env)
|
||||
{
|
||||
env->exit_request = 1;
|
||||
- cpu_unlink_tb(env);
|
||||
+ if (!use_stopflag) {
|
||||
+ cpu_unlink_tb(env);
|
||||
+ }
|
||||
}
|
||||
|
||||
void cpu_abort(CPUArchState *env, const char *fmt, ...)
|
||||
diff --git a/include/exec/gen-icount.h b/include/exec/gen-icount.h
|
||||
index 8043b3b..c2e14d5 100644
|
||||
--- a/include/exec/gen-icount.h
|
||||
+++ b/include/exec/gen-icount.h
|
||||
@@ -5,13 +5,25 @@
|
||||
|
||||
/* Helpers for instruction counting code generation. */
|
||||
|
||||
+extern int use_stopflag;
|
||||
+
|
||||
static TCGArg *icount_arg;
|
||||
static int icount_label;
|
||||
+static int stopflag_label;
|
||||
|
||||
static inline void gen_icount_start(void)
|
||||
{
|
||||
TCGv_i32 count;
|
||||
|
||||
+ if (use_stopflag) {
|
||||
+ TCGv_i32 flag;
|
||||
+ stopflag_label = gen_new_label();
|
||||
+ flag = tcg_temp_local_new_i32();
|
||||
+ tcg_gen_ld_i32(flag, cpu_env, offsetof(CPUArchState, exit_request));
|
||||
+ tcg_gen_brcondi_i32(TCG_COND_NE, flag, 0, stopflag_label);
|
||||
+ tcg_temp_free_i32(flag);
|
||||
+ }
|
||||
+
|
||||
if (!use_icount)
|
||||
return;
|
||||
|
||||
@@ -29,6 +41,10 @@ static inline void gen_icount_start(void)
|
||||
|
||||
static void gen_icount_end(TranslationBlock *tb, int num_insns)
|
||||
{
|
||||
+ if (use_stopflag) {
|
||||
+ gen_set_label(stopflag_label);
|
||||
+ tcg_gen_exit_tb((long)tb + 3); // XXX
|
||||
+ }
|
||||
if (use_icount) {
|
||||
*icount_arg = num_insns;
|
||||
gen_set_label(icount_label);
|
||||
diff --git a/linux-user/main.c b/linux-user/main.c
|
||||
index 3df8aa2..d83f79f 100644
|
||||
--- a/linux-user/main.c
|
||||
+++ b/linux-user/main.c
|
||||
@@ -69,6 +69,7 @@ unsigned long reserved_va;
|
||||
#endif
|
||||
|
||||
static void usage(void);
|
||||
+extern int use_stopflag;
|
||||
|
||||
static const char *interp_prefix = CONFIG_QEMU_INTERP_PREFIX;
|
||||
const char *qemu_uname_release = CONFIG_UNAME_RELEASE;
|
||||
@@ -3241,6 +3242,11 @@ static void handle_arg_reserved_va(const char *arg)
|
||||
}
|
||||
#endif
|
||||
|
||||
+static void handle_arg_nostopflag(const char *arg)
|
||||
+{
|
||||
+ use_stopflag = 0;
|
||||
+}
|
||||
+
|
||||
static void handle_arg_singlestep(const char *arg)
|
||||
{
|
||||
singlestep = 1;
|
||||
@@ -3296,6 +3302,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"},
|
||||
+ {"no-stopflag", "QEMU_NOSTOPFLAG", false, handle_arg_nostopflag,
|
||||
+ "", "run in singlestep mode"},
|
||||
{"p", "QEMU_PAGESIZE", true, handle_arg_pagesize,
|
||||
"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 9d7131a..6481175 100644
|
||||
--- a/qemu-options.hx
|
||||
+++ b/qemu-options.hx
|
||||
@@ -1266,6 +1266,15 @@ STEXI
|
||||
Disable HPET support.
|
||||
ETEXI
|
||||
|
||||
+DEF("no-stopflag", 0, QEMU_OPTION_no_stopflag,
|
||||
+ "-no-stopflag use old behaviour, not inline stopflag checks\n", QEMU_ARCH_ALL)
|
||||
+STEXI
|
||||
+@item -no-stopflag
|
||||
+@findex -no-stopflag
|
||||
+Implement cpu-exit by the old tb link breaking method rather than inline checks
|
||||
+(this is slightly faster but racy!)
|
||||
+ETEXI
|
||||
+
|
||||
DEF("acpitable", HAS_ARG, QEMU_OPTION_acpitable,
|
||||
"-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/translate-all.c b/translate-all.c
|
||||
index d367fc4..0d6c5a9 100644
|
||||
--- a/translate-all.c
|
||||
+++ b/translate-all.c
|
||||
@@ -1476,7 +1476,13 @@ static void tcg_handle_interrupt(CPUArchState *env, int mask)
|
||||
cpu_abort(env, "Raised interrupt while not in I/O function");
|
||||
}
|
||||
} else {
|
||||
- cpu_unlink_tb(env);
|
||||
+ // XXX just call cpu_exit ?
|
||||
+ if (use_stopflag) {
|
||||
+ // XXX is this OK?
|
||||
+ env->exit_request = 1;
|
||||
+ } else {
|
||||
+ cpu_unlink_tb(env);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/translate-all.h b/translate-all.h
|
||||
index b181fb4..44736c5 100644
|
||||
--- a/translate-all.h
|
||||
+++ b/translate-all.h
|
||||
@@ -26,6 +26,8 @@
|
||||
#define P_L2_LEVELS \
|
||||
(((TARGET_PHYS_ADDR_SPACE_BITS - TARGET_PAGE_BITS - 1) / L2_BITS) + 1)
|
||||
|
||||
+extern int use_stopflag;
|
||||
+
|
||||
/* translate-all.c */
|
||||
void tb_invalidate_phys_page_fast(tb_page_addr_t start, int len);
|
||||
void cpu_unlink_tb(CPUArchState *env);
|
||||
diff --git a/vl.c b/vl.c
|
||||
index 1355f69..7500e19 100644
|
||||
--- a/vl.c
|
||||
+++ b/vl.c
|
||||
@@ -178,6 +178,8 @@ int main(int argc, char **argv)
|
||||
#define MAX_VIRTIO_CONSOLES 1
|
||||
#define MAX_SCLP_CONSOLES 1
|
||||
|
||||
+extern int use_stopflag;
|
||||
+
|
||||
static const char *data_dir;
|
||||
const char *bios_name = NULL;
|
||||
enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
|
||||
@@ -3507,6 +3509,9 @@ int main(int argc, char **argv, char **envp)
|
||||
qdev_prop_register_global_list(slew_lost_ticks);
|
||||
break;
|
||||
}
|
||||
+ case QEMU_OPTION_no_stopflag:
|
||||
+ use_stopflag = 0;
|
||||
+ break;
|
||||
case QEMU_OPTION_acpitable:
|
||||
do_acpitable_option(optarg);
|
||||
break;
|
@ -1,14 +1,14 @@
|
||||
From e27020b2bbc4cdd8ccf11f583c50c6d806551c02 Mon Sep 17 00:00:00 2001
|
||||
From 1f095fdb60dcab75258ab6da148e424fdd4da986 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 Datei geändert, 6 Zeilen hinzugefügt(+)
|
||||
linux-user/signal.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/linux-user/signal.c b/linux-user/signal.c
|
||||
index 67c2311..20c9b4d 100644
|
||||
index 1055507..7af7caa 100644
|
||||
--- a/linux-user/signal.c
|
||||
+++ b/linux-user/signal.c
|
||||
@@ -394,6 +394,10 @@ static void QEMU_NORETURN force_sig(int target_sig)
|
@ -1,21 +1,21 @@
|
||||
From 222f64d3405568785eb8685dfec0f4afc9590e70 Mon Sep 17 00:00:00 2001
|
||||
From e60551e54f52f76a75a6809b33ff252da44df260 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)
|
||||
|
||||
[AF: CPUState -> CPUArchState, adapt to reindentation]
|
||||
---
|
||||
linux-user/main.c | 25 +++++++++-----
|
||||
linux-user/qemu.h | 3 ++
|
||||
linux-user/signal.c | 22 ++++++++++++
|
||||
linux-user/syscall.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++-
|
||||
4 Dateien geändert, 130 Zeilen hinzugefügt(+), 10 Zeilen entfernt(-)
|
||||
linux-user/main.c | 25 +++++++++------
|
||||
linux-user/qemu.h | 3 ++
|
||||
linux-user/signal.c | 22 +++++++++++++
|
||||
linux-user/syscall.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++-
|
||||
4 files changed, 130 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/linux-user/main.c b/linux-user/main.c
|
||||
index d83f79f..800e585 100644
|
||||
index b97b8cf..7ce4488 100644
|
||||
--- a/linux-user/main.c
|
||||
+++ b/linux-user/main.c
|
||||
@@ -839,15 +839,22 @@ void cpu_loop(CPUARMState *env)
|
||||
@@ -840,15 +840,22 @@ void cpu_loop(CPUARMState *env)
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
@ -69,7 +69,7 @@ index b10e957..2d6f957 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 20c9b4d..66ab9c9 100644
|
||||
index 7af7caa..dd81bc6 100644
|
||||
--- a/linux-user/signal.c
|
||||
+++ b/linux-user/signal.c
|
||||
@@ -25,6 +25,7 @@
|
||||
@ -118,10 +118,10 @@ index 20c9b4d..66ab9c9 100644
|
||||
ignore state to avoid getting unexpected interrupted
|
||||
syscalls */
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 9e31ea7..512fc4c 100644
|
||||
index 30e93bc..1d3406f 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -5165,6 +5165,87 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
|
||||
@@ -5185,6 +5185,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 9e31ea7..512fc4c 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>. */
|
||||
@@ -5177,6 +5258,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
@@ -5197,6 +5278,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 9e31ea7..512fc4c 100644
|
||||
|
||||
#ifdef DEBUG
|
||||
gemu_log("syscall %d", num);
|
||||
@@ -8174,7 +8261,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
@@ -8255,7 +8342,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 9e31ea7..512fc4c 100644
|
||||
}
|
||||
|
||||
switch(arg2) {
|
||||
@@ -8931,6 +9018,7 @@ fail:
|
||||
@@ -9034,6 +9121,7 @@ fail:
|
||||
#endif
|
||||
if(do_strace)
|
||||
print_syscall_ret(num, ret);
|
@ -1,4 +1,4 @@
|
||||
From a598fe5c4e45ee9b760217f6f2f18c733e6dbee6 Mon Sep 17 00:00:00 2001
|
||||
From 60f177c52518ec81e2d2d97e7f8403362bdc5102 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
|
||||
@ -10,8 +10,8 @@ Fixes binfmt_misc setup script:
|
||||
|
||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
---
|
||||
scripts/qemu-binfmt-conf.sh | 37 ++++++++++++++++++++-----------------
|
||||
1 Datei geändert, 20 Zeilen hinzugefügt(+), 17 Zeilen entfernt(-)
|
||||
scripts/qemu-binfmt-conf.sh | 37 ++++++++++++++++++++-----------------
|
||||
1 file changed, 20 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
|
||||
index 0da2618..dc652f0 100644
|
@ -1,4 +1,4 @@
|
||||
From 982af97c7e43ceb9871e1fedef914d7af07f960f Mon Sep 17 00:00:00 2001
|
||||
From b68142d76b38d246d8493a2ad8ebf7c0ca1a1082 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
|
||||
@ -8,9 +8,9 @@ Implements TYPE_INTBITFIELD partially. (required for ALSA support)
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
---
|
||||
include/exec/user/thunk.h | 3 +++
|
||||
thunk.c | 21 +++++++++++++++++++++
|
||||
2 Dateien geändert, 24 Zeilen hinzugefügt(+)
|
||||
include/exec/user/thunk.h | 3 +++
|
||||
thunk.c | 21 +++++++++++++++++++++
|
||||
2 files changed, 24 insertions(+)
|
||||
|
||||
diff --git a/include/exec/user/thunk.h b/include/exec/user/thunk.h
|
||||
index 87025c3..6c35e64 100644
|
@ -1,4 +1,4 @@
|
||||
From 96d463c9c0cc6cecd420e86bc9743fe50fb692c0 Mon Sep 17 00:00:00 2001
|
||||
From 151ec7ab0cc58f487f06c5fba27bb1779f99beb8 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 Dateien geändert, 3555 Zeilen hinzugefügt(+)
|
||||
6 files changed, 3555 insertions(+)
|
||||
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
|
@ -1,4 +1,4 @@
|
||||
From bd87dcb81d78b92bc44d8b9675352b0f3deeb255 Mon Sep 17 00:00:00 2001
|
||||
From fb816518ff3bb5feeb6ee3c781ccba608db625bc 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
|
||||
@ -8,8 +8,8 @@ Hack to prevent ALSA from using mmap() interface to simplify emulation.
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
---
|
||||
linux-user/mmap.c | 14 ++++++++++++++
|
||||
1 Datei geändert, 14 Zeilen hinzugefügt(+)
|
||||
linux-user/mmap.c | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
|
||||
index b412e3f..46523de 100644
|
@ -1,18 +1,18 @@
|
||||
From a860db4bac653140b44b008d47d77293ec3af6ab Mon Sep 17 00:00:00 2001
|
||||
From f0c2b05e40606a04891dc720436462631a8d7771 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
|
||||
|
||||
No clue what this is for.
|
||||
---
|
||||
linux-user/syscall.c | 2 ++
|
||||
1 Datei geändert, 2 Zeilen hinzugefügt(+)
|
||||
linux-user/syscall.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 512fc4c..f3670f5 100644
|
||||
index 1d3406f..94eb877 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -6316,6 +6316,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
@@ -6336,6 +6336,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
case TARGET_NR_gettimeofday:
|
||||
{
|
||||
struct timeval tv;
|
@ -1,4 +1,4 @@
|
||||
From 22b57cf9c1fa3cf0d3daddf6099b2bdba59e39a4 Mon Sep 17 00:00:00 2001
|
||||
From 29a48c1892ec4869ec8771c423ec2ba92433ad41 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
|
||||
@ -8,14 +8,14 @@ Extends unsupported ioctl debug output.
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
---
|
||||
linux-user/syscall.c | 7 ++++++-
|
||||
1 Datei geändert, 6 Zeilen hinzugefügt(+), 1 Zeile entfernt(-)
|
||||
linux-user/syscall.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index f3670f5..3716eba 100644
|
||||
index 94eb877..a171128 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -3720,7 +3720,12 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
|
||||
@@ -3737,7 +3737,12 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
|
||||
ie = ioctl_entries;
|
||||
for(;;) {
|
||||
if (ie->target_cmd == 0) {
|
@ -1,4 +1,4 @@
|
||||
From f5c84e32ad475e6fa9a89cedcbb3c8a6867c6b6f Mon Sep 17 00:00:00 2001
|
||||
From d7feb52521785e77af4f2e26d63e28bd0fc9ec48 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
|
||||
@ -11,14 +11,14 @@ IOC_RW.
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
---
|
||||
linux-user/syscall.c | 6 ++++++
|
||||
1 Datei geändert, 6 Zeilen hinzugefügt(+)
|
||||
linux-user/syscall.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 3716eba..62efb75 100644
|
||||
index a171128..01fbfb7 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -3754,6 +3754,11 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
|
||||
@@ -3771,6 +3771,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 3716eba..62efb75 100644
|
||||
case IOC_R:
|
||||
ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
|
||||
if (!is_error(ret)) {
|
||||
@@ -3772,6 +3777,7 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
|
||||
@@ -3789,6 +3794,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;
|
@ -1,4 +1,4 @@
|
||||
From eb0d15231c020bdf0f6d83e63088c56b1209979d Mon Sep 17 00:00:00 2001
|
||||
From 1a4fd3dcd12982416b8c22c758e7e6bd9cef7b0b 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
|
||||
@ -11,18 +11,18 @@ Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
[AF: Rebased onto upstream VMDK SCSI support]
|
||||
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
---
|
||||
block.c | 5 ++++-
|
||||
block/vmdk.c | 9 ++++++++-
|
||||
include/block/block_int.h | 2 ++
|
||||
qemu-img.c | 8 +++++++-
|
||||
4 Dateien geändert, 21 Zeilen hinzugefügt(+), 3 Zeilen entfernt(-)
|
||||
block.c | 6 +++++-
|
||||
block/vmdk.c | 9 ++++++++-
|
||||
include/block/block_int.h | 2 ++
|
||||
qemu-img.c | 8 +++++++-
|
||||
4 files changed, 22 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/block.c b/block.c
|
||||
index 50dab8e..7ea5ab4 100644
|
||||
index aa9a533..f6bb061 100644
|
||||
--- a/block.c
|
||||
+++ b/block.c
|
||||
@@ -4434,7 +4434,7 @@ void bdrv_img_create(const char *filename, const char *fmt,
|
||||
char *options, uint64_t img_size, int flags, Error **errp)
|
||||
@@ -4739,7 +4739,7 @@ void bdrv_img_create(const char *filename, const char *fmt,
|
||||
Error **errp, bool quiet)
|
||||
{
|
||||
QEMUOptionParameter *param = NULL, *create_options = NULL;
|
||||
- QEMUOptionParameter *backing_fmt, *backing_file, *size;
|
||||
@ -30,30 +30,31 @@ index 50dab8e..7ea5ab4 100644
|
||||
BlockDriverState *bs = NULL;
|
||||
BlockDriver *drv, *proto_drv;
|
||||
BlockDriver *backing_drv = NULL;
|
||||
@@ -4542,6 +4542,9 @@ void bdrv_img_create(const char *filename, const char *fmt,
|
||||
|
||||
printf("Formatting '%s', fmt=%s ", filename, fmt);
|
||||
print_option_parameters(param);
|
||||
+ scsi = get_option_parameter(param, BLOCK_OPT_SCSI);
|
||||
+ if (scsi && scsi->value.n)
|
||||
+ printf(", SCSI");
|
||||
puts("");
|
||||
|
||||
@@ -4849,6 +4849,10 @@ void bdrv_img_create(const char *filename, const char *fmt,
|
||||
if (!quiet) {
|
||||
printf("Formatting '%s', fmt=%s ", filename, fmt);
|
||||
print_option_parameters(param);
|
||||
+ scsi = get_option_parameter(param, BLOCK_OPT_SCSI);
|
||||
+ if (scsi && scsi->value.n) {
|
||||
+ printf(", SCSI");
|
||||
+ }
|
||||
puts("");
|
||||
}
|
||||
ret = bdrv_create(drv, filename, param);
|
||||
diff --git a/block/vmdk.c b/block/vmdk.c
|
||||
index aef1abc..a64d888 100644
|
||||
index 608daaf..9e0f678 100644
|
||||
--- a/block/vmdk.c
|
||||
+++ b/block/vmdk.c
|
||||
@@ -1482,6 +1482,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)) {
|
||||
@@ -1557,6 +1557,8 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options)
|
||||
fmt = options->value.s;
|
||||
} else if (!strcmp(options->name, BLOCK_OPT_ZEROED_GRAIN)) {
|
||||
zeroed_grain |= options->value.n;
|
||||
+ } else if (!strcmp(options->name, BLOCK_OPT_SCSI)) {
|
||||
+ flags |= options->value.n ? BLOCK_FLAG_SCSI: 0;
|
||||
}
|
||||
options++;
|
||||
}
|
||||
@@ -1587,7 +1589,7 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options)
|
||||
@@ -1663,7 +1665,7 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options)
|
||||
ext_desc_lines,
|
||||
(flags & BLOCK_FLAG_COMPAT6 ? 6 : 4),
|
||||
total_size / (int64_t)(63 * number_heads * 512), number_heads,
|
||||
@ -62,9 +63,9 @@ index aef1abc..a64d888 100644
|
||||
if (split || flat) {
|
||||
fd = qemu_open(filename,
|
||||
O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_LARGEFILE,
|
||||
@@ -1694,6 +1696,11 @@ static QEMUOptionParameter vmdk_create_options[] = {
|
||||
"VMDK flat extent format, can be one of "
|
||||
"{monolithicSparse (default) | monolithicFlat | twoGbMaxExtentSparse | twoGbMaxExtentFlat | streamOptimized} "
|
||||
@@ -1775,6 +1777,11 @@ static QEMUOptionParameter vmdk_create_options[] = {
|
||||
.type = OPT_FLAG,
|
||||
.help = "Enable efficient zero writes using the zeroed-grain GTE feature"
|
||||
},
|
||||
+ {
|
||||
+ .name = BLOCK_OPT_SCSI,
|
||||
@ -75,7 +76,7 @@ index aef1abc..a64d888 100644
|
||||
};
|
||||
|
||||
diff --git a/include/block/block_int.h b/include/block/block_int.h
|
||||
index eaad53e..d8cdd08 100644
|
||||
index 6078dd3..1679515 100644
|
||||
--- a/include/block/block_int.h
|
||||
+++ b/include/block/block_int.h
|
||||
@@ -37,6 +37,7 @@
|
||||
@ -95,10 +96,10 @@ index eaad53e..d8cdd08 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 85d3740..6de3887 100644
|
||||
index cd096a1..8586fc8 100644
|
||||
--- a/qemu-img.c
|
||||
+++ b/qemu-img.c
|
||||
@@ -676,7 +676,7 @@ static int img_convert(int argc, char **argv)
|
||||
@@ -1121,7 +1121,7 @@ static int img_convert(int argc, char **argv)
|
||||
const uint8_t *buf1;
|
||||
BlockDriverInfo bdi;
|
||||
QEMUOptionParameter *param = NULL, *create_options = NULL;
|
||||
@ -107,7 +108,7 @@ index 85d3740..6de3887 100644
|
||||
char *options = NULL;
|
||||
const char *snapshot_name = NULL;
|
||||
float local_progress = 0;
|
||||
@@ -869,6 +869,12 @@ static int img_convert(int argc, char **argv)
|
||||
@@ -1323,6 +1323,12 @@ static int img_convert(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From df5c62397972bf0fa79b17f1ff7b29a9dd040b2e Mon Sep 17 00:00:00 2001
|
||||
From cbd80be4182a79fa966cf7f3d747f088066e59dd 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
|
||||
@ -27,15 +27,15 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
[AF: Rebased onto new Makefile infrastructure]
|
||||
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
---
|
||||
Makefile.target | 12 ++++++++++++
|
||||
linux-user/Makefile.objs | 2 ++
|
||||
linux-user/binfmt.c | 42 ++++++++++++++++++++++++++++++++++++++++++
|
||||
scripts/qemu-binfmt-conf.sh | 34 +++++++++++++++++-----------------
|
||||
4 Dateien geändert, 73 Zeilen hinzugefügt(+), 17 Zeilen entfernt(-)
|
||||
Makefile.target | 12 ++++++++++++
|
||||
linux-user/Makefile.objs | 2 ++
|
||||
linux-user/binfmt.c | 42 ++++++++++++++++++++++++++++++++++++++++++
|
||||
scripts/qemu-binfmt-conf.sh | 34 +++++++++++++++++-----------------
|
||||
4 files changed, 73 insertions(+), 17 deletions(-)
|
||||
create mode 100644 linux-user/binfmt.c
|
||||
|
||||
diff --git a/Makefile.target b/Makefile.target
|
||||
index 760da1e..67336c4 100644
|
||||
index ce4391f..1d733e0 100644
|
||||
--- a/Makefile.target
|
||||
+++ b/Makefile.target
|
||||
@@ -31,6 +31,10 @@ PROGS+=$(QEMU_PROGW)
|
||||
@ -46,10 +46,10 @@ index 760da1e..67336c4 100644
|
||||
+PROGS+=$(QEMU_PROG)-binfmt
|
||||
+endif
|
||||
+
|
||||
ifndef CONFIG_HAIKU
|
||||
LIBS+=-lm
|
||||
endif
|
||||
@@ -85,6 +89,8 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) -I$(SRC_PATH)/linux-user
|
||||
config-target.h: config-target.h-timestamp
|
||||
config-target.h-timestamp: config-target.mak
|
||||
|
||||
@@ -88,6 +92,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
|
||||
|
||||
@ -58,7 +58,7 @@ index 760da1e..67336c4 100644
|
||||
endif #CONFIG_LINUX_USER
|
||||
|
||||
#########################################################
|
||||
@@ -140,6 +146,9 @@ endif # CONFIG_SOFTMMU
|
||||
@@ -138,6 +144,9 @@ endif # CONFIG_SOFTMMU
|
||||
%/translate.o: QEMU_CFLAGS += $(TRANSLATE_OPT_CFLAGS)
|
||||
|
||||
nested-vars += obj-y
|
||||
@ -68,7 +68,7 @@ index 760da1e..67336c4 100644
|
||||
|
||||
# This resolves all nested paths, so it must come last
|
||||
include $(SRC_PATH)/Makefile.objs
|
||||
@@ -158,6 +167,9 @@ $(QEMU_PROG): $(all-obj-y) ../libqemuutil.a ../libqemustub.a
|
||||
@@ -160,6 +169,9 @@ $(QEMU_PROG): $(all-obj-y) ../libqemuutil.a ../libqemustub.a
|
||||
$(call LINK,$^)
|
||||
endif
|
||||
|
@ -1,29 +0,0 @@
|
||||
From 333ed82a92d02ce4a2a8cdcacd61ccf5e496ff64 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-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
[AF: Merged default-configs upstream]
|
||||
[AF: Merged with new or32-linux-user for v1.2]
|
||||
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
---
|
||||
configure | 2 ++
|
||||
1 Datei geändert, 2 Zeilen hinzugefügt(+)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 8789324..72a4fed 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -978,6 +978,8 @@ microblaze-linux-user \
|
||||
microblazeel-linux-user \
|
||||
mips-linux-user \
|
||||
mipsel-linux-user \
|
||||
+mipsn32-linux-user \
|
||||
+mipsn32el-linux-user \
|
||||
or32-linux-user \
|
||||
ppc-linux-user \
|
||||
ppc64-linux-user \
|
@ -1,4 +1,4 @@
|
||||
From 44095bf17455eb7aac2b05e1303f2ddf15d1dc6a Mon Sep 17 00:00:00 2001
|
||||
From efdf17b4fa5054f0e5ba2117867ee1ccde81b700 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
|
||||
@ -8,14 +8,14 @@ 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 Datei geändert, 5 Zeilen hinzugefügt(+)
|
||||
linux-user/syscall.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 62efb75..03b9f69 100644
|
||||
index 01fbfb7..14c98ac 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -8635,6 +8635,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
@@ -8716,6 +8716,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
break;
|
||||
#endif
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 9571208f7c525fbaac47bfc70e322cf4934ff45e Mon Sep 17 00:00:00 2001
|
||||
From d77fd1aa772fa9d9048c5cf000764d7348df017e 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
|
||||
@ -9,14 +9,14 @@ implementation and go on with life :)
|
||||
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
---
|
||||
linux-user/syscall.c | 2 +-
|
||||
1 Datei geändert, 1 Zeile hinzugefügt(+), 1 Zeile entfernt(-)
|
||||
linux-user/syscall.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 03b9f69..3db4e89 100644
|
||||
index 14c98ac..58c5f70 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -7616,7 +7616,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
@@ -7645,7 +7645,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
unlock_user(p, arg1, ret);
|
||||
break;
|
||||
case TARGET_NR_capget:
|
@ -1,4 +1,4 @@
|
||||
From d94c5b635b26cbddef7880423b641f5595ce4c02 Mon Sep 17 00:00:00 2001
|
||||
From 5ebb282613d02e38e5f380b2f54b81b5b4102360 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
|
||||
@ -9,14 +9,14 @@ check for MMU notifiers that on 970 can not be implemented properly.
|
||||
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 Datei geändert, 2 Zeilen hinzugefügt(+)
|
||||
exec.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/exec.c b/exec.c
|
||||
index 9458672..9f29d6c 100644
|
||||
index 19725db..d1f151f 100644
|
||||
--- a/exec.c
|
||||
+++ b/exec.c
|
||||
@@ -862,10 +862,12 @@ static void *file_ram_alloc(RAMBlock *block,
|
||||
@@ -874,10 +874,12 @@ static void *file_ram_alloc(RAMBlock *block,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -27,5 +27,5 @@ index 9458672..9f29d6c 100644
|
||||
}
|
||||
+#endif
|
||||
|
||||
filename = g_strdup_printf("%s/qemu_back_mem.XXXXXX", path);
|
||||
|
||||
/* Make name safe to use with mkstemp by replacing '/' with '_'. */
|
||||
sanitized_name = g_strdup(block->mr->name);
|
@ -1,7 +1,10 @@
|
||||
From 94e5881352f191ed81a6bb6c222459d7725755e0 Mon Sep 17 00:00:00 2001
|
||||
From 3e1ddf2ba13b9998d98ee450b7ea88d966796ed4 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
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
When entering the guest we take a lock to ensure that nobody else messes
|
||||
with our TB chaining while we're doing it. If we get a segfault inside that
|
||||
@ -16,10 +19,11 @@ Example code to trigger this is at: http://csgraf.de/tmp/conftest.c
|
||||
|
||||
Reported-by: Fabio Erculiani <lxnay@sabayon.org>
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
---
|
||||
include/exec/spinlock.h | 10 ++++++++++
|
||||
user-exec.c | 4 ++++
|
||||
2 Dateien geändert, 14 Zeilen hinzugefügt(+)
|
||||
include/exec/spinlock.h | 10 ++++++++++
|
||||
user-exec.c | 4 ++++
|
||||
2 files changed, 14 insertions(+)
|
||||
|
||||
diff --git a/include/exec/spinlock.h b/include/exec/spinlock.h
|
||||
index a72edda..e460e12 100644
|
||||
@ -48,7 +52,7 @@ index a72edda..e460e12 100644
|
||||
+
|
||||
#endif
|
||||
diff --git a/user-exec.c b/user-exec.c
|
||||
index c71acbc..5783849 100644
|
||||
index 71bd6c5..aa15bee 100644
|
||||
--- a/user-exec.c
|
||||
+++ b/user-exec.c
|
||||
@@ -87,6 +87,10 @@ static inline int handle_cpu_signal(uintptr_t pc, unsigned long address,
|
||||
@ -57,7 +61,7 @@ index c71acbc..5783849 100644
|
||||
#endif
|
||||
+
|
||||
+ /* Maybe we're still holding the TB fiddling lock? */
|
||||
+ spin_unlock_safe(&tb_lock);
|
||||
+ spin_unlock_safe(&tcg_ctx.tb_ctx.tb_lock);
|
||||
+
|
||||
/* XXX: locking issue */
|
||||
if (is_write && h2g_valid(address)
|
@ -1,4 +1,4 @@
|
||||
From 839fe6b37ba3fac47d7d32fb54e289ac45b91f24 Mon Sep 17 00:00:00 2001
|
||||
From b45af411a0680ca399ff8b0b65c38971ea04904d 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
|
||||
@ -8,8 +8,8 @@ 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 Datei geändert, 25 Zeilen hinzugefügt(+)
|
||||
linux-user/binfmt.c | 25 +++++++++++++++++++++++++
|
||||
1 file changed, 25 insertions(+)
|
||||
|
||||
diff --git a/linux-user/binfmt.c b/linux-user/binfmt.c
|
||||
index cd1f513..87dc4c6 100644
|
@ -1,4 +1,4 @@
|
||||
From 4244e1f8514fcbd7c5426a03225357e326230095 Mon Sep 17 00:00:00 2001
|
||||
From 5393a9d388a81893832ed04084d0a0335c4005ef 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
|
||||
@ -10,11 +10,11 @@ tb_flush on reset.
|
||||
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 Datei geändert, 4 Zeilen hinzugefügt(+)
|
||||
target-arm/cpu.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/target-arm/cpu.c b/target-arm/cpu.c
|
||||
index 1c6a628..d10a71b 100644
|
||||
index 496a59f..ad60f82 100644
|
||||
--- a/target-arm/cpu.c
|
||||
+++ b/target-arm/cpu.c
|
||||
@@ -124,7 +124,11 @@ static void arm_cpu_reset(CPUState *s)
|
@ -1,4 +1,4 @@
|
||||
From 6038afd7d50bd0d7a5e807fd0c5e7f8848913c4e Mon Sep 17 00:00:00 2001
|
||||
From 3792ed25bb3bef6710dbce20a86ccc40ce58a7b1 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
|
||||
@ -11,11 +11,11 @@ So let's silently ignore that bogus ioctl.
|
||||
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
---
|
||||
linux-user/ioctls.h | 1 +
|
||||
linux-user/linux_loop.h | 1 +
|
||||
linux-user/syscall.c | 7 +++++++
|
||||
linux-user/syscall_defs.h | 1 +
|
||||
4 Dateien geändert, 10 Zeilen hinzugefügt(+)
|
||||
linux-user/ioctls.h | 1 +
|
||||
linux-user/linux_loop.h | 1 +
|
||||
linux-user/syscall.c | 7 +++++++
|
||||
linux-user/syscall_defs.h | 1 +
|
||||
4 files changed, 10 insertions(+)
|
||||
|
||||
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 3db4e89..2fcf3e9 100644
|
||||
index 58c5f70..689bd33 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -3697,6 +3697,13 @@ out:
|
||||
@@ -3714,6 +3714,13 @@ out:
|
||||
return ret;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From bf4cf58a2681a7517b575515606eb2eb2af9bc8c Mon Sep 17 00:00:00 2001
|
||||
From dc73e9aecb754e39ca51bb5636842e6f0f3d7fc1 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
|
||||
@ -19,11 +19,11 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
[AF: Rebased onto AREG0 fix for v1.2, squashed fixup by agraf]
|
||||
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
---
|
||||
user-exec.c | 6 ++++++
|
||||
1 Datei geändert, 6 Zeilen hinzugefügt(+)
|
||||
user-exec.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/user-exec.c b/user-exec.c
|
||||
index 5783849..c5339af 100644
|
||||
index aa15bee..2fe945a 100644
|
||||
--- a/user-exec.c
|
||||
+++ b/user-exec.c
|
||||
@@ -97,6 +97,12 @@ static inline int handle_cpu_signal(uintptr_t pc, unsigned long address,
|
@ -1,4 +1,4 @@
|
||||
From f3548a9a74d21c045902d93e303c14104f29adb4 Mon Sep 17 00:00:00 2001
|
||||
From deec99e294d9bac46901369a50b693170548d5b9 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
|
||||
@ -13,10 +13,10 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
[AF: Rebased onto exec.c/translate-all.c split for 1.4]
|
||||
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
---
|
||||
linux-user/mmap.c | 3 +++
|
||||
tcg/tcg.c | 36 ++++++++++++++++++++++++++++++++++--
|
||||
tcg/tcg.h | 6 ++++++
|
||||
3 Dateien geändert, 43 Zeilen hinzugefügt(+), 2 Zeilen entfernt(-)
|
||||
linux-user/mmap.c | 3 +++
|
||||
tcg/tcg.c | 36 ++++++++++++++++++++++++++++++++++--
|
||||
tcg/tcg.h | 6 ++++++
|
||||
3 files changed, 43 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
|
||||
index 46523de..59718b5 100644
|
||||
@ -47,7 +47,7 @@ index 46523de..59718b5 100644
|
||||
}
|
||||
|
||||
diff --git a/tcg/tcg.c b/tcg/tcg.c
|
||||
index 9275e37..c84d3ac 100644
|
||||
index 1d8099c..51cf7b9 100644
|
||||
--- a/tcg/tcg.c
|
||||
+++ b/tcg/tcg.c
|
||||
@@ -40,6 +40,8 @@
|
||||
@ -99,7 +99,7 @@ index 9275e37..c84d3ac 100644
|
||||
/* Count total number of arguments and allocate the corresponding
|
||||
space */
|
||||
total_args = 0;
|
||||
@@ -2341,11 +2367,13 @@ int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf)
|
||||
@@ -2363,11 +2389,13 @@ int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf)
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -113,7 +113,7 @@ index 9275e37..c84d3ac 100644
|
||||
|
||||
return s->code_ptr - gen_code_buf;
|
||||
}
|
||||
@@ -2356,7 +2384,11 @@ int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf)
|
||||
@@ -2378,7 +2406,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)
|
||||
{
|
||||
@ -127,7 +127,7 @@ index 9275e37..c84d3ac 100644
|
||||
|
||||
#ifdef CONFIG_PROFILER
|
||||
diff --git a/tcg/tcg.h b/tcg/tcg.h
|
||||
index a427972..9fd122e 100644
|
||||
index df375cf..3d16a31 100644
|
||||
--- a/tcg/tcg.h
|
||||
+++ b/tcg/tcg.h
|
||||
@@ -46,6 +46,8 @@ typedef uint64_t tcg_target_ulong;
|
||||
@ -139,7 +139,7 @@ index a427972..9fd122e 100644
|
||||
#include "tcg-target.h"
|
||||
#include "tcg-runtime.h"
|
||||
|
||||
@@ -468,6 +470,7 @@ struct TCGContext {
|
||||
@@ -487,6 +489,7 @@ struct TCGContext {
|
||||
TCGLabelQemuLdst *qemu_ldst_labels;
|
||||
int nb_qemu_ldst_labels;
|
||||
#endif
|
||||
@ -147,7 +147,7 @@ index a427972..9fd122e 100644
|
||||
};
|
||||
|
||||
extern TCGContext tcg_ctx;
|
||||
@@ -647,6 +650,9 @@ void tcg_gen_shifti_i64(TCGv_i64 ret, TCGv_i64 arg1,
|
||||
@@ -666,6 +669,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);
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f269ffe946bf4402dd538074a80debd0f2d51452 Mon Sep 17 00:00:00 2001
|
||||
From e08016b4b3af23f8d796bf0adf258670bc92a5da 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
|
||||
@ -15,14 +15,14 @@ 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 Datei geändert, 9 Zeilen hinzugefügt(+)
|
||||
linux-user/syscall.c | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 2fcf3e9..19c635c 100644
|
||||
index 689bd33..38cee23 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -4415,6 +4415,15 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
|
||||
@@ -4434,6 +4434,15 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
|
||||
if (nptl_flags & CLONE_SETTLS)
|
||||
cpu_set_tls (new_env, newtls);
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 431480a9ea14835d9cff4c5564e90a36595f3af3 Mon Sep 17 00:00:00 2001
|
||||
From 5f1e423a2a86ac9528fe2b8ce86ede4d1a23e4bf 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
|
||||
@ -10,24 +10,25 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
[AF: Rebased onto exec.c/translate-all.c split for 1.4]
|
||||
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
---
|
||||
translate-all.c | 20 ++++++++++++++++++--
|
||||
1 Datei geändert, 18 Zeilen hinzugefügt(+), 2 Zeilen entfernt(-)
|
||||
translate-all.c | 20 ++++++++++++++++++--
|
||||
1 file changed, 18 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/translate-all.c b/translate-all.c
|
||||
index 0d6c5a9..1066017 100644
|
||||
index da93608..7e2e6fc 100644
|
||||
--- a/translate-all.c
|
||||
+++ b/translate-all.c
|
||||
@@ -625,18 +625,22 @@ static TranslationBlock *tb_alloc(target_ulong pc)
|
||||
@@ -611,19 +611,23 @@ static TranslationBlock *tb_alloc(target_ulong pc)
|
||||
{
|
||||
TranslationBlock *tb;
|
||||
|
||||
+ tcg_lock();
|
||||
if (nb_tbs >= code_gen_max_blocks ||
|
||||
(code_gen_ptr - code_gen_buffer) >= code_gen_buffer_max_size) {
|
||||
if (tcg_ctx.tb_ctx.nb_tbs >= tcg_ctx.code_gen_max_blocks ||
|
||||
(tcg_ctx.code_gen_ptr - tcg_ctx.code_gen_buffer) >=
|
||||
tcg_ctx.code_gen_buffer_max_size) {
|
||||
+ tcg_unlock();
|
||||
return NULL;
|
||||
}
|
||||
tb = &tbs[nb_tbs++];
|
||||
tb = &tcg_ctx.tb_ctx.tbs[tcg_ctx.tb_ctx.nb_tbs++];
|
||||
tb->pc = pc;
|
||||
tb->cflags = 0;
|
||||
+ tcg_unlock();
|
||||
@ -40,31 +41,31 @@ index 0d6c5a9..1066017 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. */
|
||||
@@ -644,6 +648,7 @@ void tb_free(TranslationBlock *tb)
|
||||
code_gen_ptr = tb->tc_ptr;
|
||||
nb_tbs--;
|
||||
@@ -632,6 +636,7 @@ void tb_free(TranslationBlock *tb)
|
||||
tcg_ctx.code_gen_ptr = tb->tc_ptr;
|
||||
tcg_ctx.tb_ctx.nb_tbs--;
|
||||
}
|
||||
+ tcg_unlock();
|
||||
}
|
||||
|
||||
static inline void invalidate_page_bitmap(PageDesc *p)
|
||||
@@ -700,6 +705,7 @@ void tb_flush(CPUArchState *env1)
|
||||
nb_tbs, nb_tbs > 0 ?
|
||||
((unsigned long)(code_gen_ptr - code_gen_buffer)) / nb_tbs : 0);
|
||||
@@ -689,6 +694,7 @@ void tb_flush(CPUArchState *env1)
|
||||
((unsigned long)(tcg_ctx.code_gen_ptr - tcg_ctx.code_gen_buffer)) /
|
||||
tcg_ctx.tb_ctx.nb_tbs : 0);
|
||||
#endif
|
||||
+ tcg_lock();
|
||||
if ((unsigned long)(code_gen_ptr - code_gen_buffer)
|
||||
> code_gen_buffer_size) {
|
||||
if ((unsigned long)(tcg_ctx.code_gen_ptr - tcg_ctx.code_gen_buffer)
|
||||
> tcg_ctx.code_gen_buffer_size) {
|
||||
cpu_abort(env1, "Internal error: code buffer overflow\n");
|
||||
@@ -717,6 +723,7 @@ void tb_flush(CPUArchState *env1)
|
||||
@@ -707,6 +713,7 @@ void tb_flush(CPUArchState *env1)
|
||||
/* XXX: flush processor icache at this point if cache flush is
|
||||
expensive */
|
||||
tb_flush_count++;
|
||||
tcg_ctx.tb_ctx.tb_flush_count++;
|
||||
+ tcg_unlock();
|
||||
}
|
||||
|
||||
#ifdef DEBUG_TB_CHECK
|
||||
@@ -1020,8 +1027,10 @@ void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
|
||||
@@ -1012,8 +1019,10 @@ 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 */
|
||||
|
||||
@ -75,7 +76,7 @@ index 0d6c5a9..1066017 100644
|
||||
return;
|
||||
}
|
||||
if (!p->code_bitmap &&
|
||||
@@ -1109,6 +1118,7 @@ void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
|
||||
@@ -1104,6 +1113,7 @@ void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
|
||||
cpu_resume_from_signal(env, NULL);
|
||||
}
|
||||
#endif
|
||||
@ -91,18 +92,18 @@ index 0d6c5a9..1066017 100644
|
||||
+ TranslationBlock *tb, *r;
|
||||
|
||||
+ tcg_lock();
|
||||
if (nb_tbs <= 0) {
|
||||
if (tcg_ctx.tb_ctx.nb_tbs <= 0) {
|
||||
+ tcg_unlock();
|
||||
return NULL;
|
||||
}
|
||||
if (tc_ptr < (uintptr_t)code_gen_buffer ||
|
||||
tc_ptr >= (uintptr_t)code_gen_ptr) {
|
||||
if (tc_ptr < (uintptr_t)tcg_ctx.code_gen_buffer ||
|
||||
tc_ptr >= (uintptr_t)tcg_ctx.code_gen_ptr) {
|
||||
+ tcg_unlock();
|
||||
return NULL;
|
||||
}
|
||||
/* binary search (cf Knuth) */
|
||||
@@ -1340,6 +1353,7 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
|
||||
tb = &tbs[m];
|
||||
tb = &tcg_ctx.tb_ctx.tbs[m];
|
||||
v = (uintptr_t)tb->tc_ptr;
|
||||
if (v == tc_ptr) {
|
||||
+ tcg_unlock();
|
||||
@ -113,10 +114,10 @@ index 0d6c5a9..1066017 100644
|
||||
m_min = m + 1;
|
||||
}
|
||||
}
|
||||
- return &tbs[m_max];
|
||||
+ r = &tbs[m_max];
|
||||
- return &tcg_ctx.tb_ctx.tbs[m_max];
|
||||
+ r = &tcg_ctx.tb_ctx.tbs[m_max];
|
||||
+ tcg_unlock();
|
||||
+ return r;
|
||||
}
|
||||
|
||||
static void tb_reset_jump_recursive(TranslationBlock *tb);
|
||||
#if defined(TARGET_HAS_ICE) && !defined(CONFIG_USER_ONLY)
|
@ -1,4 +1,4 @@
|
||||
From 48d9bc9f0290bce9499cfd72246decc635c190b2 Mon Sep 17 00:00:00 2001
|
||||
From c13343d84ec6fb19d390e1ea32e0271991c2eb75 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
|
||||
@ -13,14 +13,14 @@ has happened.
|
||||
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
---
|
||||
linux-user/syscall.c | 20 ++++++++++++++++++++
|
||||
1 Datei geändert, 20 Zeilen hinzugefügt(+)
|
||||
linux-user/syscall.c | 20 ++++++++++++++++++++
|
||||
1 file changed, 20 insertions(+)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 19c635c..97a7689 100644
|
||||
index 38cee23..18c7447 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -5114,6 +5114,25 @@ static int open_self_stat(void *cpu_env, int fd)
|
||||
@@ -5134,6 +5134,25 @@ static int open_self_stat(void *cpu_env, int fd)
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -46,7 +46,7 @@ index 19c635c..97a7689 100644
|
||||
static int open_self_auxv(void *cpu_env, int fd)
|
||||
{
|
||||
TaskState *ts = ((CPUArchState *)cpu_env)->opaque;
|
||||
@@ -5154,6 +5173,7 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
|
||||
@@ -5174,6 +5193,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 },
|
@ -1,4 +1,4 @@
|
||||
From 11eacc574bd20d110f99b1f57ed1b2c48f41b342 Mon Sep 17 00:00:00 2001
|
||||
From 592844c8f941623156be44813cfd8f66e3ec0e6b 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
|
||||
@ -11,9 +11,9 @@ v1 -> v2:
|
||||
|
||||
- use TYPE_LONG instead of TYPE_INT
|
||||
---
|
||||
linux-user/ioctls.h | 1 +
|
||||
linux-user/syscall_defs.h | 2 ++
|
||||
2 Dateien geändert, 3 Zeilen hinzugefügt(+)
|
||||
linux-user/ioctls.h | 1 +
|
||||
linux-user/syscall_defs.h | 2 ++
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
|
||||
index bb76c56..85b5bfd 100644
|
@ -1,4 +1,4 @@
|
||||
From f5543bc0249dfd2d3e1545bf3717ef5d658c9100 Mon Sep 17 00:00:00 2001
|
||||
From 933d6e7a60329429009a59d7b47c8481eeb9e247 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
|
||||
@ -11,9 +11,9 @@ v1 -> v2
|
||||
|
||||
- use TYPE_LONG instead of TYPE_INT
|
||||
---
|
||||
linux-user/ioctls.h | 1 +
|
||||
linux-user/syscall_defs.h | 1 +
|
||||
2 Dateien geändert, 2 Zeilen hinzugefügt(+)
|
||||
linux-user/ioctls.h | 1 +
|
||||
linux-user/syscall_defs.h | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
|
||||
index 85b5bfd..229cd6f 100644
|
@ -1,18 +1,18 @@
|
||||
From a20945c6ee59e260e585e99fb59314d34664417c Mon Sep 17 00:00:00 2001
|
||||
From 35c7135a88b55ecb267455e79af13f5a43bd4289 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
|
||||
|
||||
agraf: fiemap breaks in libarchive. Disable it for now.
|
||||
---
|
||||
linux-user/syscall.c | 5 +++++
|
||||
1 Datei geändert, 5 Zeilen hinzugefügt(+)
|
||||
linux-user/syscall.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 97a7689..0debb13 100644
|
||||
index 18c7447..7512b56 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -3317,6 +3317,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry *ie, uint8_t *buf_temp,
|
||||
@@ -3334,6 +3334,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry *ie, uint8_t *buf_temp,
|
||||
uint32_t outbufsz;
|
||||
int free_fm = 0;
|
||||
|
@ -1,21 +1,21 @@
|
||||
From 4cbad0ea14189331565bcc5b0a11da3ef0807d68 Mon Sep 17 00:00:00 2001
|
||||
From 842d9c285712839c2b6873725a497d4e56517d40 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
|
||||
|
||||
TBD (from SUSE Studio team)
|
||||
---
|
||||
qemu-options.hx | 10 ++++++++++
|
||||
slirp/socket.c | 8 ++++++++
|
||||
slirp/tcp_subr.c | 16 ++++++++++++++++
|
||||
vl.c | 9 +++++++++
|
||||
4 Dateien geändert, 43 Zeilen hinzugefügt(+)
|
||||
qemu-options.hx | 10 ++++++++++
|
||||
slirp/socket.c | 8 ++++++++
|
||||
slirp/tcp_subr.c | 13 +++++++++++++
|
||||
vl.c | 9 +++++++++
|
||||
4 files changed, 40 insertions(+)
|
||||
|
||||
diff --git a/qemu-options.hx b/qemu-options.hx
|
||||
index 6481175..ebcb3e3 100644
|
||||
index fb62b75..2cd52ab 100644
|
||||
--- a/qemu-options.hx
|
||||
+++ b/qemu-options.hx
|
||||
@@ -2456,6 +2456,16 @@ Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
|
||||
@@ -2568,6 +2568,16 @@ Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
|
||||
from a script.
|
||||
ETEXI
|
||||
|
||||
@ -33,10 +33,10 @@ index 6481175..ebcb3e3 100644
|
||||
"-singlestep always run in singlestep mode\n", QEMU_ARCH_ALL)
|
||||
STEXI
|
||||
diff --git a/slirp/socket.c b/slirp/socket.c
|
||||
index 77b0c98..94dcd9a 100644
|
||||
index 8e8819c..57a45dc 100644
|
||||
--- a/slirp/socket.c
|
||||
+++ b/slirp/socket.c
|
||||
@@ -531,6 +531,8 @@ sorecvfrom(struct socket *so)
|
||||
@@ -532,6 +532,8 @@ sorecvfrom(struct socket *so)
|
||||
} /* if ping packet */
|
||||
}
|
||||
|
||||
@ -45,7 +45,7 @@ index 77b0c98..94dcd9a 100644
|
||||
/*
|
||||
* sendto() a socket
|
||||
*/
|
||||
@@ -561,6 +563,12 @@ sosendto(struct socket *so, struct mbuf *m)
|
||||
@@ -562,6 +564,12 @@ sosendto(struct socket *so, struct mbuf *m)
|
||||
|
||||
DEBUG_MISC((dfd, " sendto()ing, addr.sin_port=%d, addr.sin_addr.s_addr=%.16s\n", ntohs(addr.sin_port), inet_ntoa(addr.sin_addr)));
|
||||
|
||||
@ -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 1542e43..a25d949 100644
|
||||
index e98ce1a..b56bf35 100644
|
||||
--- a/slirp/tcp_subr.c
|
||||
+++ b/slirp/tcp_subr.c
|
||||
@@ -324,6 +324,9 @@ tcp_sockclosed(struct tcpcb *tp)
|
||||
@ -84,30 +84,20 @@ index 1542e43..a25d949 100644
|
||||
if( (ret = so->s = qemu_socket(AF_INET,SOCK_STREAM,0)) >= 0) {
|
||||
int opt, s=so->s;
|
||||
struct sockaddr_in addr;
|
||||
@@ -424,6 +432,13 @@ tcp_connect(struct socket *inso)
|
||||
tcp_close(sototcpcb(so)); /* This will sofree() as well */
|
||||
return;
|
||||
}
|
||||
+
|
||||
+ if (slirp_nooutgoing && addr.sin_addr.s_addr != slirp_nooutgoing) {
|
||||
+ tcp_close(sototcpcb(so)); /* This will sofree() as well */
|
||||
+ close(s);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
socket_set_nonblock(s);
|
||||
opt = 1;
|
||||
setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(int));
|
||||
@@ -434,6 +449,7 @@ tcp_connect(struct socket *inso)
|
||||
|
||||
so->so_fport = addr.sin_port;
|
||||
so->so_faddr = addr.sin_addr;
|
||||
+
|
||||
/* Translate connections from localhost to the real hostname */
|
||||
if (so->so_faddr.s_addr == 0 ||
|
||||
(so->so_faddr.s_addr & loopback_mask) ==
|
||||
@@ -425,6 +433,11 @@ void tcp_connect(struct socket *inso)
|
||||
tcp_close(sototcpcb(so)); /* This will sofree() as well */
|
||||
return;
|
||||
}
|
||||
+ if (slirp_nooutgoing && addr.sin_addr.s_addr != slirp_nooutgoing) {
|
||||
+ tcp_close(sototcpcb(so)); /* This will sofree() as well */
|
||||
+ close(s);
|
||||
+ return;
|
||||
+ }
|
||||
qemu_set_nonblock(s);
|
||||
opt = 1;
|
||||
qemu_setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(int));
|
||||
diff --git a/vl.c b/vl.c
|
||||
index 7500e19..0e8781e 100644
|
||||
index 6e6225f..174df5a 100644
|
||||
--- a/vl.c
|
||||
+++ b/vl.c
|
||||
@@ -219,6 +219,7 @@ const char *vnc_display;
|
||||
@ -118,7 +108,7 @@ index 7500e19..0e8781e 100644
|
||||
static int no_reboot;
|
||||
int no_shutdown = 0;
|
||||
int cursor_hide = 1;
|
||||
@@ -3254,6 +3255,14 @@ int main(int argc, char **argv, char **envp)
|
||||
@@ -3309,6 +3310,14 @@ int main(int argc, char **argv, char **envp)
|
||||
case QEMU_OPTION_singlestep:
|
||||
singlestep = 1;
|
||||
break;
|
@ -1,26 +1,26 @@
|
||||
From d28305c95202f5aec89ea42072eb3654b0641d5e Mon Sep 17 00:00:00 2001
|
||||
From e55f9426d326546088069afd5d6175d994202aff 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 Datei geändert, 71 Zeilen hinzugefügt(+)
|
||||
ui/vnc.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 71 insertions(+)
|
||||
|
||||
diff --git a/ui/vnc.c b/ui/vnc.c
|
||||
index ff4e2ae..28a6978 100644
|
||||
index 89108de..9d3d7d6 100644
|
||||
--- a/ui/vnc.c
|
||||
+++ b/ui/vnc.c
|
||||
@@ -45,6 +45,7 @@ static const struct timeval VNC_REFRESH_LOSSY = { 2, 0 };
|
||||
@@ -44,6 +44,7 @@ static const struct timeval VNC_REFRESH_LOSSY = { 2, 0 };
|
||||
#include "d3des.h"
|
||||
|
||||
static VncDisplay *vnc_display; /* needed for info vnc */
|
||||
static DisplayChangeListener *dcl;
|
||||
+static int allowed_connections = 0;
|
||||
|
||||
static int vnc_cursor_define(VncState *vs);
|
||||
static void vnc_release_modifiers(VncState *vs);
|
||||
@@ -1025,6 +1026,7 @@ static void vnc_disconnect_start(VncState *vs)
|
||||
@@ -1029,6 +1030,7 @@ static void vnc_disconnect_start(VncState *vs)
|
||||
void vnc_disconnect_finish(VncState *vs)
|
||||
{
|
||||
int i;
|
||||
@ -28,7 +28,7 @@ index ff4e2ae..28a6978 100644
|
||||
|
||||
vnc_jobs_join(vs); /* Wait encoding jobs */
|
||||
|
||||
@@ -1078,6 +1080,13 @@ void vnc_disconnect_finish(VncState *vs)
|
||||
@@ -1077,6 +1079,13 @@ void vnc_disconnect_finish(VncState *vs)
|
||||
}
|
||||
g_free(vs->lossy_rect);
|
||||
g_free(vs);
|
||||
@ -42,7 +42,7 @@ index ff4e2ae..28a6978 100644
|
||||
}
|
||||
|
||||
int vnc_client_io_error(VncState *vs, int ret, int last_errno)
|
||||
@@ -2958,6 +2967,39 @@ char *vnc_display_local_addr(DisplayState *ds)
|
||||
@@ -3034,6 +3043,39 @@ char *vnc_display_local_addr(DisplayState *ds)
|
||||
return vnc_socket_local_addr("%s:%s", vs->lsock);
|
||||
}
|
||||
|
||||
@ -81,8 +81,8 @@ index ff4e2ae..28a6978 100644
|
||||
+
|
||||
void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
|
||||
{
|
||||
VncDisplay *vs = ds ? (VncDisplay *)ds->opaque : vnc_display;
|
||||
@@ -2991,6 +3033,9 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
|
||||
VncDisplay *vs = vnc_display;
|
||||
@@ -3067,6 +3109,9 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
|
||||
while ((options = strchr(options, ','))) {
|
||||
options++;
|
||||
if (strncmp(options, "password", 8) == 0) {
|
||||
@ -92,7 +92,7 @@ index ff4e2ae..28a6978 100644
|
||||
if (fips_get_state()) {
|
||||
error_setg(errp,
|
||||
"VNC password auth disabled due to FIPS mode, "
|
||||
@@ -2999,6 +3044,32 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
|
||||
@@ -3075,6 +3120,32 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
|
||||
goto fail;
|
||||
}
|
||||
password = 1; /* Require password auth */
|
@ -1,4 +1,4 @@
|
||||
From 4fe2d2489aed4076334776994fafbad0d8243b47 Mon Sep 17 00:00:00 2001
|
||||
From 168c2d896d82bc7568cc91bbea596faf60f23450 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
|
||||
@ -7,10 +7,10 @@ Implement a few more ioctls that operate on block devices.
|
||||
|
||||
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 Dateien geändert, 27 Zeilen hinzugefügt(+)
|
||||
linux-user/ioctls.h | 18 ++++++++++++++++++
|
||||
linux-user/syscall_defs.h | 6 ++++++
|
||||
linux-user/syscall_types.h | 3 +++
|
||||
3 files changed, 27 insertions(+)
|
||||
|
||||
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
|
||||
index 229cd6f..3323176 100644
|
@ -1,4 +1,4 @@
|
||||
From 7ddd99be7cb271116c6ab621e3e24da49304e4a0 Mon Sep 17 00:00:00 2001
|
||||
From 1748852df5a01ac29ca08d0f52586b763983ebef 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
|
||||
@ -12,9 +12,9 @@ Pass syscall arguments as ulong always.
|
||||
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
---
|
||||
linux-user/qemu.h | 8 ++++----
|
||||
linux-user/syscall.c | 8 ++++----
|
||||
2 Dateien geändert, 8 Zeilen hinzugefügt(+), 8 Zeilen entfernt(-)
|
||||
linux-user/qemu.h | 8 ++++----
|
||||
linux-user/syscall.c | 8 ++++----
|
||||
2 files changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
|
||||
index 2d6f957..766bd8a 100644
|
||||
@ -36,10 +36,10 @@ index 2d6f957..766bd8a 100644
|
||||
extern THREAD CPUArchState *thread_env;
|
||||
void cpu_loop(CPUArchState *env);
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 0debb13..5e6ac06 100644
|
||||
index 7512b56..c1eceb2 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -5301,10 +5301,10 @@ int syscall_restartable(int syscall_nr)
|
||||
@@ -5321,10 +5321,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>. */
|
@ -1,4 +1,4 @@
|
||||
From 4d0b9b0e8fbe282f9a4508716439a6b462047530 Mon Sep 17 00:00:00 2001
|
||||
From 98f5a645d99776ca67f77414bb0db36c7fe8534c Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Graf <agraf@suse.de>
|
||||
Date: Wed, 5 Aug 2009 09:49:37 +0200
|
||||
Subject: [PATCH] Add support for DictZip enabled gzip files
|
||||
@ -23,17 +23,20 @@ Tar patch follows.
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
Signed-off-by: Bruce Rogers <brogers@novell.com>
|
||||
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
[TH: Use bdrv_open options instead of filename]
|
||||
Signed-off-by: Tim Hardeck <thardeck@suse.de>
|
||||
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
---
|
||||
block/Makefile.objs | 1 +
|
||||
block/dictzip.c | 566 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 Dateien geändert, 567 Zeilen hinzugefügt(+)
|
||||
block/Makefile.objs | 1 +
|
||||
block/dictzip.c | 596 ++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 597 insertions(+)
|
||||
create mode 100644 block/dictzip.c
|
||||
|
||||
diff --git a/block/Makefile.objs b/block/Makefile.objs
|
||||
index c067f38..3397046 100644
|
||||
index 5f0358a..1bb758c 100644
|
||||
--- a/block/Makefile.objs
|
||||
+++ b/block/Makefile.objs
|
||||
@@ -18,5 +18,6 @@ endif
|
||||
@@ -20,5 +20,6 @@ endif
|
||||
common-obj-y += stream.o
|
||||
common-obj-y += commit.o
|
||||
common-obj-y += mirror.o
|
||||
@ -42,10 +45,10 @@ index c067f38..3397046 100644
|
||||
$(obj)/curl.o: QEMU_CFLAGS+=$(CURL_CFLAGS)
|
||||
diff --git a/block/dictzip.c b/block/dictzip.c
|
||||
new file mode 100644
|
||||
index 0000000..6792f80
|
||||
index 0000000..0ef327b
|
||||
--- /dev/null
|
||||
+++ b/block/dictzip.c
|
||||
@@ -0,0 +1,566 @@
|
||||
@@ -0,0 +1,596 @@
|
||||
+/*
|
||||
+ * DictZip Block driver for dictzip enabled gzip files
|
||||
+ *
|
||||
@ -192,7 +195,20 @@ index 0000000..6792f80
|
||||
+ return inflateInit2( zStream, -15 );
|
||||
+}
|
||||
+
|
||||
+static int dictzip_open(BlockDriverState *bs, const char *filename, int flags)
|
||||
+static QemuOptsList runtime_opts = {
|
||||
+ .name = "dzip",
|
||||
+ .head = QTAILQ_HEAD_INITIALIZER(runtime_opts.head),
|
||||
+ .desc = {
|
||||
+ {
|
||||
+ .name = "filename",
|
||||
+ .type = QEMU_OPT_STRING,
|
||||
+ .help = "URL to the dictzip file",
|
||||
+ },
|
||||
+ { /* end of list */ }
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+static int dictzip_open(BlockDriverState *bs, QDict *options, int flags)
|
||||
+{
|
||||
+ BDRVDictZipState *s = bs->opaque;
|
||||
+ const char *err = "Unknown (read error?)";
|
||||
@ -209,16 +225,31 @@ index 0000000..6792f80
|
||||
+ int rnd_offs;
|
||||
+ int ret;
|
||||
+ int i;
|
||||
+ const char *fname = filename;
|
||||
+ QemuOpts *opts;
|
||||
+ Error *local_err = NULL;
|
||||
+ const char *filename;
|
||||
+
|
||||
+ opts = qemu_opts_create_nofail(&runtime_opts);
|
||||
+ qemu_opts_absorb_qdict(opts, options, &local_err);
|
||||
+ if (error_is_set(&local_err)) {
|
||||
+ qerror_report_err(local_err);
|
||||
+ error_free(local_err);
|
||||
+ ret = -EINVAL;
|
||||
+ goto fail;
|
||||
+ }
|
||||
+
|
||||
+ filename = qemu_opt_get(opts, "filename");
|
||||
+
|
||||
+ if (!strncmp(filename, "dzip://", 7))
|
||||
+ fname += 7;
|
||||
+ filename += 7;
|
||||
+ else if (!strncmp(filename, "dzip:", 5))
|
||||
+ fname += 5;
|
||||
+ filename += 5;
|
||||
+
|
||||
+ ret = bdrv_file_open(&s->hd, fname, flags);
|
||||
+ if (ret < 0)
|
||||
+ ret = bdrv_file_open(&s->hd, filename, NULL, flags);
|
||||
+ if (ret < 0) {
|
||||
+ qemu_opts_del(opts);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ /* initialize zlib streams */
|
||||
+ for (i = 0; i < Z_STREAM_COUNT; i++) {
|
||||
@ -377,6 +408,7 @@ index 0000000..6792f80
|
||||
+
|
||||
+ dprintf("chunk %#x - %#x = offset %#x -> %#x\n", i * s->chunk_len, (i+1) * s->chunk_len, s->offsets[i], offset);
|
||||
+ }
|
||||
+ qemu_opts_del(opts);
|
||||
+
|
||||
+ return 0;
|
||||
+
|
||||
@ -385,6 +417,7 @@ index 0000000..6792f80
|
||||
+ bdrv_delete(s->hd);
|
||||
+ if (s->chunks)
|
||||
+ g_free(s->chunks);
|
||||
+ qemu_opts_del(opts);
|
||||
+ return -EINVAL;
|
||||
+}
|
||||
+
|
@ -1,4 +1,4 @@
|
||||
From f731a5a382564aad45ca06c639a5e1e4a011ef74 Mon Sep 17 00:00:00 2001
|
||||
From d2e3792b847a0ddfb7eb05ba24f8ca971b04dc36 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Graf <agraf@suse.de>
|
||||
Date: Wed, 5 Aug 2009 17:28:38 +0200
|
||||
Subject: [PATCH] Add tar container format
|
||||
@ -24,17 +24,20 @@ them.
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
Signed-off-by: Bruce Rogers <brogers@novell.com>
|
||||
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
[TH: Use bdrv_open options instead of filename]
|
||||
Signed-off-by: Tim Hardeck <thardeck@suse.de>
|
||||
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
---
|
||||
block/Makefile.objs | 1 +
|
||||
block/tar.c | 356 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 Dateien geändert, 357 Zeilen hinzugefügt(+)
|
||||
block/Makefile.objs | 1 +
|
||||
block/tar.c | 386 ++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 387 insertions(+)
|
||||
create mode 100644 block/tar.c
|
||||
|
||||
diff --git a/block/Makefile.objs b/block/Makefile.objs
|
||||
index 3397046..48d1d30 100644
|
||||
index 1bb758c..f68a7e1 100644
|
||||
--- a/block/Makefile.objs
|
||||
+++ b/block/Makefile.objs
|
||||
@@ -19,5 +19,6 @@ common-obj-y += stream.o
|
||||
@@ -21,5 +21,6 @@ common-obj-y += stream.o
|
||||
common-obj-y += commit.o
|
||||
common-obj-y += mirror.o
|
||||
common-obj-y += dictzip.o
|
||||
@ -43,10 +46,10 @@ index 3397046..48d1d30 100644
|
||||
$(obj)/curl.o: QEMU_CFLAGS+=$(CURL_CFLAGS)
|
||||
diff --git a/block/tar.c b/block/tar.c
|
||||
new file mode 100644
|
||||
index 0000000..3508320
|
||||
index 0000000..87bf552
|
||||
--- /dev/null
|
||||
+++ b/block/tar.c
|
||||
@@ -0,0 +1,356 @@
|
||||
@@ -0,0 +1,386 @@
|
||||
+/*
|
||||
+ * Tar block driver
|
||||
+ *
|
||||
@ -200,24 +203,52 @@ index 0000000..3508320
|
||||
+ sparse->end);
|
||||
+}
|
||||
+
|
||||
+static int tar_open(BlockDriverState *bs, const char *filename, int flags)
|
||||
+static QemuOptsList runtime_opts = {
|
||||
+ .name = "tar",
|
||||
+ .head = QTAILQ_HEAD_INITIALIZER(runtime_opts.head),
|
||||
+ .desc = {
|
||||
+ {
|
||||
+ .name = "filename",
|
||||
+ .type = QEMU_OPT_STRING,
|
||||
+ .help = "URL to the tar file",
|
||||
+ },
|
||||
+ { /* end of list */ }
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+static int tar_open(BlockDriverState *bs, QDict *options, int flags)
|
||||
+{
|
||||
+ BDRVTarState *s = bs->opaque;
|
||||
+ char header[SECTOR_SIZE];
|
||||
+ char *real_file = header;
|
||||
+ char *magic;
|
||||
+ const char *fname = filename;
|
||||
+ size_t header_offs = 0;
|
||||
+ int ret;
|
||||
+ QemuOpts *opts;
|
||||
+ Error *local_err = NULL;
|
||||
+ const char *filename;
|
||||
+
|
||||
+ opts = qemu_opts_create_nofail(&runtime_opts);
|
||||
+ qemu_opts_absorb_qdict(opts, options, &local_err);
|
||||
+ if (error_is_set(&local_err)) {
|
||||
+ qerror_report_err(local_err);
|
||||
+ error_free(local_err);
|
||||
+ ret = -EINVAL;
|
||||
+ goto fail;
|
||||
+ }
|
||||
+
|
||||
+ filename = qemu_opt_get(opts, "filename");
|
||||
+
|
||||
+ if (!strncmp(filename, "tar://", 6))
|
||||
+ fname += 6;
|
||||
+ filename += 6;
|
||||
+ else if (!strncmp(filename, "tar:", 4))
|
||||
+ fname += 4;
|
||||
+ filename += 4;
|
||||
+
|
||||
+ ret = bdrv_file_open(&s->hd, fname, flags);
|
||||
+ if (ret < 0)
|
||||
+ ret = bdrv_file_open(&s->hd, filename, NULL, flags);
|
||||
+ if (ret < 0) {
|
||||
+ qemu_opts_del(opts);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ /* Search the file for an image */
|
||||
+
|
||||
@ -281,12 +312,14 @@ index 0000000..3508320
|
||||
+ }
|
||||
+ tar_sparse(s, s->file_len, 1);
|
||||
+ }
|
||||
+ qemu_opts_del(opts);
|
||||
+
|
||||
+ return 0;
|
||||
+
|
||||
+fail:
|
||||
+ fprintf(stderr, "Tar: Error opening file\n");
|
||||
+ bdrv_delete(s->hd);
|
||||
+ qemu_opts_del(opts);
|
||||
+ return -EINVAL;
|
||||
+}
|
||||
+
|
@ -1,14 +1,14 @@
|
||||
From 055413d3a4ad459e39511fabdd19c010a0083b28 Mon Sep 17 00:00:00 2001
|
||||
From e6b5df35d547382b84f886382dcf4e8e55f7ae5f Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Graf <agraf@suse.de>
|
||||
Date: Wed, 12 Dec 2012 19:11:30 +0100
|
||||
Subject: [PATCH] Legacy Patch kvm-qemu-preXX-dictzip3.patch
|
||||
|
||||
---
|
||||
block/tar.c | 13 +++++++++++--
|
||||
1 Datei geändert, 11 Zeilen hinzugefügt(+), 2 Zeilen entfernt(-)
|
||||
block/tar.c | 13 +++++++++++--
|
||||
1 file changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/block/tar.c b/block/tar.c
|
||||
index 3508320..8b9b68b 100644
|
||||
index 87bf552..bf24c98 100644
|
||||
--- a/block/tar.c
|
||||
+++ b/block/tar.c
|
||||
@@ -83,7 +83,8 @@ static int str_ends(char *str, const char *end)
|
||||
@ -39,7 +39,7 @@ index 3508320..8b9b68b 100644
|
||||
return retval;
|
||||
}
|
||||
|
||||
@@ -201,12 +209,13 @@ static int tar_open(BlockDriverState *bs, const char *filename, int flags)
|
||||
@@ -229,12 +237,13 @@ static int tar_open(BlockDriverState *bs, QDict *options, int flags)
|
||||
bdrv_pread(s->hd, header_offs - s->file_len, s->longfile,
|
||||
sizeof(s->longfile));
|
||||
s->longfile[sizeof(s->longfile)-1] = '\0';
|
@ -1,14 +1,14 @@
|
||||
From 0e7f0daae9afb462ba37a6481eac1407524bb3f9 Mon Sep 17 00:00:00 2001
|
||||
From 99b43e0450060382e4c748d17a97eb51c6462fbd Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Graf <agraf@suse.de>
|
||||
Date: Wed, 12 Dec 2012 19:11:31 +0100
|
||||
Subject: [PATCH] Legacy Patch kvm-qemu-preXX-report-default-mac-used.patch
|
||||
|
||||
---
|
||||
net/net.c | 22 ++++++++++++++++++++++
|
||||
1 Datei geändert, 22 Zeilen hinzugefügt(+)
|
||||
net/net.c | 22 ++++++++++++++++++++++
|
||||
1 file changed, 22 insertions(+)
|
||||
|
||||
diff --git a/net/net.c b/net/net.c
|
||||
index be03a8d..cc63b7e 100644
|
||||
index 43a74e4..e1e7843 100644
|
||||
--- a/net/net.c
|
||||
+++ b/net/net.c
|
||||
@@ -139,6 +139,27 @@ void qemu_format_nic_info_str(NetClientState *nc, uint8_t macaddr[6])
|
||||
@ -39,7 +39,7 @@ index be03a8d..cc63b7e 100644
|
||||
void qemu_macaddr_default_if_unset(MACAddr *macaddr)
|
||||
{
|
||||
static int index = 0;
|
||||
@@ -1129,6 +1150,7 @@ int net_init_clients(void)
|
||||
@@ -1131,6 +1152,7 @@ int net_init_clients(void)
|
||||
if (qemu_opts_foreach(net, net_init_client, NULL, 1) == -1) {
|
||||
return -1;
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
From f09daebf440af834948216c7f1ff700f94c122ed Mon Sep 17 00:00:00 2001
|
||||
From d1215a930822d99101a574d8d77da00ec34eac52 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Graf <agraf@suse.de>
|
||||
Date: Mon, 6 Jun 2011 06:53:52 +0200
|
||||
Subject: [PATCH] console: add question-mark escape operator
|
||||
@ -12,14 +12,14 @@ outputting guest serial consoles to the graphical console emulator.
|
||||
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
---
|
||||
ui/console.c | 2 +-
|
||||
1 Datei geändert, 1 Zeile hinzugefügt(+), 1 Zeile entfernt(-)
|
||||
ui/console.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ui/console.c b/ui/console.c
|
||||
index 0a68836..760c817 100644
|
||||
index b30853f..02d67b7 100644
|
||||
--- a/ui/console.c
|
||||
+++ b/ui/console.c
|
||||
@@ -951,7 +951,7 @@ static void console_putchar(QemuConsole *s, int ch)
|
||||
@@ -897,7 +897,7 @@ static void console_putchar(QemuConsole *s, int ch)
|
||||
} else {
|
||||
if (s->nb_esc_params < MAX_ESC_PARAMS)
|
||||
s->nb_esc_params++;
|
@ -1,4 +1,4 @@
|
||||
From 5590ece9095a3e13b00c4910073ffcd0b03046b9 Mon Sep 17 00:00:00 2001
|
||||
From d5436a2d1d30383ae565346ff5dd5f1e53effa38 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Graf <agraf@suse.de>
|
||||
Date: Thu, 1 Apr 2010 17:36:23 +0200
|
||||
Subject: [PATCH] Make char muxer more robust wrt small FIFOs
|
||||
@ -18,14 +18,14 @@ it polls again after a while to check if the guest is now receiving input.
|
||||
|
||||
This patch fixes input when using -nographic on s390 for me.
|
||||
---
|
||||
qemu-char.c | 16 ++++++++++++++++
|
||||
1 Datei geändert, 16 Zeilen hinzugefügt(+)
|
||||
qemu-char.c | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/qemu-char.c b/qemu-char.c
|
||||
index e4b0f53..4931033 100644
|
||||
index 64e824d..dc1c440 100644
|
||||
--- a/qemu-char.c
|
||||
+++ b/qemu-char.c
|
||||
@@ -240,6 +240,9 @@ typedef struct {
|
||||
@@ -270,6 +270,9 @@ typedef struct {
|
||||
IOEventHandler *chr_event[MAX_MUX];
|
||||
void *ext_opaque[MAX_MUX];
|
||||
CharDriverState *drv;
|
||||
@ -35,7 +35,7 @@ index e4b0f53..4931033 100644
|
||||
int focus;
|
||||
int mux_cnt;
|
||||
int term_got_escape;
|
||||
@@ -396,6 +399,15 @@ static void mux_chr_accept_input(CharDriverState *chr)
|
||||
@@ -426,6 +429,15 @@ static void mux_chr_accept_input(CharDriverState *chr)
|
||||
d->chr_read[m](d->ext_opaque[m],
|
||||
&d->buffer[m][d->cons[m]++ & MUX_BUFFER_MASK], 1);
|
||||
}
|
||||
@ -51,7 +51,7 @@ index e4b0f53..4931033 100644
|
||||
}
|
||||
|
||||
static int mux_chr_can_read(void *opaque)
|
||||
@@ -478,6 +490,10 @@ static CharDriverState *qemu_chr_open_mux(CharDriverState *drv)
|
||||
@@ -508,6 +520,10 @@ static CharDriverState *qemu_chr_open_mux(CharDriverState *drv)
|
||||
chr->opaque = d;
|
||||
d->drv = drv;
|
||||
d->focus = -1;
|
@ -1,4 +1,4 @@
|
||||
From 7626ebe1e2a0c67547d38f0ee8c483442d46c244 Mon Sep 17 00:00:00 2001
|
||||
From f793d437a1d1b27f8ab326000cedc249f82153ba Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Graf <agraf@suse.de>
|
||||
Date: Thu, 13 Dec 2012 14:29:22 +0100
|
||||
Subject: [PATCH] linux-user: lseek: explicitly cast end offsets to signed
|
||||
@ -12,14 +12,14 @@ absolute position which we need to maintain as unsigned.
|
||||
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
---
|
||||
linux-user/syscall.c | 9 +++++++--
|
||||
1 Datei geändert, 7 Zeilen hinzugefügt(+), 2 Zeilen entfernt(-)
|
||||
linux-user/syscall.c | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 5e6ac06..bed73f3 100644
|
||||
index c1eceb2..259fed4 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -5628,9 +5628,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1,
|
||||
@@ -5648,9 +5648,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1,
|
||||
case TARGET_NR_oldstat:
|
||||
goto unimplemented;
|
||||
#endif
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:066297ed77408fb7588889c271a85cf3c259ad55c939315988e6062d7708eda8
|
||||
size 10419510
|
3
qemu-1.5.0-rc1.tar.bz2
Normal file
3
qemu-1.5.0-rc1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1da6df92e7fc6c6520d65d150046bbb450bfe80839529588159777ec1b32a359
|
||||
size 11932546
|
26
qemu.changes
26
qemu.changes
@ -1,3 +1,29 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue May 14 13:02:18 UTC 2013 - afaerber@suse.de
|
||||
|
||||
- Update to v1.5.0-rc1: Cf. http://wiki.qemu.org/ChangeLog/1.5
|
||||
* Adapt update_git.sh accordingly
|
||||
* TODO file no longer exists, don't try to package it
|
||||
* Package qemu-mips64{,el}
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 14 14:51:20 CEST 2013 - ohering@suse.de
|
||||
|
||||
- Enable spice support starting from 11.4
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 7 19:56:40 UTC 2013 - afaerber@suse.de
|
||||
|
||||
- Update to v1.5.0-rc0: Cf. http://wiki.qemu.org/ChangeLog/1.5
|
||||
* Adapt update_git.sh script
|
||||
* Audio cards are now all enabled by default
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 24 17:15:04 UTC 2013 - afaerber@suse.de
|
||||
|
||||
- Enable pa and oss audio drivers, as in kvm package (bnc#737070)
|
||||
- Enable hda audio card, as done in kvm package (bnc#801794)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 22 18:27:18 UTC 2013 - dimstar@opensuse.org
|
||||
|
||||
|
91
qemu.spec
91
qemu.spec
@ -21,48 +21,46 @@ Url: http://www.qemu.org/
|
||||
Summary: Universal CPU emulator
|
||||
License: BSD-3-Clause and GPL-2.0+ and LGPL-2.1+ and MIT
|
||||
Group: System/Emulators/PC
|
||||
Version: 1.4.0
|
||||
Version: 1.5.0rc1
|
||||
Release: 0
|
||||
Source: %name-%version.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
|
||||
Patch0004: 0004-qemu-0.9.0.cvs-binfmt.patch.patch
|
||||
Patch0005: 0005-qemu-cvs-alsa_bitfield.patch.patch
|
||||
Patch0006: 0006-qemu-cvs-alsa_ioctl.patch.patch
|
||||
Patch0007: 0007-qemu-cvs-alsa_mmap.patch.patch
|
||||
Patch0008: 0008-qemu-cvs-gettimeofday.patch.patch
|
||||
Patch0009: 0009-qemu-cvs-ioctl_debug.patch.patch
|
||||
Patch0010: 0010-qemu-cvs-ioctl_nodirection.patch.patch
|
||||
Patch0011: 0011-block-vmdk-Support-creation-of-SCSI.patch
|
||||
Patch0012: 0012-configure-Enable-mipsn32-linux-user.patch
|
||||
Patch0013: 0013-linux-user-add-binfmt-wrapper-for-a.patch
|
||||
Patch0014: 0014-linux-user-Ignore-timer_create-sysc.patch
|
||||
Patch0015: 0015-linux-user-be-silent-about-capget-f.patch
|
||||
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-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-Add-support-for-DictZip-enabled-gzi.patch
|
||||
Patch0034: 0034-Add-tar-container-format.patch.patch
|
||||
Patch0035: 0035-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
|
||||
Patch0036: 0036-Legacy-Patch-kvm-qemu-preXX-report-.patch
|
||||
Patch0037: 0037-console-add-question-mark-escape-op.patch
|
||||
Patch0038: 0038-Make-char-muxer-more-robust-wrt-sma.patch
|
||||
Patch0039: 0039-linux-user-lseek-explicitly-cast-en.patch
|
||||
Source: %name-1.5.0-rc1.tar.bz2
|
||||
Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patc.patch
|
||||
Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch
|
||||
Patch0003: 0003-qemu-0.9.0.cvs-binfmt.patch.patch
|
||||
Patch0004: 0004-qemu-cvs-alsa_bitfield.patch.patch
|
||||
Patch0005: 0005-qemu-cvs-alsa_ioctl.patch.patch
|
||||
Patch0006: 0006-qemu-cvs-alsa_mmap.patch.patch
|
||||
Patch0007: 0007-qemu-cvs-gettimeofday.patch.patch
|
||||
Patch0008: 0008-qemu-cvs-ioctl_debug.patch.patch
|
||||
Patch0009: 0009-qemu-cvs-ioctl_nodirection.patch.patch
|
||||
Patch0010: 0010-block-vmdk-Support-creation-of-SCSI.patch
|
||||
Patch0011: 0011-linux-user-add-binfmt-wrapper-for-a.patch
|
||||
Patch0012: 0012-linux-user-Ignore-timer_create-sysc.patch
|
||||
Patch0013: 0013-linux-user-be-silent-about-capget-f.patch
|
||||
Patch0014: 0014-PPC-KVM-Disable-mmu-notifier-check..patch
|
||||
Patch0015: 0015-linux-user-fix-segfault-deadlock.pa.patch
|
||||
Patch0016: 0016-linux-user-binfmt-support-host-bina.patch
|
||||
Patch0017: 0017-linux-user-arm-no-tb_flush-on-reset.patch
|
||||
Patch0018: 0018-linux-user-Ignore-broken-loop-ioctl.patch
|
||||
Patch0019: 0019-linux-user-fix-segmentation-fault-p.patch
|
||||
Patch0020: 0020-linux-user-lock-tcg.patch.patch
|
||||
Patch0021: 0021-linux-user-Run-multi-threaded-code-.patch
|
||||
Patch0022: 0022-linux-user-lock-tb-flushing-too.pat.patch
|
||||
Patch0023: 0023-linux-user-Fake-proc-cpuinfo.patch.patch
|
||||
Patch0024: 0024-linux-user-implement-FS_IOC_GETFLAG.patch
|
||||
Patch0025: 0025-linux-user-implement-FS_IOC_SETFLAG.patch
|
||||
Patch0026: 0026-linux-user-XXX-disable-fiemap.patch.patch
|
||||
Patch0027: 0027-slirp-nooutgoing.patch.patch
|
||||
Patch0028: 0028-vnc-password-file-and-incoming-conn.patch
|
||||
Patch0029: 0029-linux-user-add-more-blk-ioctls.patc.patch
|
||||
Patch0030: 0030-linux-user-use-target_ulong.patch.patch
|
||||
Patch0031: 0031-Add-support-for-DictZip-enabled-gzi.patch
|
||||
Patch0032: 0032-Add-tar-container-format.patch.patch
|
||||
Patch0033: 0033-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
|
||||
Patch0034: 0034-Legacy-Patch-kvm-qemu-preXX-report-.patch
|
||||
Patch0035: 0035-console-add-question-mark-escape-op.patch
|
||||
Patch0036: 0036-Make-char-muxer-more-robust-wrt-sma.patch
|
||||
Patch0037: 0037-linux-user-lseek-explicitly-cast-en.patch
|
||||
# this is to make lint happy
|
||||
Source300: rpmlintrc
|
||||
Source302: bridge.conf
|
||||
@ -108,7 +106,7 @@ BuildRequires: glib2-devel-static
|
||||
%if 0%{?suse_version} >= 1220
|
||||
BuildRequires: pcre-devel-static
|
||||
%endif
|
||||
%if 0%{?suse_version} >= 1210
|
||||
%if 0%{?suse_version} >= 1140
|
||||
%ifarch %ix86 x86_64
|
||||
BuildRequires: libspice-server-devel
|
||||
BuildRequires: spice-protocol-devel
|
||||
@ -181,7 +179,7 @@ emulations. This can be used together with the OBS build script to
|
||||
run cross-architecture builds.
|
||||
|
||||
%prep
|
||||
%setup -q #-n %name-1.4.0-rc1
|
||||
%setup -q -n %name-1.5.0-rc1
|
||||
%patch0001 -p1
|
||||
%patch0002 -p1
|
||||
%patch0003 -p1
|
||||
@ -219,8 +217,6 @@ run cross-architecture builds.
|
||||
%patch0035 -p1
|
||||
%patch0036 -p1
|
||||
%patch0037 -p1
|
||||
%patch0038 -p1
|
||||
%patch0039 -p1
|
||||
|
||||
%build
|
||||
# build QEMU
|
||||
@ -228,7 +224,6 @@ mkdir -p dynamic
|
||||
# build qemu-system
|
||||
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
|
||||
--libexecdir=%_libexecdir \
|
||||
--audio-card-list="ac97 es1370 sb16 cs4231a adlib gus" \
|
||||
--audio-drv-list="alsa sdl" --enable-mixemu --enable-vde \
|
||||
--enable-curl \
|
||||
--enable-virtfs \
|
||||
@ -310,7 +305,7 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
|
||||
%files
|
||||
%defattr(-, root, root)
|
||||
%doc COPYING COPYING.LIB Changelog README TODO VERSION qemu-doc.html qemu-tech.html
|
||||
%doc COPYING COPYING.LIB Changelog README VERSION qemu-doc.html qemu-tech.html
|
||||
%_bindir/qemu-system-*
|
||||
%doc %_mandir/man1/qemu.1.gz
|
||||
%_datadir/%name
|
||||
@ -351,6 +346,8 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
%_bindir/qemu-mipsel
|
||||
%_bindir/qemu-mipsn32
|
||||
%_bindir/qemu-mipsn32el
|
||||
%_bindir/qemu-mips64
|
||||
%_bindir/qemu-mips64el
|
||||
%_bindir/qemu-or32
|
||||
%_bindir/qemu-ppc64abi32
|
||||
%_bindir/qemu-ppc64
|
||||
|
13
qemu.spec.in
13
qemu.spec.in
@ -21,9 +21,9 @@ Url: http://www.qemu.org/
|
||||
Summary: Universal CPU emulator
|
||||
License: BSD-3-Clause and GPL-2.0+ and LGPL-2.1+ and MIT
|
||||
Group: System/Emulators/PC
|
||||
Version: 1.4.0
|
||||
Version: 1.5.0rc1
|
||||
Release: 0
|
||||
Source: %name-%version.tar.bz2
|
||||
Source: %name-1.5.0-rc1.tar.bz2
|
||||
PATCH_FILES
|
||||
# this is to make lint happy
|
||||
Source300: rpmlintrc
|
||||
@ -70,7 +70,7 @@ BuildRequires: glib2-devel-static
|
||||
%if 0%{?suse_version} >= 1220
|
||||
BuildRequires: pcre-devel-static
|
||||
%endif
|
||||
%if 0%{?suse_version} >= 1210
|
||||
%if 0%{?suse_version} >= 1140
|
||||
%ifarch %ix86 x86_64
|
||||
BuildRequires: libspice-server-devel
|
||||
BuildRequires: spice-protocol-devel
|
||||
@ -143,7 +143,7 @@ emulations. This can be used together with the OBS build script to
|
||||
run cross-architecture builds.
|
||||
|
||||
%prep
|
||||
%setup -q #-n %name-1.4.0-rc1
|
||||
%setup -q -n %name-1.5.0-rc1
|
||||
PATCH_EXEC
|
||||
|
||||
%build
|
||||
@ -152,7 +152,6 @@ mkdir -p dynamic
|
||||
# build qemu-system
|
||||
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
|
||||
--libexecdir=%_libexecdir \
|
||||
--audio-card-list="ac97 es1370 sb16 cs4231a adlib gus" \
|
||||
--audio-drv-list="alsa sdl" --enable-mixemu --enable-vde \
|
||||
--enable-curl \
|
||||
--enable-virtfs \
|
||||
@ -234,7 +233,7 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
|
||||
%files
|
||||
%defattr(-, root, root)
|
||||
%doc COPYING COPYING.LIB Changelog README TODO VERSION qemu-doc.html qemu-tech.html
|
||||
%doc COPYING COPYING.LIB Changelog README VERSION qemu-doc.html qemu-tech.html
|
||||
%_bindir/qemu-system-*
|
||||
%doc %_mandir/man1/qemu.1.gz
|
||||
%_datadir/%name
|
||||
@ -275,6 +274,8 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
%_bindir/qemu-mipsel
|
||||
%_bindir/qemu-mipsn32
|
||||
%_bindir/qemu-mipsn32el
|
||||
%_bindir/qemu-mips64
|
||||
%_bindir/qemu-mips64el
|
||||
%_bindir/qemu-or32
|
||||
%_bindir/qemu-ppc64abi32
|
||||
%_bindir/qemu-ppc64
|
||||
|
@ -12,8 +12,8 @@
|
||||
|
||||
GIT_TREE=git://github.com/openSUSE/qemu.git
|
||||
GIT_LOCAL_TREE=/suse/agraf/git/qemu
|
||||
GIT_BRANCH=opensuse-1.4
|
||||
GIT_UPSTREAM_TAG=v1.4.0
|
||||
GIT_BRANCH=opensuse-1.5
|
||||
GIT_UPSTREAM_TAG=v1.5.0-rc1
|
||||
QEMU_TMP=/dev/shm/qemu-tmp
|
||||
|
||||
# clean up
|
||||
|
Loading…
Reference in New Issue
Block a user