From 05d69eeee25b90227ad76b240af3b161edb30f3be2e22dac68297e940ee9dd91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Sun, 10 Feb 2013 18:32:29 +0000 Subject: [PATCH] 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 --- ...-Handle-CPU-interrupts-by-inline-che.patch | 110 +++++++++++------- ...-XXX-dont-dump-core-on-sigabort.patc.patch | 6 +- ...-XXX-work-around-SA_RESTART-race-wit.patch | 24 ++-- 0004-qemu-0.9.0.cvs-binfmt.patch.patch | 4 +- 0005-qemu-cvs-alsa_bitfield.patch.patch | 66 +++++------ 0006-qemu-cvs-alsa_ioctl.patch.patch | 13 ++- 0007-qemu-cvs-alsa_mmap.patch.patch | 4 +- 0008-qemu-cvs-gettimeofday.patch.patch | 8 +- 0009-qemu-cvs-ioctl_debug.patch.patch | 8 +- 0010-qemu-cvs-ioctl_nodirection.patch.patch | 10 +- ...-block-vmdk-Support-creation-of-SCSI.patch | 65 +++++------ ...-configure-Enable-mipsn32-linux-user.patch | 10 +- ...-linux-user-add-binfmt-wrapper-for-a.patch | 16 +-- ...-linux-user-Ignore-timer_create-sysc.patch | 8 +- ...-linux-user-be-silent-about-capget-f.patch | 8 +- ...-PPC-KVM-Disable-mmu-notifier-check..patch | 12 +- ...-linux-user-fix-segfault-deadlock.pa.patch | 18 +-- ...-linux-user-binfmt-support-host-bina.patch | 4 +- ...-linux-user-arm-no-tb_flush-on-reset.patch | 6 +- ...-linux-user-Ignore-broken-loop-ioctl.patch | 12 +- ...-linux-user-fix-segmentation-fault-p.patch | 10 +- 0022-linux-user-lock-tcg.patch.patch | 31 ++--- ...-linux-user-Run-multi-threaded-code-.patch | 8 +- ...-linux-user-lock-tb-flushing-too.pat.patch | 65 +++++------ 0025-linux-user-Fake-proc-cpuinfo.patch.patch | 10 +- ...-linux-user-implement-FS_IOC_GETFLAG.patch | 18 ++- ...-linux-user-implement-FS_IOC_SETFLAG.patch | 20 ++-- ...-linux-user-XXX-disable-fiemap.patch.patch | 8 +- 0029-slirp-nooutgoing.patch.patch | 16 +-- ...-vnc-password-file-and-incoming-conn.patch | 20 ++-- ...-linux-user-add-more-blk-ioctls.patc.patch | 10 +- 0032-linux-user-use-target_ulong.patch.patch | 10 +- ...-Add-support-for-DictZip-enabled-gzi.patch | 18 ++- 0034-Add-tar-container-format.patch.patch | 18 ++- ...-Legacy-Patch-kvm-qemu-preXX-dictzip.patch | 6 +- ...-Legacy-Patch-kvm-qemu-preXX-report-.patch | 18 +-- ...-console-add-question-mark-escape-op.patch | 16 +-- ...-Make-char-muxer-more-robust-wrt-sma.patch | 12 +- ...-linux-user-lseek-explicitly-cast-en.patch | 8 +- qemu-1.3.0.tar.bz2 | 3 - qemu-1.4.0-rc1.tar.bz2 | 3 + qemu.changes | 7 ++ qemu.spec | 8 +- qemu.spec.in | 6 +- update_git.sh | 6 +- 45 files changed, 406 insertions(+), 361 deletions(-) delete mode 100644 qemu-1.3.0.tar.bz2 create mode 100644 qemu-1.4.0-rc1.tar.bz2 diff --git a/0001-Handle-CPU-interrupts-by-inline-che.patch b/0001-Handle-CPU-interrupts-by-inline-che.patch index 4c8f443a..493a196c 100644 --- a/0001-Handle-CPU-interrupts-by-inline-che.patch +++ b/0001-Handle-CPU-interrupts-by-inline-che.patch @@ -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 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 ++++++++++++++++ - linux-user/main.c | 8 ++++++++ - qemu-options.hx | 9 +++++++++ - vl.c | 5 +++++ - 6 files changed, 60 insertions(+), 3 deletions(-) + 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 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; } diff --git a/0002-XXX-dont-dump-core-on-sigabort.patc.patch b/0002-XXX-dont-dump-core-on-sigabort.patc.patch index 19233227..9f812f0d 100644 --- a/0002-XXX-dont-dump-core-on-sigabort.patc.patch +++ b/0002-XXX-dont-dump-core-on-sigabort.patc.patch @@ -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 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) diff --git a/0003-XXX-work-around-SA_RESTART-race-wit.patch b/0003-XXX-work-around-SA_RESTART-race-wit.patch index cd9733c4..56b66e43 100644 --- a/0003-XXX-work-around-SA_RESTART-race-wit.patch +++ b/0003-XXX-work-around-SA_RESTART-race-wit.patch @@ -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 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_. */ -@@ -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); diff --git a/0004-qemu-0.9.0.cvs-binfmt.patch.patch b/0004-qemu-0.9.0.cvs-binfmt.patch.patch index 0b3b047f..a4884734 100644 --- a/0004-qemu-0.9.0.cvs-binfmt.patch.patch +++ b/0004-qemu-0.9.0.cvs-binfmt.patch.patch @@ -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 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 --- 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 diff --git a/0005-qemu-cvs-alsa_bitfield.patch.patch b/0005-qemu-cvs-alsa_bitfield.patch.patch index e05175d8..0353fa9e 100644 --- a/0005-qemu-cvs-alsa_bitfield.patch.patch +++ b/0005-qemu-cvs-alsa_bitfield.patch.patch @@ -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 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 Signed-off-by: Ulrich Hecht --- - thunk.c | 21 +++++++++++++++++++++ - thunk.h | 3 +++ - 2 files changed, 24 insertions(+), 0 deletions(-) + include/exec/user/thunk.h | 3 +++ + thunk.c | 21 +++++++++++++++++++++ + 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: diff --git a/0006-qemu-cvs-alsa_ioctl.patch.patch b/0006-qemu-cvs-alsa_ioctl.patch.patch index 3ba219bc..74205c04 100644 --- a/0006-qemu-cvs-alsa_ioctl.patch.patch +++ b/0006-qemu-cvs-alsa_ioctl.patch.patch @@ -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 Date: Tue, 14 Apr 2009 16:23:27 +0200 Subject: [PATCH] qemu-cvs-alsa_ioctl @@ -14,7 +14,7 @@ Signed-off-by: Ulrich Hecht 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 diff --git a/0007-qemu-cvs-alsa_mmap.patch.patch b/0007-qemu-cvs-alsa_mmap.patch.patch index 4ac63f4e..eb347483 100644 --- a/0007-qemu-cvs-alsa_mmap.patch.patch +++ b/0007-qemu-cvs-alsa_mmap.patch.patch @@ -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 Date: Tue, 14 Apr 2009 16:24:15 +0200 Subject: [PATCH] qemu-cvs-alsa_mmap @@ -9,7 +9,7 @@ Signed-off-by: Alexander Graf Signed-off-by: Ulrich Hecht --- 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 diff --git a/0008-qemu-cvs-gettimeofday.patch.patch b/0008-qemu-cvs-gettimeofday.patch.patch index d3bf5588..e1dbbf19 100644 --- a/0008-qemu-cvs-gettimeofday.patch.patch +++ b/0008-qemu-cvs-gettimeofday.patch.patch @@ -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 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; diff --git a/0009-qemu-cvs-ioctl_debug.patch.patch b/0009-qemu-cvs-ioctl_debug.patch.patch index eefcebba..12f3132d 100644 --- a/0009-qemu-cvs-ioctl_debug.patch.patch +++ b/0009-qemu-cvs-ioctl_debug.patch.patch @@ -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 Date: Tue, 14 Apr 2009 16:26:33 +0200 Subject: [PATCH] qemu-cvs-ioctl_debug @@ -9,13 +9,13 @@ Signed-off-by: Alexander Graf Signed-off-by: Ulrich Hecht --- 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) { diff --git a/0010-qemu-cvs-ioctl_nodirection.patch.patch b/0010-qemu-cvs-ioctl_nodirection.patch.patch index f46ee3b2..cbe568aa 100644 --- a/0010-qemu-cvs-ioctl_nodirection.patch.patch +++ b/0010-qemu-cvs-ioctl_nodirection.patch.patch @@ -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 Date: Tue, 14 Apr 2009 16:27:36 +0200 Subject: [PATCH] qemu-cvs-ioctl_nodirection @@ -12,13 +12,13 @@ Signed-off-by: Alexander Graf Signed-off-by: Ulrich Hecht --- 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; diff --git a/0011-block-vmdk-Support-creation-of-SCSI.patch b/0011-block-vmdk-Support-creation-of-SCSI.patch index 9443b0ad..d4ceb0a0 100644 --- a/0011-block-vmdk-Support-creation-of-SCSI.patch +++ b/0011-block-vmdk-Support-creation-of-SCSI.patch @@ -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 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 [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 --- - block.c | 5 ++++- - block/vmdk.c | 12 ++++++++++-- - block_int.h | 2 ++ - qemu-img.c | 8 +++++++- - 4 files changed, 23 insertions(+), 4 deletions(-) + 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(-) 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) } } diff --git a/0012-configure-Enable-mipsn32-linux-user.patch b/0012-configure-Enable-mipsn32-linux-user.patch index 9eb7fc74..8a139f18 100644 --- a/0012-configure-Enable-mipsn32-linux-user.patch +++ b/0012-configure-Enable-mipsn32-linux-user.patch @@ -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 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 @@ -12,13 +12,13 @@ Signed-off-by: Ulrich Hecht Signed-off-by: Andreas Färber --- 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 \ diff --git a/0013-linux-user-add-binfmt-wrapper-for-a.patch b/0013-linux-user-add-binfmt-wrapper-for-a.patch index ec62f401..2ce17094 100644 --- a/0013-linux-user-add-binfmt-wrapper-for-a.patch +++ b/0013-linux-user-add-binfmt-wrapper-for-a.patch @@ -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 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 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 diff --git a/0014-linux-user-Ignore-timer_create-sysc.patch b/0014-linux-user-Ignore-timer_create-sysc.patch index 9c8992b5..4a117a50 100644 --- a/0014-linux-user-Ignore-timer_create-sysc.patch +++ b/0014-linux-user-Ignore-timer_create-sysc.patch @@ -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 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 --- 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 diff --git a/0015-linux-user-be-silent-about-capget-f.patch b/0015-linux-user-be-silent-about-capget-f.patch index 98df4d58..ce4f788b 100644 --- a/0015-linux-user-be-silent-about-capget-f.patch +++ b/0015-linux-user-be-silent-about-capget-f.patch @@ -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 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 --- 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: diff --git a/0016-PPC-KVM-Disable-mmu-notifier-check..patch b/0016-PPC-KVM-Disable-mmu-notifier-check..patch index ae748b2e..47c73025 100644 --- a/0016-PPC-KVM-Disable-mmu-notifier-check..patch +++ b/0016-PPC-KVM-Disable-mmu-notifier-check..patch @@ -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 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); + diff --git a/0017-linux-user-fix-segfault-deadlock.pa.patch b/0017-linux-user-fix-segfault-deadlock.pa.patch index d919dd21..e465dc54 100644 --- a/0017-linux-user-fix-segfault-deadlock.pa.patch +++ b/0017-linux-user-fix-segfault-deadlock.pa.patch @@ -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 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 Signed-off-by: Alexander Graf --- - qemu-lock.h | 10 ++++++++++ - user-exec.c | 4 ++++ - 2 files changed, 14 insertions(+), 0 deletions(-) + include/exec/spinlock.h | 10 ++++++++++ + user-exec.c | 4 ++++ + 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 #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 diff --git a/0018-linux-user-binfmt-support-host-bina.patch b/0018-linux-user-binfmt-support-host-bina.patch index 310c67e2..0d57fd0f 100644 --- a/0018-linux-user-binfmt-support-host-bina.patch +++ b/0018-linux-user-binfmt-support-host-bina.patch @@ -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 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 --- 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 diff --git a/0019-linux-user-arm-no-tb_flush-on-reset.patch b/0019-linux-user-arm-no-tb_flush-on-reset.patch index a4c4a79c..9df241f3 100644 --- a/0019-linux-user-arm-no-tb_flush-on-reset.patch +++ b/0019-linux-user-arm-no-tb_flush-on-reset.patch @@ -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 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) diff --git a/0020-linux-user-Ignore-broken-loop-ioctl.patch b/0020-linux-user-Ignore-broken-loop-ioctl.patch index c37f89fe..e129ce37 100644 --- a/0020-linux-user-Ignore-broken-loop-ioctl.patch +++ b/0020-linux-user-Ignore-broken-loop-ioctl.patch @@ -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 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 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 diff --git a/0021-linux-user-fix-segmentation-fault-p.patch b/0021-linux-user-fix-segmentation-fault-p.patch index 58977501..e98c4e44 100644 --- a/0021-linux-user-fix-segmentation-fault-p.patch +++ b/0021-linux-user-fix-segmentation-fault-p.patch @@ -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 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 Signed-off-by: Andreas Färber --- 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; } diff --git a/0022-linux-user-lock-tcg.patch.patch b/0022-linux-user-lock-tcg.patch.patch index b46003ac..b81ba00e 100644 --- a/0022-linux-user-lock-tcg.patch.patch +++ b/0022-linux-user-lock-tcg.patch.patch @@ -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 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 +[AF: Rebased onto exec.c/translate-all.c split for 1.4] +Signed-off-by: Andreas Färber --- 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); diff --git a/0023-linux-user-Run-multi-threaded-code-.patch b/0023-linux-user-Run-multi-threaded-code-.patch index dac4266e..015b4e8c 100644 --- a/0023-linux-user-Run-multi-threaded-code-.patch +++ b/0023-linux-user-Run-multi-threaded-code-.patch @@ -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 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 --- 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); diff --git a/0024-linux-user-lock-tb-flushing-too.pat.patch b/0024-linux-user-lock-tb-flushing-too.pat.patch index 22725727..66052a4b 100644 --- a/0024-linux-user-lock-tb-flushing-too.pat.patch +++ b/0024-linux-user-lock-tb-flushing-too.pat.patch @@ -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 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 +[AF: Rebased onto exec.c/translate-all.c split for 1.4] +Signed-off-by: Andreas Färber --- - 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; } } diff --git a/0025-linux-user-Fake-proc-cpuinfo.patch.patch b/0025-linux-user-Fake-proc-cpuinfo.patch.patch index 2dd247ba..be707239 100644 --- a/0025-linux-user-Fake-proc-cpuinfo.patch.patch +++ b/0025-linux-user-Fake-proc-cpuinfo.patch.patch @@ -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 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 --- 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 }, diff --git a/0026-linux-user-implement-FS_IOC_GETFLAG.patch b/0026-linux-user-implement-FS_IOC_GETFLAG.patch index 3270c591..d31287bc 100644 --- a/0026-linux-user-implement-FS_IOC_GETFLAG.patch +++ b/0026-linux-user-implement-FS_IOC_GETFLAG.patch @@ -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 Date: Mon, 20 Aug 2012 00:02:52 +0200 Subject: [PATCH] linux-user: implement FS_IOC_GETFLAGS ioctl Signed-off-by: Alexander Graf + +--- + +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) diff --git a/0027-linux-user-implement-FS_IOC_SETFLAG.patch b/0027-linux-user-implement-FS_IOC_SETFLAG.patch index 2846d151..878b33d9 100644 --- a/0027-linux-user-implement-FS_IOC_SETFLAG.patch +++ b/0027-linux-user-implement-FS_IOC_SETFLAG.patch @@ -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 Date: Mon, 20 Aug 2012 00:07:13 +0200 Subject: [PATCH] linux-user: implement FS_IOC_SETFLAGS ioctl Signed-off-by: Alexander Graf + +--- + +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) diff --git a/0028-linux-user-XXX-disable-fiemap.patch.patch b/0028-linux-user-XXX-disable-fiemap.patch.patch index 16df1739..4cad165c 100644 --- a/0028-linux-user-XXX-disable-fiemap.patch.patch +++ b/0028-linux-user-XXX-disable-fiemap.patch.patch @@ -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 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; diff --git a/0029-slirp-nooutgoing.patch.patch b/0029-slirp-nooutgoing.patch.patch index 1932ba60..c97d81e6 100644 --- a/0029-slirp-nooutgoing.patch.patch +++ b/0029-slirp-nooutgoing.patch.patch @@ -1,5 +1,5 @@ -From ce4a86e1d33b1ca4fd3c3bd67a009e74a1dc5636 Mon Sep 17 00:00:00 2001 -From: =?utf-8?q?Andreas=20F=C3=A4rber?= +From 56d002180c9c6d9525663962b11d08c8b18e2b26 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20F=C3=A4rber?= 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; diff --git a/0030-vnc-password-file-and-incoming-conn.patch b/0030-vnc-password-file-and-incoming-conn.patch index 14dcefa2..c75a14d2 100644 --- a/0030-vnc-password-file-and-incoming-conn.patch +++ b/0030-vnc-password-file-and-incoming-conn.patch @@ -1,15 +1,15 @@ -From 1915e62ecadb41ebd1fcc563afe4f6c0dea8f43b Mon Sep 17 00:00:00 2001 -From: =?utf-8?q?Andreas=20F=C3=A4rber?= +From 6826a854e93cdfc0f0e82aa1af334409b767fcbb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20F=C3=A4rber?= 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 */ diff --git a/0031-linux-user-add-more-blk-ioctls.patc.patch b/0031-linux-user-add-more-blk-ioctls.patc.patch index da9e6c08..c4dca526 100644 --- a/0031-linux-user-add-more-blk-ioctls.patc.patch +++ b/0031-linux-user-add-more-blk-ioctls.patc.patch @@ -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 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 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) */ diff --git a/0032-linux-user-use-target_ulong.patch.patch b/0032-linux-user-use-target_ulong.patch.patch index 2bbe5d25..590a596b 100644 --- a/0032-linux-user-use-target_ulong.patch.patch +++ b/0032-linux-user-use-target_ulong.patch.patch @@ -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 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 --- 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_. */ diff --git a/0033-Add-support-for-DictZip-enabled-gzi.patch b/0033-Add-support-for-DictZip-enabled-gzi.patch index 55416ff0..e5acfe2e 100644 --- a/0033-Add-support-for-DictZip-enabled-gzi.patch +++ b/0033-Add-support-for-DictZip-enabled-gzi.patch @@ -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 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 Signed-off-by: Bruce Rogers +Signed-off-by: Andreas Färber --- 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 + +// #define DEBUG diff --git a/0034-Add-tar-container-format.patch.patch b/0034-Add-tar-container-format.patch.patch index 514aa7b4..fcd74c14 100644 --- a/0034-Add-tar-container-format.patch.patch +++ b/0034-Add-tar-container-format.patch.patch @@ -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 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 Signed-off-by: Bruce Rogers +Signed-off-by: Andreas Färber --- 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 + diff --git a/0035-Legacy-Patch-kvm-qemu-preXX-dictzip.patch b/0035-Legacy-Patch-kvm-qemu-preXX-dictzip.patch index 7fb0703d..195c0166 100644 --- a/0035-Legacy-Patch-kvm-qemu-preXX-dictzip.patch +++ b/0035-Legacy-Patch-kvm-qemu-preXX-dictzip.patch @@ -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 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) diff --git a/0036-Legacy-Patch-kvm-qemu-preXX-report-.patch b/0036-Legacy-Patch-kvm-qemu-preXX-report-.patch index d61140b7..d2c5c9c1 100644 --- a/0036-Legacy-Patch-kvm-qemu-preXX-report-.patch +++ b/0036-Legacy-Patch-kvm-qemu-preXX-report-.patch @@ -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 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; } diff --git a/0037-console-add-question-mark-escape-op.patch b/0037-console-add-question-mark-escape-op.patch index 1444bff9..4a5bc919 100644 --- a/0037-console-add-question-mark-escape-op.patch +++ b/0037-console-add-question-mark-escape-op.patch @@ -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 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 --- - 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++; diff --git a/0038-Make-char-muxer-more-robust-wrt-sma.patch b/0038-Make-char-muxer-more-robust-wrt-sma.patch index fe64dd4d..2cabf47e 100644 --- a/0038-Make-char-muxer-more-robust-wrt-sma.patch +++ b/0038-Make-char-muxer-more-robust-wrt-sma.patch @@ -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 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; diff --git a/0039-linux-user-lseek-explicitly-cast-en.patch b/0039-linux-user-lseek-explicitly-cast-en.patch index bf1a2fc2..c61f7fa0 100644 --- a/0039-linux-user-lseek-explicitly-cast-en.patch +++ b/0039-linux-user-lseek-explicitly-cast-en.patch @@ -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 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 --- 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 diff --git a/qemu-1.3.0.tar.bz2 b/qemu-1.3.0.tar.bz2 deleted file mode 100644 index 808aa1cf..00000000 --- a/qemu-1.3.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:878055ec05bc28fecfe2da97eb8bc992e8635575b67cebdfc5ca1ede171140a8 -size 10286423 diff --git a/qemu-1.4.0-rc1.tar.bz2 b/qemu-1.4.0-rc1.tar.bz2 new file mode 100644 index 00000000..a5488b7c --- /dev/null +++ b/qemu-1.4.0-rc1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ceccc6788e03a988b37ec1fc3ef506a3c53cd4daeb27152868904af51bcbf7d +size 10411624 diff --git a/qemu.changes b/qemu.changes index b79569eb..76b09f9c 100644 --- a/qemu.changes +++ b/qemu.changes @@ -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 diff --git a/qemu.spec b/qemu.spec index ae980073..da086bec 100644 --- a/qemu.spec +++ b/qemu.spec @@ -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 diff --git a/qemu.spec.in b/qemu.spec.in index e345fc97..8a1bd458 100644 --- a/qemu.spec.in +++ b/qemu.spec.in @@ -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 diff --git a/update_git.sh b/update_git.sh index faebf241..06b1648e 100644 --- a/update_git.sh +++ b/update_git.sh @@ -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