Accepting request 155049 from home:a_faerber:branches:Virtualization
Update to v1.4.0-rc1 OBS-URL: https://build.opensuse.org/request/show/155049 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=127
This commit is contained in:
parent
f50ef334f7
commit
05d69eeee2
@ -1,4 +1,4 @@
|
||||
From 3538cf4c292b77ef153276a59fe8e914e62cce03 Mon Sep 17 00:00:00 2001
|
||||
From 1a840fa8e950de4985f4b1fd8d91d8718c366547 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
|
||||
@ -22,17 +22,20 @@ 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 | 14 ++++++++++++--
|
||||
gen-icount.h | 16 ++++++++++++++++
|
||||
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 +++++
|
||||
6 files changed, 60 insertions(+), 3 deletions(-)
|
||||
8 Dateien geändert, 62 Zeilen hinzugefügt(+), 3 Zeilen entfernt(-)
|
||||
|
||||
diff --git a/cpu-exec.c b/cpu-exec.c
|
||||
index 904ee73..b83d43e 100644
|
||||
index 19ebb4a..02d8d69 100644
|
||||
--- a/cpu-exec.c
|
||||
+++ b/cpu-exec.c
|
||||
@@ -597,7 +597,16 @@ int cpu_exec(CPUArchState *env)
|
||||
@ -54,34 +57,19 @@ index 904ee73..b83d43e 100644
|
||||
int insns_left;
|
||||
tb = (TranslationBlock *)(next_tb & ~3);
|
||||
diff --git a/exec.c b/exec.c
|
||||
index 8435de0..edb44fc 100644
|
||||
index b85508b..9458672 100644
|
||||
--- a/exec.c
|
||||
+++ b/exec.c
|
||||
@@ -119,6 +119,8 @@ DEFINE_TLS(CPUArchState *,cpu_single_env);
|
||||
@@ -79,6 +79,8 @@ DEFINE_TLS(CPUArchState *,cpu_single_env);
|
||||
1 = Precise instruction counting.
|
||||
2 = Adaptive rate instruction counting. */
|
||||
int use_icount = 0;
|
||||
int use_icount;
|
||||
+/* 1 to do cpu_exit by inline flag check rather than tb link breaking */
|
||||
+int use_stopflag = 1;
|
||||
|
||||
typedef struct PageDesc {
|
||||
/* list of TBs intersecting this ram page */
|
||||
@@ -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 {
|
||||
- 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);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
#if !defined(CONFIG_USER_ONLY)
|
||||
|
||||
@@ -1757,7 +1765,9 @@ void cpu_reset_interrupt(CPUArchState *env, int mask)
|
||||
@@ -493,7 +495,9 @@ void cpu_reset_interrupt(CPUArchState *env, int mask)
|
||||
void cpu_exit(CPUArchState *env)
|
||||
{
|
||||
env->exit_request = 1;
|
||||
@ -92,11 +80,11 @@ index 8435de0..edb44fc 100644
|
||||
}
|
||||
|
||||
void cpu_abort(CPUArchState *env, const char *fmt, ...)
|
||||
diff --git a/gen-icount.h b/gen-icount.h
|
||||
index 248cf5b..27ab048 100644
|
||||
--- a/gen-icount.h
|
||||
+++ b/gen-icount.h
|
||||
@@ -2,13 +2,25 @@
|
||||
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. */
|
||||
|
||||
@ -122,7 +110,7 @@ index 248cf5b..27ab048 100644
|
||||
if (!use_icount)
|
||||
return;
|
||||
|
||||
@@ -26,6 +38,10 @@ static inline void gen_icount_start(void)
|
||||
@@ -29,6 +41,10 @@ static inline void gen_icount_start(void)
|
||||
|
||||
static void gen_icount_end(TranslationBlock *tb, int num_insns)
|
||||
{
|
||||
@ -134,10 +122,10 @@ index 248cf5b..27ab048 100644
|
||||
*icount_arg = num_insns;
|
||||
gen_set_label(icount_label);
|
||||
diff --git a/linux-user/main.c b/linux-user/main.c
|
||||
index 25e35cd..c339af8 100644
|
||||
index 3df8aa2..d83f79f 100644
|
||||
--- a/linux-user/main.c
|
||||
+++ b/linux-user/main.c
|
||||
@@ -64,6 +64,7 @@ unsigned long reserved_va;
|
||||
@@ -69,6 +69,7 @@ unsigned long reserved_va;
|
||||
#endif
|
||||
|
||||
static void usage(void);
|
||||
@ -145,7 +133,7 @@ index 25e35cd..c339af8 100644
|
||||
|
||||
static const char *interp_prefix = CONFIG_QEMU_INTERP_PREFIX;
|
||||
const char *qemu_uname_release = CONFIG_UNAME_RELEASE;
|
||||
@@ -3192,6 +3193,11 @@ static void handle_arg_reserved_va(const char *arg)
|
||||
@@ -3241,6 +3242,11 @@ static void handle_arg_reserved_va(const char *arg)
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -157,7 +145,7 @@ index 25e35cd..c339af8 100644
|
||||
static void handle_arg_singlestep(const char *arg)
|
||||
{
|
||||
singlestep = 1;
|
||||
@@ -3247,6 +3253,8 @@ static const struct qemu_argument arg_table[] = {
|
||||
@@ -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"},
|
||||
@ -167,10 +155,10 @@ index 25e35cd..c339af8 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 de43b1b..94a1c50 100644
|
||||
index 046bdc0..a9ad8cf 100644
|
||||
--- a/qemu-options.hx
|
||||
+++ b/qemu-options.hx
|
||||
@@ -1258,6 +1258,15 @@ STEXI
|
||||
@@ -1266,6 +1266,15 @@ STEXI
|
||||
Disable HPET support.
|
||||
ETEXI
|
||||
|
||||
@ -186,20 +174,52 @@ index de43b1b..94a1c50 100644
|
||||
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 a3ab384..a13012e 100644
|
||||
index a8dc73d..66c2a9b 100644
|
||||
--- a/vl.c
|
||||
+++ b/vl.c
|
||||
@@ -177,6 +177,8 @@ int main(int argc, char **argv)
|
||||
|
||||
@@ -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;
|
||||
@@ -3226,6 +3228,9 @@ int main(int argc, char **argv, char **envp)
|
||||
@@ -3507,6 +3509,9 @@ int main(int argc, char **argv, char **envp)
|
||||
qdev_prop_register_global_list(slew_lost_ticks);
|
||||
break;
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 1c136948d465e16ead3275c02e1cd4cd230ad11e Mon Sep 17 00:00:00 2001
|
||||
From 2fdec281141692d2b6ffaf23cc2ed96f937b5eac 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 95e2ffa..4758c11 100644
|
||||
index 67c2311..20c9b4d 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,4 +1,4 @@
|
||||
From ed3496084d3efb765b899720a39e38a6d87215a2 Mon Sep 17 00:00:00 2001
|
||||
From 3aab4e97f66818ffdd6b52ce3ab6afb77adeee80 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 c339af8..c4d10ac 100644
|
||||
index d83f79f..800e585 100644
|
||||
--- a/linux-user/main.c
|
||||
+++ b/linux-user/main.c
|
||||
@@ -834,15 +834,22 @@ void cpu_loop(CPUARMState *env)
|
||||
@@ -839,15 +839,22 @@ void cpu_loop(CPUARMState *env)
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
@ -48,7 +48,7 @@ index c339af8..c4d10ac 100644
|
||||
} else {
|
||||
goto error;
|
||||
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
|
||||
index 5e53dca..7cc7b87 100644
|
||||
index b10e957..2d6f957 100644
|
||||
--- a/linux-user/qemu.h
|
||||
+++ b/linux-user/qemu.h
|
||||
@@ -137,6 +137,8 @@ typedef struct TaskState {
|
||||
@ -69,7 +69,7 @@ index 5e53dca..7cc7b87 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 4758c11..703a9f5 100644
|
||||
index 20c9b4d..66ab9c9 100644
|
||||
--- a/linux-user/signal.c
|
||||
+++ b/linux-user/signal.c
|
||||
@@ -25,6 +25,7 @@
|
||||
@ -92,7 +92,7 @@ index 4758c11..703a9f5 100644
|
||||
return 1; /* indicates that the signal was queued */
|
||||
}
|
||||
}
|
||||
@@ -642,8 +648,24 @@ int do_sigaction(int sig, const struct target_sigaction *act,
|
||||
@@ -636,8 +642,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 4758c11..703a9f5 100644
|
||||
ignore state to avoid getting unexpected interrupted
|
||||
syscalls */
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index e4291ed..05d4809 100644
|
||||
index 9e31ea7..512fc4c 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -5134,6 +5134,87 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
|
||||
@@ -5165,6 +5165,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 e4291ed..05d4809 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>. */
|
||||
@@ -5146,6 +5227,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
@@ -5177,6 +5258,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 e4291ed..05d4809 100644
|
||||
|
||||
#ifdef DEBUG
|
||||
gemu_log("syscall %d", num);
|
||||
@@ -8154,7 +8241,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
@@ -8174,7 +8261,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 e4291ed..05d4809 100644
|
||||
}
|
||||
|
||||
switch(arg2) {
|
||||
@@ -8911,6 +8998,7 @@ fail:
|
||||
@@ -8931,6 +9018,7 @@ fail:
|
||||
#endif
|
||||
if(do_strace)
|
||||
print_syscall_ret(num, ret);
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 9f74f21db9a16aa39543305e866bee65fa3600f3 Mon Sep 17 00:00:00 2001
|
||||
From 50975c5d1d982ede498d020bd682b296855ebd2a 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
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c4c3a1610d2255897310ebcfec4c67dbbe7bdc04 Mon Sep 17 00:00:00 2001
|
||||
From 9b4c0ade062a4677ccd1df1b40055ff9b8d9b99a 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,12 +8,40 @@ 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 +++++++++++++++++++++
|
||||
thunk.h | 3 +++
|
||||
2 files changed, 24 insertions(+), 0 deletions(-)
|
||||
2 Dateien geändert, 24 Zeilen hinzugefügt(+)
|
||||
|
||||
diff --git a/include/exec/user/thunk.h b/include/exec/user/thunk.h
|
||||
index 87025c3..6c35e64 100644
|
||||
--- a/include/exec/user/thunk.h
|
||||
+++ b/include/exec/user/thunk.h
|
||||
@@ -38,6 +38,7 @@ typedef enum argtype {
|
||||
TYPE_ARRAY,
|
||||
TYPE_STRUCT,
|
||||
TYPE_OLDDEVT,
|
||||
+ TYPE_INTBITFIELD,
|
||||
} argtype;
|
||||
|
||||
#define MK_PTR(type) TYPE_PTR, type
|
||||
@@ -91,6 +92,7 @@ static inline int thunk_type_size(const argtype *type_ptr, int is_host)
|
||||
case TYPE_SHORT:
|
||||
return 2;
|
||||
case TYPE_INT:
|
||||
+ case TYPE_INTBITFIELD:
|
||||
return 4;
|
||||
case TYPE_LONGLONG:
|
||||
case TYPE_ULONGLONG:
|
||||
@@ -153,6 +155,7 @@ static inline int thunk_type_align(const argtype *type_ptr, int is_host)
|
||||
case TYPE_SHORT:
|
||||
return 2;
|
||||
case TYPE_INT:
|
||||
+ case TYPE_INTBITFIELD:
|
||||
return 4;
|
||||
case TYPE_LONGLONG:
|
||||
case TYPE_ULONGLONG:
|
||||
diff --git a/thunk.c b/thunk.c
|
||||
index 8ebbbb4..bf43985 100644
|
||||
index 3cca047..c6a78ca 100644
|
||||
--- a/thunk.c
|
||||
+++ b/thunk.c
|
||||
@@ -41,6 +41,7 @@ static inline const argtype *thunk_type_next(const argtype *type_ptr)
|
||||
@ -51,31 +79,3 @@ index 8ebbbb4..bf43985 100644
|
||||
case TYPE_LONGLONG:
|
||||
case TYPE_ULONGLONG:
|
||||
*(uint64_t *)dst = tswap64(*(uint64_t *)src);
|
||||
diff --git a/thunk.h b/thunk.h
|
||||
index 87025c3..6c35e64 100644
|
||||
--- a/thunk.h
|
||||
+++ b/thunk.h
|
||||
@@ -38,6 +38,7 @@ typedef enum argtype {
|
||||
TYPE_ARRAY,
|
||||
TYPE_STRUCT,
|
||||
TYPE_OLDDEVT,
|
||||
+ TYPE_INTBITFIELD,
|
||||
} argtype;
|
||||
|
||||
#define MK_PTR(type) TYPE_PTR, type
|
||||
@@ -91,6 +92,7 @@ static inline int thunk_type_size(const argtype *type_ptr, int is_host)
|
||||
case TYPE_SHORT:
|
||||
return 2;
|
||||
case TYPE_INT:
|
||||
+ case TYPE_INTBITFIELD:
|
||||
return 4;
|
||||
case TYPE_LONGLONG:
|
||||
case TYPE_ULONGLONG:
|
||||
@@ -153,6 +155,7 @@ static inline int thunk_type_align(const argtype *type_ptr, int is_host)
|
||||
case TYPE_SHORT:
|
||||
return 2;
|
||||
case TYPE_INT:
|
||||
+ case TYPE_INTBITFIELD:
|
||||
return 4;
|
||||
case TYPE_LONGLONG:
|
||||
case TYPE_ULONGLONG:
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5f271962cd70d1acee01d90f8e18434f278df151 Mon Sep 17 00:00:00 2001
|
||||
From 64d49de4a30473632bcf62e1a0d7464db46943d4 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
|
||||
@ -2255,15 +2255,16 @@ index 0000000..e09a30d
|
||||
+ unsigned char *code;
|
||||
+};
|
||||
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
||||
index a98cbf7..8644f87 100644
|
||||
index 92c01a9..7ceb56b 100644
|
||||
--- a/linux-user/syscall_defs.h
|
||||
+++ b/linux-user/syscall_defs.h
|
||||
@@ -2425,3 +2425,5 @@ struct target_ucred {
|
||||
uint32_t uid;
|
||||
@@ -2448,4 +2448,6 @@ struct target_ucred {
|
||||
uint32_t gid;
|
||||
};
|
||||
+
|
||||
|
||||
+#include "ioctls_alsa_structs.h"
|
||||
+
|
||||
#endif
|
||||
diff --git a/linux-user/syscall_types.h b/linux-user/syscall_types.h
|
||||
index 44b6a58..7897e37 100644
|
||||
--- a/linux-user/syscall_types.h
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 394efaf58c0588b971b0e1841daec08807e16d8a Mon Sep 17 00:00:00 2001
|
||||
From f6aa03d286d5a34306f80eb3aae99e1f5fb88133 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
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c5f7ac6f39aa8ccd9599c860fd1ea29c7de45074 Mon Sep 17 00:00:00 2001
|
||||
From 7c3d4b895ecfdbbb43ff19e7dd7abb0fa73229d7 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 05d4809..edcc4c8 100644
|
||||
index 512fc4c..f3670f5 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -6285,6 +6285,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
@@ -6316,6 +6316,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 2a1fa27b05b827ebd398af907462a5d68471e96d Mon Sep 17 00:00:00 2001
|
||||
From ee0ef5c394ebf3e5fc5bd1c9cfe4a119001c3ef0 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 edcc4c8..65246a1 100644
|
||||
index f3670f5..3716eba 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -3705,7 +3705,12 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
|
||||
@@ -3720,7 +3720,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 6b28210f9a09e5d3e4daedc7da1a80cece8cdef3 Mon Sep 17 00:00:00 2001
|
||||
From 73afa8aa92a2c2f17e6f5d1c17722d417f58707a 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 65246a1..d8d41c5 100644
|
||||
index 3716eba..62efb75 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -3739,6 +3739,11 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
|
||||
@@ -3754,6 +3754,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 65246a1..d8d41c5 100644
|
||||
case IOC_R:
|
||||
ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
|
||||
if (!is_error(ret)) {
|
||||
@@ -3757,6 +3762,7 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
|
||||
@@ -3772,6 +3777,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,27 +1,28 @@
|
||||
From c4310aa4c3f20d29b923eca9e37206c36ef30039 Mon Sep 17 00:00:00 2001
|
||||
From db86a1534d898c8a259902dee33ed777b206844b 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>
|
||||
[AF: Changed BLOCK_FLAG_SCSI from 8 to 16 for v1.2]
|
||||
[AF: Rebased onto upstream VMDK SCSI support]
|
||||
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
---
|
||||
block.c | 5 ++++-
|
||||
block/vmdk.c | 12 ++++++++++--
|
||||
block_int.h | 2 ++
|
||||
block/vmdk.c | 9 ++++++++-
|
||||
include/block/block_int.h | 2 ++
|
||||
qemu-img.c | 8 +++++++-
|
||||
4 files changed, 23 insertions(+), 4 deletions(-)
|
||||
4 Dateien geändert, 21 Zeilen hinzugefügt(+), 3 Zeilen entfernt(-)
|
||||
|
||||
diff --git a/block.c b/block.c
|
||||
index c05875f..07e271c 100644
|
||||
index 50dab8e..7ea5ab4 100644
|
||||
--- a/block.c
|
||||
+++ b/block.c
|
||||
@@ -4413,7 +4413,7 @@ int bdrv_img_create(const char *filename, const char *fmt,
|
||||
char *options, uint64_t img_size, int flags)
|
||||
@@ -4434,7 +4434,7 @@ void bdrv_img_create(const char *filename, const char *fmt,
|
||||
char *options, uint64_t img_size, int flags, Error **errp)
|
||||
{
|
||||
QEMUOptionParameter *param = NULL, *create_options = NULL;
|
||||
- QEMUOptionParameter *backing_fmt, *backing_file, *size;
|
||||
@ -29,7 +30,7 @@ index c05875f..07e271c 100644
|
||||
BlockDriverState *bs = NULL;
|
||||
BlockDriver *drv, *proto_drv;
|
||||
BlockDriver *backing_drv = NULL;
|
||||
@@ -4528,6 +4528,9 @@ int bdrv_img_create(const char *filename, const char *fmt,
|
||||
@@ -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);
|
||||
@ -40,19 +41,10 @@ index c05875f..07e271c 100644
|
||||
|
||||
ret = bdrv_create(drv, filename, param);
|
||||
diff --git a/block/vmdk.c b/block/vmdk.c
|
||||
index 51398c0..580e4b3 100644
|
||||
index aef1abc..a64d888 100644
|
||||
--- a/block/vmdk.c
|
||||
+++ b/block/vmdk.c
|
||||
@@ -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"
|
||||
- "ddb.adapterType = \"ide\"\n";
|
||||
+ "ddb.adapterType = \"%s\"\n";
|
||||
|
||||
if (filename_decompose(filename, path, prefix, postfix, PATH_MAX)) {
|
||||
return -EINVAL;
|
||||
@@ -1486,6 +1486,8 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options)
|
||||
@@ -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)) {
|
||||
fmt = options->value.s;
|
||||
@ -61,17 +53,16 @@ index 51398c0..580e4b3 100644
|
||||
}
|
||||
options++;
|
||||
}
|
||||
@@ -1576,7 +1578,8 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options)
|
||||
parent_desc_line,
|
||||
@@ -1587,7 +1589,7 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options)
|
||||
ext_desc_lines,
|
||||
(flags & BLOCK_FLAG_COMPAT6 ? 6 : 4),
|
||||
- total_size / (int64_t)(63 * 16 * 512));
|
||||
+ total_size / (int64_t)(63 * 16 * 512),
|
||||
+ flags & BLOCK_FLAG_SCSI ? "lsilogic" : "ide");
|
||||
total_size / (int64_t)(63 * number_heads * 512), number_heads,
|
||||
- adapter_type);
|
||||
+ flags & BLOCK_FLAG_SCSI ? "lsilogic" : adapter_type);
|
||||
if (split || flat) {
|
||||
fd = qemu_open(filename,
|
||||
O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_LARGEFILE,
|
||||
@@ -1677,6 +1680,11 @@ static QEMUOptionParameter vmdk_create_options[] = {
|
||||
@@ -1694,6 +1696,11 @@ static QEMUOptionParameter vmdk_create_options[] = {
|
||||
"VMDK flat extent format, can be one of "
|
||||
"{monolithicSparse (default) | monolithicFlat | twoGbMaxExtentSparse | twoGbMaxExtentFlat | streamOptimized} "
|
||||
},
|
||||
@ -83,11 +74,11 @@ index 51398c0..580e4b3 100644
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
diff --git a/block_int.h b/block_int.h
|
||||
index 9deedb8..8274c89 100644
|
||||
--- a/block_int.h
|
||||
+++ b/block_int.h
|
||||
@@ -36,6 +36,7 @@
|
||||
diff --git a/include/block/block_int.h b/include/block/block_int.h
|
||||
index eaad53e..d8cdd08 100644
|
||||
--- a/include/block/block_int.h
|
||||
+++ b/include/block/block_int.h
|
||||
@@ -37,6 +37,7 @@
|
||||
#define BLOCK_FLAG_ENCRYPT 1
|
||||
#define BLOCK_FLAG_COMPAT6 4
|
||||
#define BLOCK_FLAG_LAZY_REFCOUNTS 8
|
||||
@ -95,7 +86,7 @@ index 9deedb8..8274c89 100644
|
||||
|
||||
#define BLOCK_IO_LIMIT_READ 0
|
||||
#define BLOCK_IO_LIMIT_WRITE 1
|
||||
@@ -47,6 +48,7 @@
|
||||
@@ -48,6 +49,7 @@
|
||||
#define BLOCK_OPT_SIZE "size"
|
||||
#define BLOCK_OPT_ENCRYPT "encryption"
|
||||
#define BLOCK_OPT_COMPAT6 "compat6"
|
||||
@ -104,10 +95,10 @@ index 9deedb8..8274c89 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 e29e01b..8040a41 100644
|
||||
index 85d3740..6de3887 100644
|
||||
--- a/qemu-img.c
|
||||
+++ b/qemu-img.c
|
||||
@@ -671,7 +671,7 @@ static int img_convert(int argc, char **argv)
|
||||
@@ -676,7 +676,7 @@ static int img_convert(int argc, char **argv)
|
||||
const uint8_t *buf1;
|
||||
BlockDriverInfo bdi;
|
||||
QEMUOptionParameter *param = NULL, *create_options = NULL;
|
||||
@ -116,7 +107,7 @@ index e29e01b..8040a41 100644
|
||||
char *options = NULL;
|
||||
const char *snapshot_name = NULL;
|
||||
float local_progress = 0;
|
||||
@@ -864,6 +864,12 @@ static int img_convert(int argc, char **argv)
|
||||
@@ -869,6 +869,12 @@ static int img_convert(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
From 39d021f3946fe2941f3634d59c5dccd8b8f4f686 Mon Sep 17 00:00:00 2001
|
||||
From 37941cb10c7fd10667225e8486b94e048d345e66 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 994f731..401f369 100755
|
||||
index 8789324..72a4fed 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -952,6 +952,8 @@ microblaze-linux-user \
|
||||
@@ -978,6 +978,8 @@ microblaze-linux-user \
|
||||
microblazeel-linux-user \
|
||||
mips-linux-user \
|
||||
mipsel-linux-user \
|
||||
|
@ -1,9 +1,9 @@
|
||||
From d1ec1ef3e5ece7526d73408f0b32a31a1d18017d Mon Sep 17 00:00:00 2001
|
||||
From 7fb8ffe9a9666c7dc4b91b83620628dde08de9a3 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,11 +31,11 @@ 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 927347b..dc7efe9 100644
|
||||
index 760da1e..67336c4 100644
|
||||
--- a/Makefile.target
|
||||
+++ b/Makefile.target
|
||||
@@ -31,6 +31,10 @@ PROGS+=$(QEMU_PROGW)
|
||||
@ -49,16 +49,16 @@ index 927347b..dc7efe9 100644
|
||||
ifndef CONFIG_HAIKU
|
||||
LIBS+=-lm
|
||||
endif
|
||||
@@ -87,6 +91,8 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) -I$(SRC_PATH)/linux-user
|
||||
@@ -85,6 +89,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)
|
||||
obj-y += gdbstub.o thunk.o user-exec.o
|
||||
|
||||
+obj-binfmt-y += linux-user/
|
||||
+
|
||||
endif #CONFIG_LINUX_USER
|
||||
|
||||
#########################################################
|
||||
@@ -147,6 +153,9 @@ endif # CONFIG_SOFTMMU
|
||||
@@ -140,6 +146,9 @@ endif # CONFIG_SOFTMMU
|
||||
%/translate.o: QEMU_CFLAGS += $(TRANSLATE_OPT_CFLAGS)
|
||||
|
||||
nested-vars += obj-y
|
||||
@ -68,7 +68,7 @@ index 927347b..dc7efe9 100644
|
||||
|
||||
# This resolves all nested paths, so it must come last
|
||||
include $(SRC_PATH)/Makefile.objs
|
||||
@@ -174,6 +183,9 @@ $(QEMU_PROG): $(all-obj-y) ../libqemustub.a
|
||||
@@ -158,6 +167,9 @@ $(QEMU_PROG): $(all-obj-y) ../libqemuutil.a ../libqemustub.a
|
||||
$(call LINK,$^)
|
||||
endif
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 467be0678c62e992057a73553f80e6d5a3cbb703 Mon Sep 17 00:00:00 2001
|
||||
From a9c897a8986a9efb469eafa63bf99f699a559000 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 d8d41c5..1b8058c 100644
|
||||
index 62efb75..03b9f69 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -8615,6 +8615,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
@@ -8635,6 +8635,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
break;
|
||||
#endif
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f55bb15ac5be15a9179df2a905c1582be3d16443 Mon Sep 17 00:00:00 2001
|
||||
From b65e49823eb767fd392eedc5fa4ba181f4760e66 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 1b8058c..30ee613 100644
|
||||
index 03b9f69..3db4e89 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -7596,7 +7596,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
@@ -7616,7 +7616,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 821488854490c91bec4912b95a170fdb1835a22a Mon Sep 17 00:00:00 2001
|
||||
From eaae71802ec8af3ab68fde4cfffc067608db030d 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 edb44fc..8971d61 100644
|
||||
index 9458672..9f29d6c 100644
|
||||
--- a/exec.c
|
||||
+++ b/exec.c
|
||||
@@ -2397,10 +2397,12 @@ static void *file_ram_alloc(RAMBlock *block,
|
||||
@@ -862,10 +862,12 @@ static void *file_ram_alloc(RAMBlock *block,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -27,5 +27,5 @@ index edb44fc..8971d61 100644
|
||||
}
|
||||
+#endif
|
||||
|
||||
if (asprintf(&filename, "%s/qemu_back_mem.XXXXXX", path) == -1) {
|
||||
return NULL;
|
||||
filename = g_strdup_printf("%s/qemu_back_mem.XXXXXX", path);
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a4ad67884e8b3c45018638dca0906fb492750d66 Mon Sep 17 00:00:00 2001
|
||||
From 3f2939ec4eff0e8c8163c977dc58304a681accda 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
|
||||
@ -17,14 +17,14 @@ 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>
|
||||
---
|
||||
qemu-lock.h | 10 ++++++++++
|
||||
include/exec/spinlock.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
|
||||
diff --git a/include/exec/spinlock.h b/include/exec/spinlock.h
|
||||
index a72edda..e460e12 100644
|
||||
--- a/qemu-lock.h
|
||||
+++ b/qemu-lock.h
|
||||
--- a/include/exec/spinlock.h
|
||||
+++ b/include/exec/spinlock.h
|
||||
@@ -24,6 +24,12 @@
|
||||
#include <pthread.h>
|
||||
#define spin_lock pthread_mutex_lock
|
||||
@ -48,10 +48,10 @@ index a72edda..e460e12 100644
|
||||
+
|
||||
#endif
|
||||
diff --git a/user-exec.c b/user-exec.c
|
||||
index ef9b172..1ec5d9a 100644
|
||||
index c71acbc..5783849 100644
|
||||
--- a/user-exec.c
|
||||
+++ b/user-exec.c
|
||||
@@ -88,6 +88,10 @@ static inline int handle_cpu_signal(uintptr_t pc, unsigned long address,
|
||||
@@ -87,6 +87,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
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b117b0b71cb9db82e92f135c7c2c6019968ee4d2 Mon Sep 17 00:00:00 2001
|
||||
From e47b761826f274b0bbfbbc8febf50d61b227683f 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
|
||||
|
@ -1,4 +1,4 @@
|
||||
From bb8b1492d54777f51e5a6adf003bc62f91175524 Mon Sep 17 00:00:00 2001
|
||||
From 711032402abc02c9996b89ef0de080795d628c0d 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,10 +11,10 @@ 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
|
||||
index 1c6a628..d10a71b 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 83aeb9653d0cc0c16007eeee9b8e92ff7aca2d12 Mon Sep 17 00:00:00 2001
|
||||
From 8b9adb85a5c79acb4ea3465bc4913934c0edc082 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 30ee613..d62e9e6 100644
|
||||
index 3db4e89..2fcf3e9 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -3682,6 +3682,13 @@ out:
|
||||
@@ -3697,6 +3697,13 @@ out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -59,10 +59,10 @@ index 30ee613..d62e9e6 100644
|
||||
#define IOCTL(cmd, access, ...) \
|
||||
{ TARGET_ ## cmd, cmd, #cmd, access, 0, { __VA_ARGS__ } },
|
||||
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
||||
index 8644f87..d708131 100644
|
||||
index 7ceb56b..3cbbaa1 100644
|
||||
--- a/linux-user/syscall_defs.h
|
||||
+++ b/linux-user/syscall_defs.h
|
||||
@@ -1016,6 +1016,7 @@ struct target_pollfd {
|
||||
@@ -1020,6 +1020,7 @@ struct target_pollfd {
|
||||
#define TARGET_LOOP_SET_STATUS64 0x4C04
|
||||
#define TARGET_LOOP_GET_STATUS64 0x4C05
|
||||
#define TARGET_LOOP_CHANGE_FD 0x4C06
|
||||
|
@ -1,9 +1,9 @@
|
||||
From d53d69e169f1b1b7b0f4dc2e62110ffe9fdde0d3 Mon Sep 17 00:00:00 2001
|
||||
From aa678a7538c7103cb616d6df216e9a83cd7c8a6a 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 1ec5d9a..71afbf1 100644
|
||||
index 5783849..c5339af 100644
|
||||
--- a/user-exec.c
|
||||
+++ b/user-exec.c
|
||||
@@ -98,6 +98,12 @@ static inline int handle_cpu_signal(uintptr_t pc, unsigned long address,
|
||||
@@ -97,6 +97,12 @@ static inline int handle_cpu_signal(uintptr_t pc, unsigned long address,
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -1,17 +1,22 @@
|
||||
From fd5f1d63b3b05def9f5c02540c1ea3b194bbbac9 Mon Sep 17 00:00:00 2001
|
||||
From 0df03b5be0ed970bfb4d74976460c748c5b2dbb0 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
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The tcg code generator is not thread safe. Lock its generation between
|
||||
different threads.
|
||||
|
||||
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 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,15 +47,15 @@ index 46523de..59718b5 100644
|
||||
}
|
||||
|
||||
diff --git a/tcg/tcg.c b/tcg/tcg.c
|
||||
index cb193f2..ecc990d 100644
|
||||
index 9275e37..c84d3ac 100644
|
||||
--- a/tcg/tcg.c
|
||||
+++ b/tcg/tcg.c
|
||||
@@ -40,6 +40,8 @@
|
||||
#include "cache-utils.h"
|
||||
#include "host-utils.h"
|
||||
#include "qemu-timer.h"
|
||||
#include "qemu/cache-utils.h"
|
||||
#include "qemu/host-utils.h"
|
||||
#include "qemu/timer.h"
|
||||
+#include "config-host.h"
|
||||
+#include "qemu-thread.h"
|
||||
+#include "qemu/thread.h"
|
||||
|
||||
/* Note: the long term plan is to reduce the dependancies on the QEMU
|
||||
CPU definitions. Currently they are used for qemu_ld/st
|
||||
@ -94,7 +99,7 @@ index cb193f2..ecc990d 100644
|
||||
/* Count total number of arguments and allocate the corresponding
|
||||
space */
|
||||
total_args = 0;
|
||||
@@ -2342,11 +2368,13 @@ int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf)
|
||||
@@ -2341,11 +2367,13 @@ int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf)
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -108,7 +113,7 @@ index cb193f2..ecc990d 100644
|
||||
|
||||
return s->code_ptr - gen_code_buf;
|
||||
}
|
||||
@@ -2357,7 +2385,11 @@ int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf)
|
||||
@@ -2356,7 +2384,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 +127,7 @@ index cb193f2..ecc990d 100644
|
||||
|
||||
#ifdef CONFIG_PROFILER
|
||||
diff --git a/tcg/tcg.h b/tcg/tcg.h
|
||||
index 9481e35..1f56b40 100644
|
||||
index a427972..9fd122e 100644
|
||||
--- a/tcg/tcg.h
|
||||
+++ b/tcg/tcg.h
|
||||
@@ -46,6 +46,8 @@ typedef uint64_t tcg_target_ulong;
|
||||
@ -130,11 +135,11 @@ index 9481e35..1f56b40 100644
|
||||
#endif
|
||||
|
||||
+#include "config-host.h"
|
||||
+#include "qemu-thread.h"
|
||||
+#include "qemu/thread.h"
|
||||
#include "tcg-target.h"
|
||||
#include "tcg-runtime.h"
|
||||
|
||||
@@ -462,6 +464,7 @@ struct TCGContext {
|
||||
@@ -468,6 +470,7 @@ struct TCGContext {
|
||||
TCGLabelQemuLdst *qemu_ldst_labels;
|
||||
int nb_qemu_ldst_labels;
|
||||
#endif
|
||||
@ -142,7 +147,7 @@ index 9481e35..1f56b40 100644
|
||||
};
|
||||
|
||||
extern TCGContext tcg_ctx;
|
||||
@@ -641,6 +644,9 @@ void tcg_gen_shifti_i64(TCGv_i64 ret, TCGv_i64 arg1,
|
||||
@@ -647,6 +650,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 ffc5a9a892bd9c308317cff9eec6b1dc5cc08bb9 Mon Sep 17 00:00:00 2001
|
||||
From ba003fddbaefa737fce9ea522ae38bff6b730b20 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 d62e9e6..5295afb 100644
|
||||
index 2fcf3e9..19c635c 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -4400,6 +4400,15 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
|
||||
@@ -4415,6 +4415,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,28 +1,32 @@
|
||||
From 39b101ab3190d5ebc85e962ae5c4de885623a9f2 Mon Sep 17 00:00:00 2001
|
||||
From 832a0e774e2c25c28e208f5015cd9139e367513d 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
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
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>
|
||||
---
|
||||
exec.c | 33 ++++++++++++++++++++++++++-------
|
||||
1 files changed, 26 insertions(+), 7 deletions(-)
|
||||
translate-all.c | 20 ++++++++++++++++++--
|
||||
1 Datei geändert, 18 Zeilen hinzugefügt(+), 2 Zeilen entfernt(-)
|
||||
|
||||
diff --git a/exec.c b/exec.c
|
||||
index 8971d61..ee22e2c 100644
|
||||
--- a/exec.c
|
||||
+++ b/exec.c
|
||||
@@ -736,17 +736,22 @@ static TranslationBlock *tb_alloc(target_ulong pc)
|
||||
diff --git a/translate-all.c b/translate-all.c
|
||||
index 0d6c5a9..1066017 100644
|
||||
--- a/translate-all.c
|
||||
+++ b/translate-all.c
|
||||
@@ -625,18 +625,22 @@ 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)
|
||||
+ (code_gen_ptr - code_gen_buffer) >= code_gen_buffer_max_size) {
|
||||
(code_gen_ptr - code_gen_buffer) >= code_gen_buffer_max_size) {
|
||||
+ tcg_unlock();
|
||||
return NULL;
|
||||
+ }
|
||||
}
|
||||
tb = &tbs[nb_tbs++];
|
||||
tb->pc = pc;
|
||||
tb->cflags = 0;
|
||||
@ -36,7 +40,7 @@ index 8971d61..ee22e2c 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. */
|
||||
@@ -754,6 +759,7 @@ void tb_free(TranslationBlock *tb)
|
||||
@@ -644,6 +648,7 @@ void tb_free(TranslationBlock *tb)
|
||||
code_gen_ptr = tb->tc_ptr;
|
||||
nb_tbs--;
|
||||
}
|
||||
@ -44,15 +48,15 @@ index 8971d61..ee22e2c 100644
|
||||
}
|
||||
|
||||
static inline void invalidate_page_bitmap(PageDesc *p)
|
||||
@@ -807,6 +813,7 @@ void tb_flush(CPUArchState *env1)
|
||||
@@ -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);
|
||||
#endif
|
||||
+ tcg_lock();
|
||||
if ((unsigned long)(code_gen_ptr - code_gen_buffer) > code_gen_buffer_size)
|
||||
if ((unsigned long)(code_gen_ptr - code_gen_buffer)
|
||||
> code_gen_buffer_size) {
|
||||
cpu_abort(env1, "Internal error: code buffer overflow\n");
|
||||
|
||||
@@ -823,6 +830,7 @@ void tb_flush(CPUArchState *env1)
|
||||
@@ -717,6 +723,7 @@ void tb_flush(CPUArchState *env1)
|
||||
/* XXX: flush processor icache at this point if cache flush is
|
||||
expensive */
|
||||
tb_flush_count++;
|
||||
@ -60,21 +64,18 @@ index 8971d61..ee22e2c 100644
|
||||
}
|
||||
|
||||
#ifdef DEBUG_TB_CHECK
|
||||
@@ -1122,9 +1130,12 @@ void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
|
||||
@@ -1020,8 +1027,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 */
|
||||
|
||||
+ tcg_lock();
|
||||
p = page_find(start >> TARGET_PAGE_BITS);
|
||||
- if (!p)
|
||||
+ if (!p) {
|
||||
if (!p) {
|
||||
+ tcg_unlock();
|
||||
return;
|
||||
+ }
|
||||
}
|
||||
if (!p->code_bitmap &&
|
||||
++p->code_write_count >= SMC_BITMAP_USE_THRESHOLD &&
|
||||
is_cpu_write_access) {
|
||||
@@ -1208,6 +1219,7 @@ void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
|
||||
@@ -1109,6 +1118,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,37 +83,33 @@ index 8971d61..ee22e2c 100644
|
||||
}
|
||||
|
||||
/* len must be <= 8 and start must be a multiple of len */
|
||||
@@ -1414,12 +1426,16 @@ TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
|
||||
@@ -1323,13 +1333,16 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
|
||||
{
|
||||
int m_min, m_max, m;
|
||||
uintptr_t v;
|
||||
- TranslationBlock *tb;
|
||||
+ TranslationBlock *tb, *r;
|
||||
|
||||
- if (nb_tbs <= 0)
|
||||
+ tcg_lock();
|
||||
+ if (nb_tbs <= 0) {
|
||||
if (nb_tbs <= 0) {
|
||||
+ tcg_unlock();
|
||||
return NULL;
|
||||
+ }
|
||||
}
|
||||
if (tc_ptr < (uintptr_t)code_gen_buffer ||
|
||||
tc_ptr >= (uintptr_t)code_gen_ptr) {
|
||||
+ tcg_unlock();
|
||||
return NULL;
|
||||
}
|
||||
/* binary search (cf Knuth) */
|
||||
@@ -1429,15 +1445,18 @@ TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
|
||||
m = (m_min + m_max) >> 1;
|
||||
@@ -1340,6 +1353,7 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
|
||||
tb = &tbs[m];
|
||||
v = (uintptr_t)tb->tc_ptr;
|
||||
- if (v == tc_ptr)
|
||||
+ if (v == tc_ptr) {
|
||||
if (v == tc_ptr) {
|
||||
+ tcg_unlock();
|
||||
return tb;
|
||||
- else if (tc_ptr < v) {
|
||||
+ } else if (tc_ptr < v) {
|
||||
} else if (tc_ptr < v) {
|
||||
m_max = m - 1;
|
||||
} else {
|
||||
@@ -1347,7 +1361,9 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
|
||||
m_min = m + 1;
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d2c0f676f29147107d0650116b9e0d76fa707458 Mon Sep 17 00:00:00 2001
|
||||
From 939d4d3d025f1ef0d00cd79db659353a7991bcf7 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 5295afb..034cd5a 100644
|
||||
index 19c635c..97a7689 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -5083,6 +5083,25 @@ static int open_self_stat(void *cpu_env, int fd)
|
||||
@@ -5114,6 +5114,25 @@ static int open_self_stat(void *cpu_env, int fd)
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -46,7 +46,7 @@ index 5295afb..034cd5a 100644
|
||||
static int open_self_auxv(void *cpu_env, int fd)
|
||||
{
|
||||
TaskState *ts = ((CPUArchState *)cpu_env)->opaque;
|
||||
@@ -5123,6 +5142,7 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
|
||||
@@ -5154,6 +5173,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,31 +1,37 @@
|
||||
From 8d211b0e9eea14ea4e2934e161d45e1d91250c36 Mon Sep 17 00:00:00 2001
|
||||
From 01c6cc825e3cac5fb863510eac1daa6129a3809b 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
|
||||
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
|
||||
---
|
||||
|
||||
v1 -> v2:
|
||||
|
||||
- use TYPE_LONG instead of TYPE_INT
|
||||
---
|
||||
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
|
||||
index bb76c56..85b5bfd 100644
|
||||
--- a/linux-user/ioctls.h
|
||||
+++ b/linux-user/ioctls.h
|
||||
@@ -86,6 +86,7 @@
|
||||
IOCTL_SPECIAL(FS_IOC_FIEMAP, IOC_W | IOC_R, do_ioctl_fs_ioc_fiemap,
|
||||
MK_PTR(MK_STRUCT(STRUCT_fiemap)))
|
||||
#endif
|
||||
+ IOCTL(FS_IOC_GETFLAGS, IOC_R, MK_PTR(TYPE_INT))
|
||||
+ IOCTL(FS_IOC_GETFLAGS, IOC_R, MK_PTR(TYPE_LONG))
|
||||
|
||||
IOCTL(SIOCATMARK, 0, TYPE_NULL)
|
||||
IOCTL(SIOCADDRT, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtentry)))
|
||||
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
||||
index d708131..15b171f 100644
|
||||
index 3cbbaa1..729c8ef 100644
|
||||
--- a/linux-user/syscall_defs.h
|
||||
+++ b/linux-user/syscall_defs.h
|
||||
@@ -2344,6 +2344,8 @@ struct target_eabi_flock64 {
|
||||
@@ -2366,6 +2366,8 @@ struct target_eabi_flock64 {
|
||||
#define TARGET_MTIOCGET TARGET_IOR('m', 2, struct mtget)
|
||||
#define TARGET_MTIOCPOS TARGET_IOR('m', 3, struct mtpos)
|
||||
|
||||
|
@ -1,31 +1,37 @@
|
||||
From f17ca3834366f90f1c87ff90bc59ee6652d37fa2 Mon Sep 17 00:00:00 2001
|
||||
From 32ac81c36cd7afe73d85799327be9215259e3a04 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
|
||||
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
|
||||
---
|
||||
|
||||
v1 -> v2
|
||||
|
||||
- use TYPE_LONG instead of TYPE_INT
|
||||
---
|
||||
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
|
||||
index 85b5bfd..229cd6f 100644
|
||||
--- a/linux-user/ioctls.h
|
||||
+++ b/linux-user/ioctls.h
|
||||
@@ -87,6 +87,7 @@
|
||||
MK_PTR(MK_STRUCT(STRUCT_fiemap)))
|
||||
#endif
|
||||
IOCTL(FS_IOC_GETFLAGS, IOC_R, MK_PTR(TYPE_INT))
|
||||
+ IOCTL(FS_IOC_SETFLAGS, IOC_W, MK_PTR(TYPE_INT))
|
||||
IOCTL(FS_IOC_GETFLAGS, IOC_R, MK_PTR(TYPE_LONG))
|
||||
+ IOCTL(FS_IOC_SETFLAGS, IOC_W, MK_PTR(TYPE_LONG))
|
||||
|
||||
IOCTL(SIOCATMARK, 0, TYPE_NULL)
|
||||
IOCTL(SIOCADDRT, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtentry)))
|
||||
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
||||
index 15b171f..d618414 100644
|
||||
index 729c8ef..87fb53c 100644
|
||||
--- a/linux-user/syscall_defs.h
|
||||
+++ b/linux-user/syscall_defs.h
|
||||
@@ -2345,6 +2345,7 @@ struct target_eabi_flock64 {
|
||||
@@ -2367,6 +2367,7 @@ struct target_eabi_flock64 {
|
||||
#define TARGET_MTIOCPOS TARGET_IOR('m', 3, struct mtpos)
|
||||
|
||||
#define TARGET_FS_IOC_GETFLAGS TARGET_IORU('f', 1)
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 0270f2ba0e09f6bd0f1bdc57ba38e8acd206ed99 Mon Sep 17 00:00:00 2001
|
||||
From 2a739a3166d049f419f6aee8f08c1ed411ca7667 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 034cd5a..526e0f0 100644
|
||||
index 97a7689..0debb13 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -3302,6 +3302,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry *ie, uint8_t *buf_temp,
|
||||
@@ -3317,6 +3317,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry *ie, uint8_t *buf_temp,
|
||||
uint32_t outbufsz;
|
||||
int free_fm = 0;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
From ce4a86e1d33b1ca4fd3c3bd67a009e74a1dc5636 Mon Sep 17 00:00:00 2001
|
||||
From: =?utf-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
|
||||
From 56d002180c9c6d9525663962b11d08c8b18e2b26 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 94a1c50..9635327 100644
|
||||
index a9ad8cf..a4b5436 100644
|
||||
--- a/qemu-options.hx
|
||||
+++ b/qemu-options.hx
|
||||
@@ -2426,6 +2426,16 @@ Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
|
||||
@@ -2456,6 +2456,16 @@ Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
|
||||
from a script.
|
||||
ETEXI
|
||||
|
||||
@ -107,10 +107,10 @@ index 1542e43..a25d949 100644
|
||||
if (so->so_faddr.s_addr == 0 ||
|
||||
(so->so_faddr.s_addr & loopback_mask) ==
|
||||
diff --git a/vl.c b/vl.c
|
||||
index a13012e..b971e68 100644
|
||||
index 66c2a9b..848e312 100644
|
||||
--- a/vl.c
|
||||
+++ b/vl.c
|
||||
@@ -217,6 +217,7 @@ const char *vnc_display;
|
||||
@@ -219,6 +219,7 @@ const char *vnc_display;
|
||||
int acpi_enabled = 1;
|
||||
int no_hpet = 0;
|
||||
int fd_bootchk = 1;
|
||||
@ -118,7 +118,7 @@ index a13012e..b971e68 100644
|
||||
static int no_reboot;
|
||||
int no_shutdown = 0;
|
||||
int cursor_hide = 1;
|
||||
@@ -2969,6 +2970,14 @@ int main(int argc, char **argv, char **envp)
|
||||
@@ -3252,6 +3253,14 @@ int main(int argc, char **argv, char **envp)
|
||||
case QEMU_OPTION_singlestep:
|
||||
singlestep = 1;
|
||||
break;
|
||||
|
@ -1,15 +1,15 @@
|
||||
From 1915e62ecadb41ebd1fcc563afe4f6c0dea8f43b Mon Sep 17 00:00:00 2001
|
||||
From: =?utf-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
|
||||
From 6826a854e93cdfc0f0e82aa1af334409b767fcbb 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 ba30362..d99c1bd 100644
|
||||
index ff4e2ae..28a6978 100644
|
||||
--- a/ui/vnc.c
|
||||
+++ b/ui/vnc.c
|
||||
@@ -45,6 +45,7 @@ static const struct timeval VNC_REFRESH_LOSSY = { 2, 0 };
|
||||
@ -20,15 +20,15 @@ index ba30362..d99c1bd 100644
|
||||
|
||||
static int vnc_cursor_define(VncState *vs);
|
||||
static void vnc_release_modifiers(VncState *vs);
|
||||
@@ -1019,6 +1020,7 @@ static void vnc_disconnect_start(VncState *vs)
|
||||
static void vnc_disconnect_finish(VncState *vs)
|
||||
@@ -1025,6 +1026,7 @@ static void vnc_disconnect_start(VncState *vs)
|
||||
void vnc_disconnect_finish(VncState *vs)
|
||||
{
|
||||
int i;
|
||||
+ static int num_disconnects = 0;
|
||||
|
||||
vnc_jobs_join(vs); /* Wait encoding jobs */
|
||||
|
||||
@@ -1064,6 +1066,13 @@ static void vnc_disconnect_finish(VncState *vs)
|
||||
@@ -1078,6 +1080,13 @@ void vnc_disconnect_finish(VncState *vs)
|
||||
}
|
||||
g_free(vs->lossy_rect);
|
||||
g_free(vs);
|
||||
@ -42,7 +42,7 @@ index ba30362..d99c1bd 100644
|
||||
}
|
||||
|
||||
int vnc_client_io_error(VncState *vs, int ret, int last_errno)
|
||||
@@ -2861,6 +2870,39 @@ char *vnc_display_local_addr(DisplayState *ds)
|
||||
@@ -2958,6 +2967,39 @@ char *vnc_display_local_addr(DisplayState *ds)
|
||||
return vnc_socket_local_addr("%s:%s", vs->lsock);
|
||||
}
|
||||
|
||||
@ -82,7 +82,7 @@ index ba30362..d99c1bd 100644
|
||||
void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
|
||||
{
|
||||
VncDisplay *vs = ds ? (VncDisplay *)ds->opaque : vnc_display;
|
||||
@@ -2894,6 +2936,9 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
|
||||
@@ -2991,6 +3033,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 ba30362..d99c1bd 100644
|
||||
if (fips_get_state()) {
|
||||
error_setg(errp,
|
||||
"VNC password auth disabled due to FIPS mode, "
|
||||
@@ -2902,6 +2947,32 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
|
||||
@@ -2999,6 +3044,32 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
|
||||
goto fail;
|
||||
}
|
||||
password = 1; /* Require password auth */
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e678a299901888d0187fe8c285f5635ddcd256cc Mon Sep 17 00:00:00 2001
|
||||
From 9789bbaf32b054c4fdc40057b8a224f77d010c73 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,10 +10,10 @@ 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
|
||||
index 229cd6f..3323176 100644
|
||||
--- a/linux-user/ioctls.h
|
||||
+++ b/linux-user/ioctls.h
|
||||
@@ -71,6 +71,24 @@
|
||||
@ -42,10 +42,10 @@ index 5027c74..4522c14 100644
|
||||
IOCTL(BLKRASET, 0, TYPE_INT)
|
||||
IOCTL(BLKRAGET, IOC_R, MK_PTR(TYPE_LONG))
|
||||
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
||||
index d618414..2583dfb 100644
|
||||
index 87fb53c..e428f76 100644
|
||||
--- a/linux-user/syscall_defs.h
|
||||
+++ b/linux-user/syscall_defs.h
|
||||
@@ -885,6 +885,12 @@ struct target_pollfd {
|
||||
@@ -889,6 +889,12 @@ struct target_pollfd {
|
||||
#define TARGET_BLKGETSIZE64 TARGET_IOR(0x12,114,abi_ulong)
|
||||
/* return device size in bytes
|
||||
(u64 *arg) */
|
||||
|
@ -1,4 +1,4 @@
|
||||
From dd9837df381040d262ffc9278a4d058360641ff9 Mon Sep 17 00:00:00 2001
|
||||
From 4a0f904645a17d6a3e58263361e595fba15cbdde 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 7cc7b87..88de318 100644
|
||||
index 2d6f957..766bd8a 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 7cc7b87..88de318 100644
|
||||
extern THREAD CPUArchState *thread_env;
|
||||
void cpu_loop(CPUArchState *env);
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 526e0f0..a694181 100644
|
||||
index 0debb13..5e6ac06 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -5270,10 +5270,10 @@ int syscall_restartable(int syscall_nr)
|
||||
@@ -5301,10 +5301,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,7 +1,10 @@
|
||||
From 33b9fbeca1bc447fd6e353a8c5129f0d3a646b91 Mon Sep 17 00:00:00 2001
|
||||
From a19b832ddf9f62bd1ff2de170d1da1675c3076c6 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
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
DictZip is an extension to the gzip format that allows random seeks in gzip
|
||||
compressed files by cutting the file into pieces and storing the piece offsets
|
||||
@ -19,24 +22,27 @@ 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>
|
||||
---
|
||||
block/Makefile.objs | 1 +
|
||||
block/dictzip.c | 566 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 567 insertions(+), 0 deletions(-)
|
||||
2 Dateien geändert, 567 Zeilen hinzugefügt(+)
|
||||
create mode 100644 block/dictzip.c
|
||||
|
||||
diff --git a/block/Makefile.objs b/block/Makefile.objs
|
||||
index 7f01510..054b06e 100644
|
||||
index c067f38..3397046 100644
|
||||
--- a/block/Makefile.objs
|
||||
+++ b/block/Makefile.objs
|
||||
@@ -18,3 +18,4 @@ endif
|
||||
@@ -18,5 +18,6 @@ endif
|
||||
common-obj-y += stream.o
|
||||
common-obj-y += commit.o
|
||||
common-obj-y += mirror.o
|
||||
+common-obj-y += dictzip.o
|
||||
|
||||
$(obj)/curl.o: QEMU_CFLAGS+=$(CURL_CFLAGS)
|
||||
diff --git a/block/dictzip.c b/block/dictzip.c
|
||||
new file mode 100644
|
||||
index 0000000..b410dd6
|
||||
index 0000000..6792f80
|
||||
--- /dev/null
|
||||
+++ b/block/dictzip.c
|
||||
@@ -0,0 +1,566 @@
|
||||
@ -78,7 +84,7 @@ index 0000000..b410dd6
|
||||
+ */
|
||||
+
|
||||
+#include "qemu-common.h"
|
||||
+#include "block_int.h"
|
||||
+#include "block/block_int.h"
|
||||
+#include <zlib.h>
|
||||
+
|
||||
+// #define DEBUG
|
||||
|
@ -1,7 +1,10 @@
|
||||
From ea0fed7478adeeaf13696c23493c2c6d86d73889 Mon Sep 17 00:00:00 2001
|
||||
From 4362b562e7b0a2402b0c68c4fc08e6e194854c60 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
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Tar is a very widely used format to store data in. Sometimes people even put
|
||||
virtual machine images in there.
|
||||
@ -20,24 +23,27 @@ 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>
|
||||
---
|
||||
block/Makefile.objs | 1 +
|
||||
block/tar.c | 356 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 357 insertions(+), 0 deletions(-)
|
||||
2 Dateien geändert, 357 Zeilen hinzugefügt(+)
|
||||
create mode 100644 block/tar.c
|
||||
|
||||
diff --git a/block/Makefile.objs b/block/Makefile.objs
|
||||
index 054b06e..34850e3 100644
|
||||
index 3397046..48d1d30 100644
|
||||
--- a/block/Makefile.objs
|
||||
+++ b/block/Makefile.objs
|
||||
@@ -19,3 +19,4 @@ common-obj-y += stream.o
|
||||
@@ -19,5 +19,6 @@ common-obj-y += stream.o
|
||||
common-obj-y += commit.o
|
||||
common-obj-y += mirror.o
|
||||
common-obj-y += dictzip.o
|
||||
+common-obj-y += tar.o
|
||||
|
||||
$(obj)/curl.o: QEMU_CFLAGS+=$(CURL_CFLAGS)
|
||||
diff --git a/block/tar.c b/block/tar.c
|
||||
new file mode 100644
|
||||
index 0000000..27750c7
|
||||
index 0000000..3508320
|
||||
--- /dev/null
|
||||
+++ b/block/tar.c
|
||||
@@ -0,0 +1,356 @@
|
||||
@ -66,7 +72,7 @@ index 0000000..27750c7
|
||||
+ */
|
||||
+
|
||||
+#include "qemu-common.h"
|
||||
+#include "block_int.h"
|
||||
+#include "block/block_int.h"
|
||||
+
|
||||
+// #define DEBUG
|
||||
+
|
||||
|
@ -1,14 +1,14 @@
|
||||
From bd6cf9e4804b30c8212fe83ca3f08b12ab4f2d80 Mon Sep 17 00:00:00 2001
|
||||
From 93c36402161fc33e315224d0917f0f0ebfcb9657 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 files changed, 11 insertions(+), 2 deletions(-)
|
||||
1 Datei geändert, 11 Zeilen hinzugefügt(+), 2 Zeilen entfernt(-)
|
||||
|
||||
diff --git a/block/tar.c b/block/tar.c
|
||||
index 27750c7..c5b75aa 100644
|
||||
index 3508320..8b9b68b 100644
|
||||
--- a/block/tar.c
|
||||
+++ b/block/tar.c
|
||||
@@ -83,7 +83,8 @@ static int str_ends(char *str, const char *end)
|
||||
|
@ -1,17 +1,17 @@
|
||||
From fba5b73038a98aa1fd602ed3f7bc5c09026afd4a Mon Sep 17 00:00:00 2001
|
||||
From 60a48005a8cd3cfd231676ec58b91818e4c8bbb8 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.c | 22 ++++++++++++++++++++++
|
||||
1 files changed, 22 insertions(+), 0 deletions(-)
|
||||
net/net.c | 22 ++++++++++++++++++++++
|
||||
1 Datei geändert, 22 Zeilen hinzugefügt(+)
|
||||
|
||||
diff --git a/net.c b/net.c
|
||||
index e8ae13e..e181e50 100644
|
||||
--- a/net.c
|
||||
+++ b/net.c
|
||||
@@ -138,6 +138,27 @@ void qemu_format_nic_info_str(NetClientState *nc, uint8_t macaddr[6])
|
||||
diff --git a/net/net.c b/net/net.c
|
||||
index 9806862..56116df 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])
|
||||
macaddr[3], macaddr[4], macaddr[5]);
|
||||
}
|
||||
|
||||
@ -39,7 +39,7 @@ index e8ae13e..e181e50 100644
|
||||
void qemu_macaddr_default_if_unset(MACAddr *macaddr)
|
||||
{
|
||||
static int index = 0;
|
||||
@@ -1010,6 +1031,7 @@ int net_init_clients(void)
|
||||
@@ -1127,6 +1148,7 @@ int net_init_clients(void)
|
||||
if (qemu_opts_foreach(net, net_init_client, NULL, 1) == -1) {
|
||||
return -1;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 45c73a5a93f98bf1264d6678648a6e7392a0c7b1 Mon Sep 17 00:00:00 2001
|
||||
From ad88a858769ba3b4b4651072608c6814dac3a973 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>
|
||||
---
|
||||
console.c | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
ui/console.c | 2 +-
|
||||
1 Datei geändert, 1 Zeile hinzugefügt(+), 1 Zeile entfernt(-)
|
||||
|
||||
diff --git a/console.c b/console.c
|
||||
index 048b48e..079f638 100644
|
||||
--- a/console.c
|
||||
+++ b/console.c
|
||||
@@ -950,7 +950,7 @@ static void console_putchar(QemuConsole *s, int ch)
|
||||
diff --git a/ui/console.c b/ui/console.c
|
||||
index d880ebf..587dcbb 100644
|
||||
--- a/ui/console.c
|
||||
+++ b/ui/console.c
|
||||
@@ -951,7 +951,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 afd30877ef2291d742fc1b57e24d80de8673b22c Mon Sep 17 00:00:00 2001
|
||||
From 41aafd3480af2b08468c11fca4f651f42994b7d6 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
|
||||
@ -19,13 +19,13 @@ 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 files changed, 16 insertions(+), 0 deletions(-)
|
||||
1 Datei geändert, 16 Zeilen hinzugefügt(+)
|
||||
|
||||
diff --git a/qemu-char.c b/qemu-char.c
|
||||
index 242b799..00e1b51 100644
|
||||
index a3ba021..7aa5766 100644
|
||||
--- a/qemu-char.c
|
||||
+++ b/qemu-char.c
|
||||
@@ -241,6 +241,9 @@ typedef struct {
|
||||
@@ -240,6 +240,9 @@ typedef struct {
|
||||
IOEventHandler *chr_event[MAX_MUX];
|
||||
void *ext_opaque[MAX_MUX];
|
||||
CharDriverState *drv;
|
||||
@ -35,7 +35,7 @@ index 242b799..00e1b51 100644
|
||||
int focus;
|
||||
int mux_cnt;
|
||||
int term_got_escape;
|
||||
@@ -397,6 +400,15 @@ static void mux_chr_accept_input(CharDriverState *chr)
|
||||
@@ -396,6 +399,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 242b799..00e1b51 100644
|
||||
}
|
||||
|
||||
static int mux_chr_can_read(void *opaque)
|
||||
@@ -479,6 +491,10 @@ static CharDriverState *qemu_chr_open_mux(CharDriverState *drv)
|
||||
@@ -478,6 +490,10 @@ static CharDriverState *qemu_chr_open_mux(CharDriverState *drv)
|
||||
chr->opaque = d;
|
||||
d->drv = drv;
|
||||
d->focus = -1;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 9b90b7e01f2f4d474e68a43b5f1b2e821dfa8619 Mon Sep 17 00:00:00 2001
|
||||
From 185e3a7781793d5965b98edac33e7a02923bee09 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
|
||||
@ -13,13 +13,13 @@ absolute position which we need to maintain as unsigned.
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
---
|
||||
linux-user/syscall.c | 9 +++++++--
|
||||
1 files changed, 7 insertions(+), 2 deletions(-)
|
||||
1 Datei geändert, 7 Zeilen hinzugefügt(+), 2 Zeilen entfernt(-)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index a694181..a038cbe 100644
|
||||
index 5e6ac06..bed73f3 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -5597,9 +5597,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1,
|
||||
@@ -5628,9 +5628,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:878055ec05bc28fecfe2da97eb8bc992e8635575b67cebdfc5ca1ede171140a8
|
||||
size 10286423
|
3
qemu-1.4.0-rc1.tar.bz2
Normal file
3
qemu-1.4.0-rc1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5ceccc6788e03a988b37ec1fc3ef506a3c53cd4daeb27152868904af51bcbf7d
|
||||
size 10411624
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 10 14:27:36 UTC 2013 - afaerber@suse.de
|
||||
|
||||
- Update to v1.4.0-rc1: See http://wiki.qemu.org/ChangeLog/1.4
|
||||
* Adapt update_git.sh accordingly
|
||||
- Update update_git.sh to reference github.com/openSUSE/qemu.git
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 13 13:30:57 UTC 2012 - agraf@suse.com
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package qemu
|
||||
#
|
||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -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.3.0
|
||||
Version: 1.4.0rc1
|
||||
Release: 0
|
||||
Source: %name-%version.tar.bz2
|
||||
Source: %name-1.4.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
|
||||
@ -180,7 +180,7 @@ emulations. This can be used together with the OBS build script to
|
||||
run cross-architecture builds.
|
||||
|
||||
%prep
|
||||
%setup -q #-n %name-1.3.0-rc1
|
||||
%setup -q -n %name-1.4.0-rc1
|
||||
%patch0001 -p1
|
||||
%patch0002 -p1
|
||||
%patch0003 -p1
|
||||
|
@ -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.3.0
|
||||
Version: 1.4.0rc1
|
||||
Release: 0
|
||||
Source: %name-%version.tar.bz2
|
||||
Source: %name-1.4.0-rc1.tar.bz2
|
||||
PATCH_FILES
|
||||
# this is to make lint happy
|
||||
Source300: rpmlintrc
|
||||
@ -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-1.3.0-rc1
|
||||
%setup -q -n %name-1.4.0-rc1
|
||||
PATCH_EXEC
|
||||
|
||||
%build
|
||||
|
@ -10,10 +10,10 @@
|
||||
# That way we can easily rebase against the next stable release
|
||||
# when it comes.
|
||||
|
||||
GIT_TREE=git://repo.or.cz/qemu/agraf.git
|
||||
GIT_TREE=git://github.com/openSUSE/qemu.git
|
||||
GIT_LOCAL_TREE=/suse/agraf/git/qemu
|
||||
GIT_BRANCH=suse-1.3
|
||||
GIT_UPSTREAM_TAG=v1.3.0
|
||||
GIT_BRANCH=opensuse-1.4
|
||||
GIT_UPSTREAM_TAG=v1.4.0-rc1
|
||||
QEMU_TMP=/dev/shm/qemu-tmp
|
||||
|
||||
# clean up
|
||||
|
Loading…
Reference in New Issue
Block a user