Accepting request 292199 from home:a_faerber:branches:Virtualization

Update to v2.3.0-rc0. SeaBIOS does not yet build on 11.4, and rcutorture test fails on ppc.

OBS-URL: https://build.opensuse.org/request/show/292199
OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=238
This commit is contained in:
Andreas Färber 2015-03-21 11:46:36 +00:00 committed by Git OBS Bridge
parent 10d2e18518
commit 87c6328bba
57 changed files with 858 additions and 241 deletions

View File

@ -1,4 +1,4 @@
From a7cec19ab72bbe4172f010a2c56664ca3495034a Mon Sep 17 00:00:00 2001
From 60f8ba3fd2e393535ae86191658f40a97b5af3d0 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
@ -8,7 +8,7 @@ Subject: [PATCH] XXX dont dump core on sigabort
1 file changed, 6 insertions(+)
diff --git a/linux-user/signal.c b/linux-user/signal.c
index e11b208..48b6513 100644
index 5bb399e..a849f26 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -448,6 +448,10 @@ static void QEMU_NORETURN force_sig(int target_sig)

View File

@ -1,4 +1,4 @@
From 9fa4ad4feafe57010a39fcc1e02e482989fc07d1 Mon Sep 17 00:00:00 2001
From a5727f0cf48531cb9b990e6148c2159271b3793c 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)
@ -13,10 +13,10 @@ Subject: [PATCH] XXX work around SA_RESTART race with boehm-gc (ARM only)
4 files changed, 130 insertions(+), 10 deletions(-)
diff --git a/linux-user/main.c b/linux-user/main.c
index 5c14c1e..46a4366 100644
index 6e446de..3cb2140 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -815,15 +815,22 @@ void cpu_loop(CPUARMState *env)
@@ -817,15 +817,22 @@ void cpu_loop(CPUARMState *env)
break;
}
} else {
@ -70,7 +70,7 @@ index 8012cc2..e29c7f3 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 48b6513..92ba798 100644
index a849f26..ace2bfb 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -25,6 +25,7 @@
@ -119,10 +119,10 @@ index 48b6513..92ba798 100644
ignore state to avoid getting unexpected interrupted
syscalls */
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index aaac6a2..4a2bdcb 100644
index 5720195..4a1d145 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5494,6 +5494,87 @@ static target_timer_t get_timer_id(abi_long arg)
@@ -5511,6 +5511,87 @@ static target_timer_t get_timer_id(abi_long arg)
return timerid;
}
@ -210,7 +210,7 @@ index aaac6a2..4a2bdcb 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>. */
@@ -5507,6 +5588,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
@@ -5524,6 +5605,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
struct stat st;
struct statfs stfs;
void *p;
@ -223,7 +223,7 @@ index aaac6a2..4a2bdcb 100644
#ifdef DEBUG
gemu_log("syscall %d", num);
@@ -8776,7 +8863,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
@@ -8793,7 +8880,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;
@ -232,7 +232,7 @@ index aaac6a2..4a2bdcb 100644
}
switch(arg2) {
@@ -9792,6 +9879,7 @@ fail:
@@ -9810,6 +9897,7 @@ fail:
#endif
if(do_strace)
print_syscall_ret(num, ret);

View File

@ -1,4 +1,4 @@
From bb576464efb0640bbdd813fe6c31cbb4a9051cf0 Mon Sep 17 00:00:00 2001
From b4ae3edb76a31a7765655a381da50f0ba9864d60 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

View File

@ -1,4 +1,4 @@
From e5705a68df89fa4d2cd865ee2dbdddac6eaba9e7 Mon Sep 17 00:00:00 2001
From 4ac0301902403b811b824edf38c2011bffec42ba 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

View File

@ -1,4 +1,4 @@
From 4d22a2c7752412d78e22bca9c564fff305ae61d1 Mon Sep 17 00:00:00 2001
From 09d12c451372af67a5d0ee6eddbdad1d665ff635 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
@ -2255,10 +2255,10 @@ index 0000000..e09a30d
+ unsigned char *code;
+};
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index ebb3be1..3a55989 100644
index edd5f3c..e9f81f3 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -2562,6 +2562,8 @@ struct target_ucred {
@@ -2521,6 +2521,8 @@ struct target_ucred {
uint32_t gid;
};

View File

@ -1,4 +1,4 @@
From cbcc253de553cdb66102efc20519284da29f11b0 Mon Sep 17 00:00:00 2001
From 9d1694f11f7171adbd6b42142dbbdfb1d4623865 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

View File

@ -1,4 +1,4 @@
From e69459c8896b205aadb0d3a773a4ba91d121144b Mon Sep 17 00:00:00 2001
From 52a52fa257980cd20b6441c31adbf87ec247000d 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
@ -9,10 +9,10 @@ No clue what this is for.
1 file changed, 2 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 4a2bdcb..0ea86cb 100644
index 4a1d145..5f096a3 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -6666,6 +6666,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
@@ -6683,6 +6683,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
case TARGET_NR_gettimeofday:
{
struct timeval tv;

View File

@ -1,4 +1,4 @@
From 3db8a988406437231e54a84c59450da30988ffb5 Mon Sep 17 00:00:00 2001
From 5e82562223c2a75d9231146fb87c9e25ac841bba 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
@ -12,10 +12,10 @@ Signed-off-by: Ulrich Hecht <uli@suse.de>
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 0ea86cb..ea8e4dd 100644
index 5f096a3..612896a 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -3844,7 +3844,12 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
@@ -3861,7 +3861,12 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
ie = ioctl_entries;
for(;;) {
if (ie->target_cmd == 0) {

View File

@ -1,4 +1,4 @@
From d3903e53cc2b7163fcc66bd6c642bf6fcc433135 Mon Sep 17 00:00:00 2001
From b464308fc1a48dec0c071577c8ba553db864474b 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
@ -15,10 +15,10 @@ Signed-off-by: Ulrich Hecht <uli@suse.de>
1 file changed, 6 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index ea8e4dd..f6187ce 100644
index 612896a..0b3d170 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -3878,6 +3878,11 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
@@ -3895,6 +3895,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 ea8e4dd..f6187ce 100644
case IOC_R:
ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
if (!is_error(ret)) {
@@ -3896,6 +3901,7 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
@@ -3913,6 +3918,7 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
unlock_user(argptr, arg, 0);
ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
break;

View File

@ -1,4 +1,4 @@
From 7cdc20646d413b3c1e31ff1dd85a7ef67147d56d Mon Sep 17 00:00:00 2001
From 06a328a901796c87e71e4317a08579dd1ba30451 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
@ -21,13 +21,13 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
4 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/block.c b/block.c
index a612594..74af007 100644
index 0fe97de..c4636da 100644
--- a/block.c
+++ b/block.c
@@ -5630,6 +5630,9 @@ void bdrv_img_create(const char *filename, const char *fmt,
@@ -5780,6 +5780,9 @@ void bdrv_img_create(const char *filename, const char *fmt,
if (!quiet) {
printf("Formatting '%s', fmt=%s ", filename, fmt);
qemu_opts_print(opts);
printf("Formatting '%s', fmt=%s", filename, fmt);
qemu_opts_print(opts, " ");
+ if (qemu_opt_get_bool(opts, BLOCK_OPT_SCSI, false)) {
+ printf(", SCSI");
+ }
@ -35,10 +35,10 @@ index a612594..74af007 100644
}
diff --git a/block/vmdk.c b/block/vmdk.c
index 2cbfd3e..caefe19 100644
index 8410a15..2a34dd0 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -1818,9 +1818,12 @@ static int vmdk_create(const char *filename, QemuOpts *opts, Error **errp)
@@ -1848,9 +1848,12 @@ static int vmdk_create(const char *filename, QemuOpts *opts, Error **errp)
if (qemu_opt_get_bool_del(opts, BLOCK_OPT_ZEROED_GRAIN, false)) {
zeroed_grain = true;
}
@ -52,7 +52,7 @@ index 2cbfd3e..caefe19 100644
} else if (strcmp(adapter_type, "ide") &&
strcmp(adapter_type, "buslogic") &&
strcmp(adapter_type, "lsilogic") &&
@@ -2223,6 +2226,11 @@ static QemuOptsList vmdk_create_opts = {
@@ -2265,6 +2268,11 @@ static QemuOptsList vmdk_create_opts = {
.help = "Enable efficient zero writes "
"using the zeroed-grain GTE feature"
},
@ -65,7 +65,7 @@ index 2cbfd3e..caefe19 100644
}
};
diff --git a/include/block/block_int.h b/include/block/block_int.h
index a1c17b9..9d03953 100644
index dccb092..decca62 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -41,10 +41,12 @@
@ -82,10 +82,10 @@ index a1c17b9..9d03953 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 a42335c..21c3bae 100644
index 9dddfbe..cc8e976 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -1583,6 +1583,13 @@ static int img_convert(int argc, char **argv)
@@ -1602,6 +1602,13 @@ static int img_convert(int argc, char **argv)
}
}

View File

@ -1,4 +1,4 @@
From 6a0fa7200207763976f8393156318e77a12e0625 Mon Sep 17 00:00:00 2001
From 71e26ce8b81f3bc148999ebdde1c3decbbf14fab 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
@ -37,7 +37,7 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
create mode 100644 linux-user/binfmt.c
diff --git a/Makefile.target b/Makefile.target
index e9ff1ee..8372b29 100644
index 2262d89..efbd850 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -34,6 +34,10 @@ endif
@ -72,9 +72,9 @@ index e9ff1ee..8372b29 100644
all-obj-y := $(obj-y)
target-obj-y :=
@@ -179,6 +189,9 @@ all-obj-$(CONFIG_SOFTMMU) += $(block-obj-y)
@@ -181,6 +191,9 @@ $(QEMU_PROG_BUILD): config-devices.mak
$(QEMU_PROG_BUILD): $(all-obj-y) ../libqemuutil.a ../libqemustub.a
$(call LINK,$^)
$(call LINK, $(filter-out %.mak, $^))
+$(QEMU_PROG)-binfmt: $(obj-binfmt-y)
+ $(call LINK,$^)

View File

@ -1,4 +1,4 @@
From 5fb70dbaac4a3508890ff482446276e9fc2f3cc8 Mon Sep 17 00:00:00 2001
From 58690ae5034776f2b122b879475db9e6245f9789 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
@ -13,10 +13,10 @@ KVM guests work there, even if possibly racy in some odd circumstances.
1 file changed, 2 insertions(+)
diff --git a/exec.c b/exec.c
index 71ac104..6d31d8f 100644
index e97071a..3c33162 100644
--- a/exec.c
+++ b/exec.c
@@ -1108,11 +1108,13 @@ static void *file_ram_alloc(RAMBlock *block,
@@ -1134,11 +1134,13 @@ static void *file_ram_alloc(RAMBlock *block,
goto error;
}

View File

@ -1,4 +1,4 @@
From 55e52ca388a49f49a186deb9404de2f97905af3e Mon Sep 17 00:00:00 2001
From 830a9a72e9460cb85519a38b69a2fe611dd6cd51 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
@ -52,7 +52,7 @@ index a72edda..e460e12 100644
+
#endif
diff --git a/user-exec.c b/user-exec.c
index 1ff8673..22f9692 100644
index 8f57e8a..f63198a 100644
--- a/user-exec.c
+++ b/user-exec.c
@@ -94,6 +94,10 @@ static inline int handle_cpu_signal(uintptr_t pc, unsigned long address,

View File

@ -1,4 +1,4 @@
From 2a1484963a8861e054abdfc178aadd48132730b3 Mon Sep 17 00:00:00 2001
From a56841890642f1bb470498643c4f7bd1410ca7cc 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

View File

@ -1,4 +1,4 @@
From 74eb0ee82d3d7550e4cd77a06ee2550edef437ab Mon Sep 17 00:00:00 2001
From ae94953ccaa0d6eb4640f2c23784df544e07ceb3 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
@ -46,10 +46,10 @@ index 8974caa..810ae61 100644
#endif
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index f6187ce..84621cc 100644
index 0b3d170..69e6f1c 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -3821,6 +3821,13 @@ static abi_long do_ioctl_kdsigaccept(const IOCTLEntry *ie, uint8_t *buf_temp,
@@ -3838,6 +3838,13 @@ static abi_long do_ioctl_kdsigaccept(const IOCTLEntry *ie, uint8_t *buf_temp,
return get_errno(ioctl(fd, ie->host_cmd, sig));
}
@ -64,10 +64,10 @@ index f6187ce..84621cc 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 3a55989..d6ccacc 100644
index e9f81f3..9fabee7 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -1061,6 +1061,7 @@ struct target_pollfd {
@@ -1068,6 +1068,7 @@ struct target_pollfd {
#define TARGET_LOOP_SET_STATUS64 0x4C04
#define TARGET_LOOP_GET_STATUS64 0x4C05
#define TARGET_LOOP_CHANGE_FD 0x4C06

View File

@ -1,4 +1,4 @@
From b78fc9fe9c68f6c5b1a647a83d203eb7a41f587f Mon Sep 17 00:00:00 2001
From 1259c5643d469e9c411dacf28b9eadb91c6fba07 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
@ -16,8 +16,8 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
---
linux-user/mmap.c | 3 +++
tcg/tcg.c | 36 ++++++++++++++++++++++++++++++++++--
tcg/tcg.h | 5 +++++
3 files changed, 42 insertions(+), 2 deletions(-)
tcg/tcg.h | 6 ++++++
3 files changed, 43 insertions(+), 2 deletions(-)
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index 34a5615..7ebf953 100644
@ -48,7 +48,7 @@ index 34a5615..7ebf953 100644
}
diff --git a/tcg/tcg.c b/tcg/tcg.c
index 7a84b87..7f582f7 100644
index f1558b7..f7a40ba 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -39,6 +39,8 @@
@ -90,7 +90,7 @@ index 7a84b87..7f582f7 100644
#if TCG_TARGET_INSN_UNIT_SIZE == 1
static __attribute__((unused)) inline void tcg_out8(TCGContext *s, uint8_t v)
{
@@ -339,7 +364,8 @@ void tcg_context_init(TCGContext *s)
@@ -333,7 +358,8 @@ void tcg_context_init(TCGContext *s)
memset(s, 0, sizeof(*s));
s->nb_globals = 0;
@ -100,7 +100,7 @@ index 7a84b87..7f582f7 100644
/* Count total number of arguments and allocate the corresponding
space */
total_args = 0;
@@ -2558,10 +2584,12 @@ int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf)
@@ -2385,10 +2411,12 @@ int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf)
}
#endif
@ -113,7 +113,7 @@ index 7a84b87..7f582f7 100644
return tcg_current_code_size(s);
}
@@ -2573,7 +2601,11 @@ int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf)
@@ -2400,7 +2428,11 @@ int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf)
int tcg_gen_code_search_pc(TCGContext *s, tcg_insn_unit *gen_code_buf,
long offset)
{
@ -127,7 +127,7 @@ index 7a84b87..7f582f7 100644
#ifdef CONFIG_PROFILER
diff --git a/tcg/tcg.h b/tcg/tcg.h
index 7285f71..ea7ef8d 100644
index add7f75..bbd819e 100644
--- a/tcg/tcg.h
+++ b/tcg/tcg.h
@@ -27,6 +27,7 @@
@ -138,17 +138,18 @@ index 7285f71..ea7ef8d 100644
#include "tcg-target.h"
/* Default target word size to pointer size. */
@@ -533,6 +534,7 @@ struct TCGContext {
/* The TCGBackendData structure is private to tcg-target.c. */
struct TCGBackendData *be;
@@ -555,6 +556,8 @@ struct TCGContext {
target_ulong gen_opc_pc[OPC_BUF_SIZE];
uint16_t gen_opc_icount[OPC_BUF_SIZE];
uint8_t gen_opc_instr_start[OPC_BUF_SIZE];
+
+ QemuMutex lock;
};
extern TCGContext tcg_ctx;
@@ -711,6 +713,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);
@@ -743,6 +746,9 @@ void tcg_gen_callN(TCGContext *s, void *func,
void tcg_op_remove(TCGContext *s, TCGOp *op);
void tcg_optimize(TCGContext *s);
+extern void tcg_lock(void);
+extern void tcg_unlock(void);

View File

@ -1,4 +1,4 @@
From e8e669d084f6317fb739c38077bf4f26bbf5ef95 Mon Sep 17 00:00:00 2001
From b1a2eb97a7f8dffa47c9b5e1edfe62f79d56b26d 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
@ -19,10 +19,10 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
1 file changed, 9 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 84621cc..6fc55b4 100644
index 69e6f1c..918c241 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -4526,6 +4526,15 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
@@ -4543,6 +4543,15 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
if (nptl_flags & CLONE_SETTLS)
cpu_set_tls (new_env, newtls);

View File

@ -1,4 +1,4 @@
From dce867750093888070a7875de37111af6a0d2b58 Mon Sep 17 00:00:00 2001
From f0dbe90ae92886e7da301ab76cc3e89027665ca4 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
@ -14,10 +14,10 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/translate-all.c b/translate-all.c
index ba5c840..17f4260 100644
index 9f47ce7..c5984fb 100644
--- a/translate-all.c
+++ b/translate-all.c
@@ -709,19 +709,23 @@ static TranslationBlock *tb_alloc(target_ulong pc)
@@ -715,19 +715,23 @@ static TranslationBlock *tb_alloc(target_ulong pc)
{
TranslationBlock *tb;
@ -41,7 +41,7 @@ index ba5c840..17f4260 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. */
@@ -730,6 +734,7 @@ void tb_free(TranslationBlock *tb)
@@ -736,6 +740,7 @@ void tb_free(TranslationBlock *tb)
tcg_ctx.code_gen_ptr = tb->tc_ptr;
tcg_ctx.tb_ctx.nb_tbs--;
}
@ -49,7 +49,7 @@ index ba5c840..17f4260 100644
}
static inline void invalidate_page_bitmap(PageDesc *p)
@@ -787,6 +792,7 @@ void tb_flush(CPUArchState *env1)
@@ -793,6 +798,7 @@ void tb_flush(CPUArchState *env1)
((unsigned long)(tcg_ctx.code_gen_ptr - tcg_ctx.code_gen_buffer)) /
tcg_ctx.tb_ctx.nb_tbs : 0);
#endif
@ -57,7 +57,7 @@ index ba5c840..17f4260 100644
if ((unsigned long)(tcg_ctx.code_gen_ptr - tcg_ctx.code_gen_buffer)
> tcg_ctx.code_gen_buffer_size) {
cpu_abort(cpu, "Internal error: code buffer overflow\n");
@@ -804,6 +810,7 @@ void tb_flush(CPUArchState *env1)
@@ -810,6 +816,7 @@ void tb_flush(CPUArchState *env1)
/* XXX: flush processor icache at this point if cache flush is
expensive */
tcg_ctx.tb_ctx.tb_flush_count++;
@ -65,7 +65,7 @@ index ba5c840..17f4260 100644
}
#ifdef DEBUG_TB_CHECK
@@ -1110,8 +1117,10 @@ void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
@@ -1119,8 +1126,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 */
@ -76,7 +76,7 @@ index ba5c840..17f4260 100644
return;
}
if (!p->code_bitmap &&
@@ -1204,6 +1213,7 @@ void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
@@ -1213,6 +1222,7 @@ void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
cpu_resume_from_signal(cpu, NULL);
}
#endif
@ -84,7 +84,7 @@ index ba5c840..17f4260 100644
}
/* len must be <= 8 and start must be a multiple of len */
@@ -1415,13 +1425,16 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
@@ -1424,13 +1434,16 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
{
int m_min, m_max, m;
uintptr_t v;
@ -102,7 +102,7 @@ index ba5c840..17f4260 100644
return NULL;
}
/* binary search (cf Knuth) */
@@ -1432,6 +1445,7 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
@@ -1441,6 +1454,7 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
tb = &tcg_ctx.tb_ctx.tbs[m];
v = (uintptr_t)tb->tc_ptr;
if (v == tc_ptr) {
@ -110,7 +110,7 @@ index ba5c840..17f4260 100644
return tb;
} else if (tc_ptr < v) {
m_max = m - 1;
@@ -1439,7 +1453,9 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
@@ -1448,7 +1462,9 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
m_min = m + 1;
}
}
@ -120,4 +120,4 @@ index ba5c840..17f4260 100644
+ return r;
}
#if defined(TARGET_HAS_ICE) && !defined(CONFIG_USER_ONLY)
#if !defined(CONFIG_USER_ONLY)

View File

@ -1,4 +1,4 @@
From f8efdf93368a0f98d8608c44590e2c9f1ed44397 Mon Sep 17 00:00:00 2001
From ccc5654782e3fd6ab5e6e55811c3c79c8079d233 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
@ -22,10 +22,10 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
1 file changed, 20 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 6fc55b4..de930eb 100644
index 918c241..bcf9c35 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5344,6 +5344,25 @@ static int open_self_stat(void *cpu_env, int fd)
@@ -5361,6 +5361,25 @@ static int open_self_stat(void *cpu_env, int fd)
return 0;
}
@ -51,7 +51,7 @@ index 6fc55b4..de930eb 100644
static int open_self_auxv(void *cpu_env, int fd)
{
CPUState *cpu = ENV_GET_CPU((CPUArchState *)cpu_env);
@@ -5458,6 +5477,7 @@ static int do_openat(void *cpu_env, int dirfd, const char *pathname, int flags,
@@ -5475,6 +5494,7 @@ static int do_openat(void *cpu_env, int dirfd, const char *pathname, int flags,
#if defined(HOST_WORDS_BIGENDIAN) != defined(TARGET_WORDS_BIGENDIAN)
{ "/proc/net/route", open_net_route, is_proc },
#endif

View File

@ -1,4 +1,4 @@
From d905cad0394b79353ae9bbcaea0d44228182a45c Mon Sep 17 00:00:00 2001
From a4f1607a34a435386492ed9583ad1343b306a54d 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
@ -28,10 +28,10 @@ index c180faf..8650a70 100644
IOCTL(SIOCATMARK, 0, TYPE_NULL)
IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(TYPE_INT))
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index d6ccacc..be03d90 100644
index 9fabee7..c8e47cf 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -2477,6 +2477,8 @@ struct target_f_owner_ex {
@@ -2436,6 +2436,8 @@ struct target_f_owner_ex {
#define TARGET_MTIOCGET TARGET_IOR('m', 2, struct mtget)
#define TARGET_MTIOCPOS TARGET_IOR('m', 3, struct mtpos)

View File

@ -1,4 +1,4 @@
From 4eec12072f7b5deb36f6e84a44acfdc979a16901 Mon Sep 17 00:00:00 2001
From 269ab75ddd80189af02fc4a63eae6879283c6386 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
@ -28,10 +28,10 @@ index 8650a70..f9f7c83 100644
IOCTL(SIOCATMARK, 0, TYPE_NULL)
IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(TYPE_INT))
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index be03d90..f750d4c 100644
index c8e47cf..1a8816d 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -2478,6 +2478,7 @@ struct target_f_owner_ex {
@@ -2437,6 +2437,7 @@ struct target_f_owner_ex {
#define TARGET_MTIOCPOS TARGET_IOR('m', 3, struct mtpos)
#define TARGET_FS_IOC_GETFLAGS TARGET_IORU('f', 1)

View File

@ -1,4 +1,4 @@
From 579bfaa3dd897fd3c0dc33072e46051c8f01c182 Mon Sep 17 00:00:00 2001
From 6a9b4c81f3286ffe3618adb21d3cdab6c8bf9271 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
@ -9,10 +9,10 @@ agraf: fiemap breaks in libarchive. Disable it for now.
1 file changed, 5 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index de930eb..199084f 100644
index bcf9c35..1d708bf 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -3318,6 +3318,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry *ie, uint8_t *buf_temp,
@@ -3333,6 +3333,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry *ie, uint8_t *buf_temp,
uint32_t outbufsz;
int free_fm = 0;

View File

@ -1,4 +1,4 @@
From 0f3c54d2f0ba8e3b607b98eae7987226c73fdd93 Mon Sep 17 00:00:00 2001
From 1dc47b4ec4a0f91f5d8cf9c956386831e26cc9e7 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
@ -12,10 +12,10 @@ TBD (from SUSE Studio team)
4 files changed, 40 insertions(+)
diff --git a/qemu-options.hx b/qemu-options.hx
index 64af16d..4424eab 100644
index c513352..a447d3c 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -2821,6 +2821,16 @@ Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
@@ -2879,6 +2879,16 @@ Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
from a script.
ETEXI
@ -97,10 +97,10 @@ index 7571c5a..0555e18 100644
socket_set_fast_reuse(s);
opt = 1;
diff --git a/vl.c b/vl.c
index eb89d62..1c96f7f 100644
index 694deb4..ee4d68f 100644
--- a/vl.c
+++ b/vl.c
@@ -164,6 +164,7 @@ const char *vnc_display;
@@ -163,6 +163,7 @@ int smp_threads = 1;
int acpi_enabled = 1;
int no_hpet = 0;
int fd_bootchk = 1;
@ -108,7 +108,7 @@ index eb89d62..1c96f7f 100644
static int no_reboot;
int no_shutdown = 0;
int cursor_hide = 1;
@@ -3234,6 +3235,14 @@ int main(int argc, char **argv, char **envp)
@@ -3144,6 +3145,14 @@ int main(int argc, char **argv, char **envp)
case QEMU_OPTION_singlestep:
singlestep = 1;
break;

View File

@ -1,26 +1,27 @@
From a1b57e540db8c75278ae1208ea22425f27723396 Mon Sep 17 00:00:00 2001
From 5762072dcfd4c76623ee8d95341e1357ea83384e 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 file changed, 71 insertions(+)
ui/vnc.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)
diff --git a/ui/vnc.c b/ui/vnc.c
index 5707015..f42340b 100644
index 6f9b718..a09f7c1 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -47,6 +47,7 @@ static const struct timeval VNC_REFRESH_LOSSY = { 2, 0 };
#include "d3des.h"
@@ -51,6 +51,8 @@ static const struct timeval VNC_REFRESH_LOSSY = { 2, 0 };
static QTAILQ_HEAD(, VncDisplay) vnc_displays =
QTAILQ_HEAD_INITIALIZER(vnc_displays);
static VncDisplay *vnc_display; /* needed for info vnc */
+static int allowed_connections = 0;
+
static int vnc_cursor_define(VncState *vs);
static void vnc_release_modifiers(VncState *vs);
@@ -1039,6 +1040,7 @@ static void vnc_disconnect_start(VncState *vs)
@@ -1221,6 +1223,7 @@ static void vnc_disconnect_start(VncState *vs)
void vnc_disconnect_finish(VncState *vs)
{
int i;
@ -28,7 +29,7 @@ index 5707015..f42340b 100644
vnc_jobs_join(vs); /* Wait encoding jobs */
@@ -1087,6 +1089,13 @@ void vnc_disconnect_finish(VncState *vs)
@@ -1269,6 +1272,13 @@ void vnc_disconnect_finish(VncState *vs)
}
g_free(vs->lossy_rect);
g_free(vs);
@ -42,25 +43,25 @@ index 5707015..f42340b 100644
}
int vnc_client_io_error(VncState *vs, int ret, int last_errno)
@@ -3050,6 +3059,39 @@ char *vnc_display_local_addr(DisplayState *ds)
@@ -3251,6 +3261,39 @@ char *vnc_display_local_addr(const char *id)
return vnc_socket_local_addr("%s:%s", vs->lsock);
}
+static void read_file_password(DisplayState *ds, char *filename)
+static void read_file_password(const char *id, const char *filename)
+{
+ FILE *pfile = NULL;
+ char *passwd = NULL;
+ int start = 0, length = 0, rc = 0;
+
+ if(strlen(filename) == 0) {
+ printf("No file supplied\n");
+ return;
+ if (strlen(filename) == 0) {
+ printf("No file supplied\n");
+ return;
+ }
+
+ pfile = fopen(filename, "r");
+ if(pfile == NULL) {
+ printf("Could not read from %s\n", filename);
+ return;
+ if (pfile == NULL) {
+ printf("Could not read from %s\n", filename);
+ return;
+ }
+
+ start = ftell(pfile);
@ -68,60 +69,64 @@ index 5707015..f42340b 100644
+ length = ftell(pfile);
+ fseek(pfile, 0L, start);
+
+ passwd = malloc(length+1);
+ passwd = g_malloc(length + 1);
+ rc = fread(passwd, 1, length, pfile);
+ fclose(pfile);
+
+ if(rc == length && rc > 0) {
+ vnc_display_password(ds, passwd);
+ if (rc == length && rc > 0) {
+ vnc_display_password(id, passwd);
+ }
+
+ free(passwd);
+ g_free(passwd);
+}
+
void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
{
VncDisplay *vs = vnc_display;
@@ -3083,6 +3125,9 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
while ((options = strchr(options, ','))) {
options++;
if (strncmp(options, "password", 8) == 0) {
+ char *start, *end;
+ start = strchr(options, '=');
+ end = strchr(options, ',');
if (fips_get_state()) {
error_setg(errp,
"VNC password auth disabled due to FIPS mode, "
@@ -3091,6 +3136,32 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
goto fail;
}
password = 1; /* Require password auth */
+ if (start && (!end || (start < end))) {
+ int len = end ? end-(start+1) : strlen(start+1);
+ char *text = g_malloc(len+1);
+ strncpy(text, start+1, len);
+ text[len] = '\0';
+
+ if (strncmp(options, "password-file=", 14) == 0) {
+ read_file_password(ds, text);
+ } else {
+ vnc_display_password(ds, text);
+ }
+
+ free(text);
+ }
+ } else if (strncmp(options, "allowed-connections=", 20) == 0) {
+ char *start, *end;
+ start = strchr(options, '=');
+ end = strchr(options, ',');
+ if (start && (!end || (start < end))) {
+ int len = end ? end-(start+1) : strlen(start+1);
+ char *text = g_malloc(len+1);
+ strncpy(text, start+1, len);
+ text[len] = '\0';
+ VNC_DEBUG("Maximum number of disconnects: %s\n", text);
+ allowed_connections = atoi(text);
+ }
} else if (strncmp(options, "reverse", 7) == 0) {
reverse = 1;
} else if (strncmp(options, "no-lock-key-sync", 16) == 0) {
static QemuOptsList qemu_vnc_opts = {
.name = "vnc",
.head = QTAILQ_HEAD_INITIALIZER(qemu_vnc_opts.head),
@@ -3278,6 +3321,9 @@ static QemuOptsList qemu_vnc_opts = {
.name = "connections",
.type = QEMU_OPT_NUMBER,
},{
+ .name = "allowed-connections",
+ .type = QEMU_OPT_NUMBER,
+ },{
.name = "to",
.type = QEMU_OPT_NUMBER,
},{
@@ -3290,6 +3336,9 @@ static QemuOptsList qemu_vnc_opts = {
.name = "password",
.type = QEMU_OPT_BOOL,
},{
+ .name = "password-file",
+ .type = QEMU_OPT_STRING,
+ },{
.name = "reverse",
.type = QEMU_OPT_BOOL,
},{
@@ -3326,6 +3375,7 @@ void vnc_display_open(const char *id, Error **errp)
const char *share, *device_id;
QemuConsole *con;
bool password = false;
+ const char *password_file;
bool reverse = false;
const char *vnc;
const char *has_to;
@@ -3401,6 +3451,10 @@ void vnc_display_open(const char *id, Error **errp)
"methods as an alternative");
goto fail;
}
+ password_file = qemu_opt_get(opts, "password-file");
+ if (password_file) {
+ read_file_password(id, password_file);
+ }
reverse = qemu_opt_get_bool(opts, "reverse", false);
lock_key_sync = qemu_opt_get_bool(opts, "lock-key-sync", true);
@@ -3445,6 +3499,7 @@ void vnc_display_open(const char *id, Error **errp)
vs->share_policy = VNC_SHARE_POLICY_ALLOW_EXCLUSIVE;
}
vs->connections_limit = qemu_opt_get_number(opts, "connections", 32);
+ allowed_connections = qemu_opt_get_number(opts, "allowed-connections", 0);
#ifdef CONFIG_VNC_WS
websocket = qemu_opt_get(opts, "websocket");

View File

@ -1,4 +1,4 @@
From 62b202fd44cd3e5148c950bfdf2ee40f47b4e9a5 Mon Sep 17 00:00:00 2001
From 8a82ca25e42fb9b547bb3df6758584d375876042 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
@ -42,10 +42,10 @@ index f9f7c83..8eb4446 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 f750d4c..15fe242 100644
index 1a8816d..f3ac211 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -930,6 +930,12 @@ struct target_pollfd {
@@ -937,6 +937,12 @@ struct target_pollfd {
#define TARGET_BLKGETSIZE64 TARGET_IOR(0x12,114,abi_ulong)
/* return device size in bytes
(u64 *arg) */

View File

@ -1,4 +1,4 @@
From 3108d4f03c8124927f6462967a9d80f2049fae19 Mon Sep 17 00:00:00 2001
From 401ccedfe65286e896b6ff4651dad0196a724be7 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
@ -36,10 +36,10 @@ index e29c7f3..75b6558 100644
extern THREAD CPUState *thread_cpu;
void cpu_loop(CPUArchState *env);
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 199084f..02599ce 100644
index 1d708bf..9aa15dc 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5630,10 +5630,10 @@ int syscall_restartable(int syscall_nr)
@@ -5647,10 +5647,10 @@ int syscall_restartable(int syscall_nr)
/* do_syscall() should always have a single exit point at the end so
that actions, such as logging of syscall results, can be performed.
All errnos that do_syscall() returns must be -TARGET_<errcode>. */

View File

@ -1,4 +1,4 @@
From 6cba6c6438b0ca67aa0e2b869e109f31d4a889a3 Mon Sep 17 00:00:00 2001
From df055bd529dbe5dfd85014d6089d231f649b1e10 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Wed, 5 Aug 2009 09:49:37 +0200
Subject: [PATCH] block: Add support for DictZip enabled gzip files
@ -41,10 +41,10 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
create mode 100644 block/dictzip.c
diff --git a/block/Makefile.objs b/block/Makefile.objs
index 04b0e43..080fd26 100644
index db2933e..1c6f9cf 100644
--- a/block/Makefile.objs
+++ b/block/Makefile.objs
@@ -24,6 +24,7 @@ block-obj-y += accounting.o
@@ -25,6 +25,7 @@ block-obj-y += write-threshold.o
common-obj-y += stream.o
common-obj-y += commit.o
common-obj-y += backup.o

View File

@ -1,4 +1,4 @@
From 91448986f22a2b293d79ef101680ce6a681163c3 Mon Sep 17 00:00:00 2001
From f767767a5bd19552ba1968561e2ca191c1328a16 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Wed, 5 Aug 2009 17:28:38 +0200
Subject: [PATCH] block: Add tar container format
@ -42,10 +42,10 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
create mode 100644 block/tar.c
diff --git a/block/Makefile.objs b/block/Makefile.objs
index 080fd26..0790d19 100644
index 1c6f9cf..c7e2178 100644
--- a/block/Makefile.objs
+++ b/block/Makefile.objs
@@ -25,6 +25,7 @@ common-obj-y += stream.o
@@ -26,6 +26,7 @@ common-obj-y += stream.o
common-obj-y += commit.o
common-obj-y += backup.o
common-obj-y += dictzip.o

View File

@ -1,4 +1,4 @@
From d0549750c5d361cf6e766c539c7b6f1fb913cd27 Mon Sep 17 00:00:00 2001
From 53b044412aa1c768a69351e6fbf0e5cb99a87ba4 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

View File

@ -1,17 +1,26 @@
From 400e598989d5f6d2a6ae101793bcd24934658a57 Mon Sep 17 00:00:00 2001
From b3343a0ecb332a13170fdad61aa6877305d081f8 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
Subject: [PATCH] net: Warn about default MAC address
[AF: Suppress for QTest]
---
net/net.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
net/net.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/net/net.c b/net/net.c
index 7acc162..1c7ff12 100644
index 0be084d..552e233 100644
--- a/net/net.c
+++ b/net/net.c
@@ -160,6 +160,27 @@ void qemu_format_nic_info_str(NetClientState *nc, uint8_t macaddr[6])
@@ -42,6 +42,7 @@
#include "qapi/opts-visitor.h"
#include "qapi/dealloc-visitor.h"
#include "sysemu/sysemu.h"
+#include "sysemu/qtest.h"
/* Net bridge is currently not supported for W32. */
#if !defined(_WIN32)
@@ -160,6 +161,28 @@ void qemu_format_nic_info_str(NetClientState *nc, uint8_t macaddr[6])
macaddr[3], macaddr[4], macaddr[5]);
}
@ -21,14 +30,15 @@ index 7acc162..1c7ff12 100644
+ static int warned = 0;
+ int i;
+
+ for (i = 0; i < MAX_NICS; i++)
+ {
+ if (!nd_table[i].used)
+ for (i = 0; i < MAX_NICS; i++) {
+ if (!nd_table[i].used) {
+ continue;
+ if (memcmp(nd_table[i].macaddr.a, def_mac.a, 5))
+ }
+ if (memcmp(nd_table[i].macaddr.a, def_mac.a, 5)) {
+ continue;
+ }
+ if (nd_table[i].macaddr.a[5] >= 0x56 &&
+ nd_table[i].macaddr.a[5] < 0x56 + MAX_NICS && !warned) {
+ nd_table[i].macaddr.a[5] < 0x56 + MAX_NICS && !warned && !qtest_enabled()) {
+ warned = 1;
+ fprintf(stderr, "Warning: default mac address being used, creating "
+ "potential for address conflict\n");
@ -39,7 +49,7 @@ index 7acc162..1c7ff12 100644
void qemu_macaddr_default_if_unset(MACAddr *macaddr)
{
static int index = 0;
@@ -1314,6 +1335,7 @@ int net_init_clients(void)
@@ -1313,6 +1336,7 @@ int net_init_clients(void)
if (qemu_opts_foreach(net, net_init_client, NULL, 1) == -1) {
return -1;
}

View File

@ -1,4 +1,4 @@
From 7e990dfe340a04dda4fa87deea9057dfbd7932e6 Mon Sep 17 00:00:00 2001
From f5050ecb22d9364e905b05257637b1fd7f4a4409 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
@ -16,7 +16,7 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ui/console.c b/ui/console.c
index 258af5d..59b5077 100644
index b15ca87..a2364e6 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -853,7 +853,7 @@ static void console_putchar(QemuConsole *s, int ch)

View File

@ -1,4 +1,4 @@
From 5dd9c864211748f66cfcb24f1b623c935e88d13c Mon Sep 17 00:00:00 2001
From 65d9d57555716647319048e305770ad03832baa6 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
@ -22,7 +22,7 @@ This patch fixes input when using -nographic on s390 for me.
1 file changed, 16 insertions(+)
diff --git a/qemu-char.c b/qemu-char.c
index a8b01da..2780d14 100644
index a405d76..471ccfe 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -403,6 +403,9 @@ typedef struct {

View File

@ -1,4 +1,4 @@
From 9cf331fd06886bcec7a50c92f4385ca82317bf3a Mon Sep 17 00:00:00 2001
From 3c073db35b5c13dab97c594688653be68eec98db 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 non-set offsets to signed
@ -16,10 +16,10 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 02599ce..a41dd43 100644
index 9aa15dc..3e5e2d3 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5941,9 +5941,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1,
@@ -5958,9 +5958,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1,
case TARGET_NR_oldstat:
goto unimplemented;
#endif

View File

@ -1,4 +1,4 @@
From e5d1f2561996297157d72b0af5442d71936c491f Mon Sep 17 00:00:00 2001
From d1dc6aaab69df4019a398e93a55a610aa8e0ca0c Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Thu, 16 May 2013 12:39:10 +0200
Subject: [PATCH] virtfs-proxy-helper: Provide __u64 for broken
@ -12,7 +12,7 @@ Fixes the build on SLE 11 SP2.
1 file changed, 7 insertions(+)
diff --git a/fsdev/virtfs-proxy-helper.c b/fsdev/virtfs-proxy-helper.c
index cd291d3..7d7aa67 100644
index 13fe032..ebd75a7 100644
--- a/fsdev/virtfs-proxy-helper.c
+++ b/fsdev/virtfs-proxy-helper.c
@@ -9,6 +9,13 @@

View File

@ -1,4 +1,4 @@
From e54a63d9b564342f7b9c777a0a225d888fdf7716 Mon Sep 17 00:00:00 2001
From c5b3b3f5ecc19b60719c54aed7bccedf04fb20a9 Mon Sep 17 00:00:00 2001
From: Dinar Valeev <k0da@opensuse.org>
Date: Wed, 2 Oct 2013 17:56:03 +0200
Subject: [PATCH] configure: Enable PIE for ppc and ppc64 hosts
@ -14,10 +14,10 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index 47048f0..35fbdb5 100755
index f74a6fd..4271403 100755
--- a/configure
+++ b/configure
@@ -1544,7 +1544,7 @@ fi
@@ -1551,7 +1551,7 @@ fi
if test "$pie" = ""; then
case "$cpu-$targetos" in

View File

@ -1,4 +1,4 @@
From 2d6b36cbf59e2f8e84889c2d52815191992bf421 Mon Sep 17 00:00:00 2001
From 544ceaa85c8f063fd61af7a00a3d0256972d00b3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Thu, 17 Apr 2014 18:39:10 +0200
Subject: [PATCH] qtest: Increase socket timeout

View File

@ -1,4 +1,4 @@
From c464e8e38da71cbc136ea2cf6fbf5bddfc25e7d5 Mon Sep 17 00:00:00 2001
From 2974e1e53a2a2f639dc8ba57a9f6ec2f119fd57d Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Wed, 14 Jan 2015 01:32:11 +0100
Subject: [PATCH] AIO: Reduce number of threads for 32bit hosts

View File

@ -1,4 +1,4 @@
From 1e915c4c11b3e2bf592f83ed9b7efed3b277cdd4 Mon Sep 17 00:00:00 2001
From e471c1b79130da7e1b3ed725cd5a147f8698c386 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Thu, 5 Feb 2015 12:31:16 +0100
Subject: [PATCH] linux-user: Fix emulation of splice syscall
@ -18,10 +18,10 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index a41dd43..5f208df 100644
index 3e5e2d3..2ed71b6 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -9480,15 +9480,29 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1,
@@ -9497,15 +9497,29 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1,
{
loff_t loff_in, loff_out;
loff_t *ploff_in = NULL, *ploff_out = NULL;

View File

@ -0,0 +1,38 @@
From 7d51103f2e1a7ec7fe0623cc115f450d57f442b4 Mon Sep 17 00:00:00 2001
From: John Snow <jsnow@redhat.com>
Date: Thu, 19 Mar 2015 20:24:13 -0400
Subject: [PATCH] ide: fix cmd_write_pio when nsectors > 1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We need to adjust the sector being written to
prior to calling ide_transfer_start, otherwise
we'll write to the same sector again.
Signed-off-by: John Snow <jsnow@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
hw/ide/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/ide/core.c b/hw/ide/core.c
index ef52f35..0e9da64 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -846,6 +846,7 @@ static void ide_sector_write_cb(void *opaque, int ret)
s->nsector -= n;
s->io_buffer_offset += 512 * n;
+ ide_set_sector(s, ide_get_sector(s) + n);
if (s->nsector == 0) {
/* no more sectors to write */
ide_transfer_stop(s);
@@ -857,7 +858,6 @@ static void ide_sector_write_cb(void *opaque, int ret)
ide_transfer_start(s, s->io_buffer, n1 * BDRV_SECTOR_SIZE,
ide_sector_write);
}
- ide_set_sector(s, ide_get_sector(s) + n);
if (win2k_install_hack && ((++s->irq_count % 16) == 0)) {
/* It seems there is a bug in the Windows 2000 installer HDD

View File

@ -0,0 +1,39 @@
From bac9220185506f9d0c5ad93a23789334898c3860 Mon Sep 17 00:00:00 2001
From: John Snow <jsnow@redhat.com>
Date: Thu, 19 Mar 2015 20:24:14 -0400
Subject: [PATCH] ide: fix cmd_read_pio when nsectors > 1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Similar to the cmd_write_pio fix, update the nsector count and
ide sector before we invoke ide_transfer_start.
Signed-off-by: John Snow <jsnow@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
hw/ide/core.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/hw/ide/core.c b/hw/ide/core.c
index 0e9da64..a895fd8 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -587,14 +587,12 @@ static void ide_sector_read_cb(void *opaque, int ret)
n = s->req_nb_sectors;
}
- /* Allow the guest to read the io_buffer */
- ide_transfer_start(s, s->io_buffer, n * BDRV_SECTOR_SIZE, ide_sector_read);
-
- ide_set_irq(s->bus);
-
ide_set_sector(s, ide_get_sector(s) + n);
s->nsector -= n;
+ /* Allow the guest to read the io_buffer */
+ ide_transfer_start(s, s->io_buffer, n * BDRV_SECTOR_SIZE, ide_sector_read);
s->io_buffer_offset += 512 * n;
+ ide_set_irq(s->bus);
}
static void ide_sector_read(IDEState *s)

View File

@ -0,0 +1,38 @@
From ec2869aba738e3eea46a3202f41f1d5efe38325b Mon Sep 17 00:00:00 2001
From: John Snow <jsnow@redhat.com>
Date: Thu, 19 Mar 2015 20:24:15 -0400
Subject: [PATCH] ahci: Fix sglist offset manipulation for BE machines
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This does not bother DMA, because DMA generally transfers
the entire SGList in one shot if it can.
PIO, on the other hand, tries to transfer just one sector
at a time, and will make multiple visits to the sglist
to fetch memory addresses.
Fix the memory address calculaton when we have an offset
by moving the offset addition OUTSIDE of the le64_to_cpu
calculation.
Signed-off-by: John Snow <jsnow@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
hw/ide/ahci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index e1ae36f..7a223be 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -799,7 +799,7 @@ static int ahci_populate_sglist(AHCIDevice *ad, QEMUSGList *sglist,
qemu_sglist_init(sglist, qbus->parent, (sglist_alloc_hint - off_idx),
ad->hba->as);
- qemu_sglist_add(sglist, le64_to_cpu(tbl[off_idx].addr + off_pos),
+ qemu_sglist_add(sglist, le64_to_cpu(tbl[off_idx].addr) + off_pos,
prdt_tbl_entry_size(&tbl[off_idx]) - off_pos);
for (i = off_idx + 1; i < sglist_alloc_hint; i++) {

View File

@ -0,0 +1,94 @@
From cd75c139869ea1fa98eeaf2d8b7004d8da0e1bbe Mon Sep 17 00:00:00 2001
From: John Snow <jsnow@redhat.com>
Date: Thu, 19 Mar 2015 20:24:16 -0400
Subject: [PATCH] ahci-test: improve rw buffer patterns
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
My pattern was cyclical every 256 bytes, so it missed a fairly obvious
failure case. Add some rand() pepper into the test pattern, and for large
patterns that exceed 256 sectors, start writing an ID per-sector so that
we never generate identical sector patterns.
Signed-off-by: John Snow <jsnow@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
tests/ahci-test.c | 36 ++++++++++++++++++++++++++++--------
1 file changed, 28 insertions(+), 8 deletions(-)
diff --git a/tests/ahci-test.c b/tests/ahci-test.c
index cf0b98b..82e2efd 100644
--- a/tests/ahci-test.c
+++ b/tests/ahci-test.c
@@ -68,6 +68,32 @@ static void string_bswap16(uint16_t *s, size_t bytes)
}
}
+static void generate_pattern(void *buffer, size_t len, size_t cycle_len)
+{
+ int i, j;
+ unsigned char *tx = (unsigned char *)buffer;
+ unsigned char p;
+ size_t *sx;
+
+ /* Write an indicative pattern that varies and is unique per-cycle */
+ p = rand() % 256;
+ for (i = j = 0; i < len; i++, j++) {
+ tx[i] = p;
+ if (j % cycle_len == 0) {
+ p = rand() % 256;
+ }
+ }
+
+ /* force uniqueness by writing an id per-cycle */
+ for (i = 0; i < len / cycle_len; i++) {
+ j = i * cycle_len;
+ if (j + sizeof(*sx) <= len) {
+ sx = (size_t *)&tx[j];
+ *sx = i;
+ }
+ }
+}
+
/*** Test Setup & Teardown ***/
/**
@@ -736,7 +762,6 @@ static void ahci_test_io_rw_simple(AHCIQState *ahci, unsigned bufsize,
{
uint64_t ptr;
uint8_t port;
- unsigned i;
unsigned char *tx = g_malloc(bufsize);
unsigned char *rx = g_malloc0(bufsize);
@@ -752,9 +777,7 @@ static void ahci_test_io_rw_simple(AHCIQState *ahci, unsigned bufsize,
g_assert(ptr);
/* Write some indicative pattern to our buffer. */
- for (i = 0; i < bufsize; i++) {
- tx[i] = (bufsize - i);
- }
+ generate_pattern(tx, bufsize, AHCI_SECTOR_SIZE);
memwrite(ptr, tx, bufsize);
/* Write this buffer to disk, then read it back to the DMA buffer. */
@@ -865,7 +888,6 @@ static void test_dma_fragmented(void)
size_t bufsize = 4096;
unsigned char *tx = g_malloc(bufsize);
unsigned char *rx = g_malloc0(bufsize);
- unsigned i;
uint64_t ptr;
ahci = ahci_boot_and_enable();
@@ -873,9 +895,7 @@ static void test_dma_fragmented(void)
ahci_port_clear(ahci, px);
/* create pattern */
- for (i = 0; i < bufsize; i++) {
- tx[i] = (bufsize - i);
- }
+ generate_pattern(tx, bufsize, AHCI_SECTOR_SIZE);
/* Create a DMA buffer in guest memory, and write our pattern to it. */
ptr = guest_alloc(ahci->parent->alloc, bufsize);

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Fri Mar 20 15:03:16 UTC 2015 - afaerber@suse.de
- Update to v2.3.0-rc0: See http://wiki.qemu-project.org/ChangeLog/2.3
* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
* Patches dropped:
0030-Legacy-Patch-kvm-qemu-preXX-report-.patch
* Patches added:
0030-net-Warn-about-default-MAC-address.patch
0039-ide-fix-cmd_write_pio-when-nsectors.patch
0040-ide-fix-cmd_read_pio-when-nsectors-.patch
0041-ahci-Fix-sglist-offset-manipulation.patch
0042-ahci-test-improve-rw-buffer-pattern.patch
-------------------------------------------------------------------
Sun Mar 1 12:50:52 UTC 2015 - afaerber@suse.de

View File

@ -21,9 +21,9 @@ Url: http://www.qemu.org/
Summary: Universal CPU emulator
License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
Group: System/Emulators/PC
Version: 2.2.0
Version: 2.2.90
Release: 0
Source: http://wiki.qemu.org/download/qemu-2.2.0.tar.bz2
Source: http://wiki.qemu.org/download/qemu-2.3.0-rc0.tar.bz2
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch
Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch
@ -54,7 +54,7 @@ Patch0026: 0026-linux-user-use-target_ulong.patch
Patch0027: 0027-block-Add-support-for-DictZip-enabl.patch
Patch0028: 0028-block-Add-tar-container-format.patch
Patch0029: 0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
Patch0030: 0030-Legacy-Patch-kvm-qemu-preXX-report-.patch
Patch0030: 0030-net-Warn-about-default-MAC-address.patch
Patch0031: 0031-console-add-question-mark-escape-op.patch
Patch0032: 0032-Make-char-muxer-more-robust-wrt-sma.patch
Patch0033: 0033-linux-user-lseek-explicitly-cast-no.patch
@ -63,6 +63,10 @@ Patch0035: 0035-configure-Enable-PIE-for-ppc-and-pp.patch
Patch0036: 0036-qtest-Increase-socket-timeout.patch
Patch0037: 0037-AIO-Reduce-number-of-threads-for-32.patch
Patch0038: 0038-linux-user-Fix-emulation-of-splice-.patch
Patch0039: 0039-ide-fix-cmd_write_pio-when-nsectors.patch
Patch0040: 0040-ide-fix-cmd_read_pio-when-nsectors-.patch
Patch0041: 0041-ahci-Fix-sglist-offset-manipulation.patch
Patch0042: 0042-ahci-test-improve-rw-buffer-pattern.patch
# Please do not add patches manually here, run update_git.sh.
# this is to make lint happy
Source300: qemu-rpmlintrc
@ -121,7 +125,7 @@ the cards could be pure software constructs.
This sub-package contains development files for the Smartcard library.
%prep
%setup -q -n qemu-%{version}
%setup -q -n qemu-2.3.0-rc0
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
@ -160,6 +164,10 @@ This sub-package contains development files for the Smartcard library.
%patch0036 -p1
%patch0037 -p1
%patch0038 -p1
%patch0039 -p1
%patch0040 -p1
%patch0041 -p1
%patch0042 -p1
%build
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \

View File

@ -23,7 +23,7 @@ License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
Group: System/Emulators/PC
QEMU_VERSION
Release: 0
Source: http://wiki.qemu.org/download/qemu-2.2.0.tar.bz2
Source: http://wiki.qemu.org/download/qemu-2.3.0-rc0.tar.bz2
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
PATCH_FILES
# Please do not add patches manually here, run update_git.sh.
@ -84,7 +84,7 @@ the cards could be pure software constructs.
This sub-package contains development files for the Smartcard library.
%prep
%setup -q -n qemu-%{version}
%setup -q -n qemu-2.3.0-rc0
PATCH_EXEC
%build

View File

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

Binary file not shown.

3
qemu-2.3.0-rc0.tar.bz2 Normal file
View File

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

BIN
qemu-2.3.0-rc0.tar.bz2.sig Normal file

Binary file not shown.

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Fri Mar 20 15:03:16 UTC 2015 - afaerber@suse.de
- Update to v2.3.0-rc0: See http://wiki.qemu-project.org/ChangeLog/2.3
* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
* Patches dropped:
0030-Legacy-Patch-kvm-qemu-preXX-report-.patch
* Patches added:
0030-net-Warn-about-default-MAC-address.patch
0039-ide-fix-cmd_write_pio-when-nsectors.patch
0040-ide-fix-cmd_read_pio-when-nsectors-.patch
0041-ahci-Fix-sglist-offset-manipulation.patch
0042-ahci-test-improve-rw-buffer-pattern.patch
-------------------------------------------------------------------
Sun Mar 1 12:51:39 UTC 2015 - afaerber@suse.de

View File

@ -21,9 +21,9 @@ Url: http://www.qemu.org/
Summary: Universal CPU emulator
License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
Group: System/Emulators/PC
Version: 2.2.0
Version: 2.2.90
Release: 0
Source: http://wiki.qemu.org/download/qemu-2.2.0.tar.bz2
Source: http://wiki.qemu.org/download/qemu-2.3.0-rc0.tar.bz2
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch
Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch
@ -54,7 +54,7 @@ Patch0026: 0026-linux-user-use-target_ulong.patch
Patch0027: 0027-block-Add-support-for-DictZip-enabl.patch
Patch0028: 0028-block-Add-tar-container-format.patch
Patch0029: 0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
Patch0030: 0030-Legacy-Patch-kvm-qemu-preXX-report-.patch
Patch0030: 0030-net-Warn-about-default-MAC-address.patch
Patch0031: 0031-console-add-question-mark-escape-op.patch
Patch0032: 0032-Make-char-muxer-more-robust-wrt-sma.patch
Patch0033: 0033-linux-user-lseek-explicitly-cast-no.patch
@ -63,6 +63,10 @@ Patch0035: 0035-configure-Enable-PIE-for-ppc-and-pp.patch
Patch0036: 0036-qtest-Increase-socket-timeout.patch
Patch0037: 0037-AIO-Reduce-number-of-threads-for-32.patch
Patch0038: 0038-linux-user-Fix-emulation-of-splice-.patch
Patch0039: 0039-ide-fix-cmd_write_pio-when-nsectors.patch
Patch0040: 0040-ide-fix-cmd_read_pio-when-nsectors-.patch
Patch0041: 0041-ahci-Fix-sglist-offset-manipulation.patch
Patch0042: 0042-ahci-test-improve-rw-buffer-pattern.patch
# Please do not add patches manually here, run update_git.sh.
# this is to make lint happy
Source300: qemu-rpmlintrc
@ -115,7 +119,7 @@ emulations. This can be used together with the OBS build script to
run cross-architecture builds.
%prep
%setup -q -n qemu-2.2.0
%setup -q -n qemu-2.3.0-rc0
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
@ -154,6 +158,10 @@ run cross-architecture builds.
%patch0036 -p1
%patch0037 -p1
%patch0038 -p1
%patch0039 -p1
%patch0040 -p1
%patch0041 -p1
%patch0042 -p1
%build
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \

View File

@ -23,7 +23,7 @@ License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
Group: System/Emulators/PC
QEMU_VERSION
Release: 0
Source: http://wiki.qemu.org/download/qemu-2.2.0.tar.bz2
Source: http://wiki.qemu.org/download/qemu-2.3.0-rc0.tar.bz2
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
PATCH_FILES
# Please do not add patches manually here, run update_git.sh.
@ -78,7 +78,7 @@ emulations. This can be used together with the OBS build script to
run cross-architecture builds.
%prep
%setup -q -n qemu-2.2.0
%setup -q -n qemu-2.3.0-rc0
PATCH_EXEC
%build

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Fri Mar 20 15:03:16 UTC 2015 - afaerber@suse.de
- Update to v2.3.0-rc0: See http://wiki.qemu-project.org/ChangeLog/2.3
* Updated update_git.sh accordingly
* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
* seabios_128kb.patch: Added patch to squeeze SeaBIOS into 128 KB
with our gcc 4.8.3 (brogers@suse.com)
- Renamed 0030-Legacy-Patch-kvm-qemu-preXX-report-.patch to
0030-net-Warn-about-default-MAC-address.patch:
Suppress warning for accel=qtest, to sanitize make check results.
- Added patches to fix ahci-test:
0039-ide-fix-cmd_write_pio-when-nsectors.patch
0040-ide-fix-cmd_read_pio-when-nsectors-.patch
0041-ahci-Fix-sglist-offset-manipulation.patch
0042-ahci-test-improve-rw-buffer-pattern.patch
-------------------------------------------------------------------
Sun Mar 1 12:50:44 UTC 2015 - afaerber@suse.de

View File

@ -43,10 +43,10 @@ Url: http://www.qemu.org/
Summary: Universal CPU emulator
License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
Group: System/Emulators/PC
Version: 2.2.0
Version: 2.2.90
Release: 0
Source: http://wiki.qemu.org/download/%name-2.2.0.tar.bz2
Source99: http://wiki.qemu.org/download/%name-2.2.0.tar.bz2.sig
Source: http://wiki.qemu.org/download/%name-2.3.0-rc0.tar.bz2
Source99: http://wiki.qemu.org/download/%name-2.3.0-rc0.tar.bz2.sig
Source1: 80-kvm.rules
Source2: qemu-ifup
Source3: kvm_stat
@ -84,7 +84,7 @@ Patch0026: 0026-linux-user-use-target_ulong.patch
Patch0027: 0027-block-Add-support-for-DictZip-enabl.patch
Patch0028: 0028-block-Add-tar-container-format.patch
Patch0029: 0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
Patch0030: 0030-Legacy-Patch-kvm-qemu-preXX-report-.patch
Patch0030: 0030-net-Warn-about-default-MAC-address.patch
Patch0031: 0031-console-add-question-mark-escape-op.patch
Patch0032: 0032-Make-char-muxer-more-robust-wrt-sma.patch
Patch0033: 0033-linux-user-lseek-explicitly-cast-no.patch
@ -93,7 +93,17 @@ Patch0035: 0035-configure-Enable-PIE-for-ppc-and-pp.patch
Patch0036: 0036-qtest-Increase-socket-timeout.patch
Patch0037: 0037-AIO-Reduce-number-of-threads-for-32.patch
Patch0038: 0038-linux-user-Fix-emulation-of-splice-.patch
# Please do not add patches manually here, run update_git.sh.
Patch0039: 0039-ide-fix-cmd_write_pio-when-nsectors.patch
Patch0040: 0040-ide-fix-cmd_read_pio-when-nsectors-.patch
Patch0041: 0041-ahci-Fix-sglist-offset-manipulation.patch
Patch0042: 0042-ahci-test-improve-rw-buffer-pattern.patch
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
# SeaBIOS
%if %{build_x86_fw_from_source}
Patch1000: seabios_128kb.patch
%endif
# this is to make lint happy
Source300: qemu-rpmlintrc
@ -393,7 +403,7 @@ This sub-package contains the guest agent.
%package seabios
Summary: X86 BIOS for QEMU
Group: System/Emulators/PC
Version: 1.7.5.1
Version: 1.8.1
Release: 0
%if 0%{?suse_version} > %{noarch_supported}
BuildArch: noarch
@ -407,7 +417,7 @@ is the default BIOS for QEMU.
%package vgabios
Summary: VGA BIOSes for QEMU
Group: System/Emulators/PC
Version: 1.7.5.1
Version: 1.8.1
Release: 0
%if 0%{?suse_version} > %{noarch_supported}
BuildArch: noarch
@ -462,7 +472,7 @@ This package provides a service file for starting and stopping KSM.
%endif
%prep
%setup -q -n %name-2.2.0
%setup -q -n %name-2.3.0-rc0
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
@ -501,8 +511,16 @@ This package provides a service file for starting and stopping KSM.
%patch0036 -p1
%patch0037 -p1
%patch0038 -p1
%patch0039 -p1
%patch0040 -p1
%patch0041 -p1
%patch0042 -p1
%if %{build_x86_fw_from_source}
pushd roms/seabios
%patch1000 -p1
popd
# as a safeguard, delete the firmware files that we intend to build
for i in %built_firmware_files
do

View File

@ -45,8 +45,8 @@ License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
Group: System/Emulators/PC
QEMU_VERSION
Release: 0
Source: http://wiki.qemu.org/download/%name-2.2.0.tar.bz2
Source99: http://wiki.qemu.org/download/%name-2.2.0.tar.bz2.sig
Source: http://wiki.qemu.org/download/%name-2.3.0-rc0.tar.bz2
Source99: http://wiki.qemu.org/download/%name-2.3.0-rc0.tar.bz2.sig
Source1: 80-kvm.rules
Source2: qemu-ifup
Source3: kvm_stat
@ -56,7 +56,13 @@ Source6: ksm.service
Source7: 60-kvm.x86.rules
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
PATCH_FILES
# Please do not add patches manually here, run update_git.sh.
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
# SeaBIOS
%if %{build_x86_fw_from_source}
Patch1000: seabios_128kb.patch
%endif
# this is to make lint happy
Source300: qemu-rpmlintrc
@ -425,10 +431,14 @@ This package provides a service file for starting and stopping KSM.
%endif
%prep
%setup -q -n %name-2.2.0
%setup -q -n %name-2.3.0-rc0
PATCH_EXEC
%if %{build_x86_fw_from_source}
pushd roms/seabios
%patch1000 -p1
popd
# as a safeguard, delete the firmware files that we intend to build
for i in %built_firmware_files
do

303
seabios_128kb.patch Normal file
View File

@ -0,0 +1,303 @@
From 5fff5f1e79d8bc7ef24d1f8ff42c8021215f23a6 Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Thu, 19 Mar 2015 16:34:31 -0600
Subject: [PATCH] Eliminate some duplicate string segments to reduce bios image
size
In some build environments, we are running up against the 128K bios
size limit. This change simply takes larger string segments which are
used in printf style messages and uses a single copy, now referenced
with a %s specifier, resulting in the needed space savings.
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
src/boot.c | 20 +++++++++++---------
src/bootsplash.c | 5 +++--
src/fw/paravirt.c | 8 +++++---
src/fw/pciinit.c | 19 ++++++++++---------
src/hw/usb-hub.c | 9 +++++----
src/hw/usb-msc.c | 6 ++++--
6 files changed, 38 insertions(+), 29 deletions(-)
diff --git a/src/boot.c b/src/boot.c
index d6b1fb7..de37041 100644
--- a/src/boot.c
+++ b/src/boot.c
@@ -25,6 +25,8 @@
* Boot priority ordering
****************************************************************/
+static const char *no_boot_dev_str = "No bootable device.";
+static const char *boot_str = "Booting from ";
static char **Bootorder VARVERIFY32INIT;
static int BootorderCount;
@@ -587,7 +589,7 @@ bcv_prepboot(void)
static void
call_boot_entry(struct segoff_s bootsegip, u8 bootdrv)
{
- dprintf(1, "Booting from %04x:%04x\n", bootsegip.seg, bootsegip.offset);
+ dprintf(1, "%s%04x:%04x\n", boot_str, bootsegip.seg, bootsegip.offset);
struct bregs br;
memset(&br, 0, sizeof(br));
br.flags = F_IF;
@@ -641,7 +643,7 @@ boot_cdrom(struct drive_s *drive_g)
{
if (! CONFIG_CDROM_BOOT)
return;
- printf("Booting from DVD/CD...\n");
+ printf("%sDVD/CD...\n", boot_str);
int status = cdrom_boot(drive_g);
if (status) {
@@ -664,7 +666,7 @@ boot_cbfs(struct cbfs_file *file)
{
if (!CONFIG_COREBOOT_FLASH)
return;
- printf("Booting from CBFS...\n");
+ printf("%sCBFS...\n", boot_str);
cbfs_run_payload(file);
}
@@ -672,7 +674,7 @@ boot_cbfs(struct cbfs_file *file)
static void
boot_rom(u32 vector)
{
- printf("Booting from ROM...\n");
+ printf("%sROM...\n", boot_str);
struct segoff_s so;
so.segoff = vector;
call_boot_entry(so, 0);
@@ -683,10 +685,10 @@ static void
boot_fail(void)
{
if (BootRetryTime == (u32)-1)
- printf("No bootable device.\n");
+ printf("%s\n", no_boot_dev_str);
else
- printf("No bootable device. Retrying in %d seconds.\n"
- , BootRetryTime/1000);
+ printf("%s Retrying in %d seconds.\n", no_boot_dev_str,
+ BootRetryTime/1000);
// Wait for 'BootRetryTime' milliseconds and then reboot.
u32 end = irqtimer_calc(BootRetryTime);
for (;;) {
@@ -712,11 +714,11 @@ do_boot(int seq_nr)
struct bev_s *ie = &BEV[seq_nr];
switch (ie->type) {
case IPL_TYPE_FLOPPY:
- printf("Booting from Floppy...\n");
+ printf("%sFloppy...\n", boot_str);
boot_disk(0x00, CheckFloppySig);
break;
case IPL_TYPE_HARDDISK:
- printf("Booting from Hard Disk...\n");
+ printf("%sHard Disk...\n", boot_str);
boot_disk(0x80, 1);
break;
case IPL_TYPE_CDROM:
diff --git a/src/bootsplash.c b/src/bootsplash.c
index c572685..e28d264 100644
--- a/src/bootsplash.c
+++ b/src/bootsplash.c
@@ -16,6 +16,7 @@
#include "string.h" // memset
#include "util.h" // enable_bootsplash
+static const char *decode_failed_str = "_decode failed with return code ";
/****************************************************************
* Helper functions
@@ -154,7 +155,7 @@ enable_bootsplash(void)
dprintf(5, "Decoding bootsplash.jpg\n");
ret = jpeg_decode(jpeg, filedata);
if (ret) {
- dprintf(1, "jpeg_decode failed with return code %d...\n", ret);
+ dprintf(1, "jpeg%s%d...\n", decode_failed_str, ret);
goto done;
}
jpeg_get_size(jpeg, &width, &height);
@@ -168,7 +169,7 @@ enable_bootsplash(void)
dprintf(5, "Decoding bootsplash.bmp\n");
ret = bmp_decode(bmp, filedata, filesize);
if (ret) {
- dprintf(1, "bmp_decode failed with return code %d...\n", ret);
+ dprintf(1, "bmp%s%d...\n", decode_failed_str, ret);
goto done;
}
bmp_get_size(bmp, &width, &height);
diff --git a/src/fw/paravirt.c b/src/fw/paravirt.c
index db22ae8..868435a 100644
--- a/src/fw/paravirt.c
+++ b/src/fw/paravirt.c
@@ -36,6 +36,8 @@ int PlatformRunningOn VARFSEG;
*/
#define KVM_CPUID_SIGNATURE 0x40000000
+static const char *running_on_qemu_str = "Running on QEMU (";
+
static void kvm_detect(void)
{
unsigned int eax, ebx, ecx, edx;
@@ -73,13 +75,13 @@ static void qemu_detect(void)
PlatformRunningOn |= PF_QEMU;
switch (d) {
case 0x1237:
- dprintf(1, "Running on QEMU (i440fx)\n");
+ dprintf(1, "%si440fx)\n", running_on_qemu_str);
break;
case 0x29c0:
- dprintf(1, "Running on QEMU (q35)\n");
+ dprintf(1, "%sq35)\n", running_on_qemu_str);
break;
default:
- dprintf(1, "Running on QEMU (unknown nb: %04x:%04x)\n", v, d);
+ dprintf(1, "%sunknown nb: %04x:%04x)\n", running_on_qemu_str, v, d);
break;
}
kvm_detect();
diff --git a/src/fw/pciinit.c b/src/fw/pciinit.c
index ac39d23..63018e4 100644
--- a/src/fw/pciinit.c
+++ b/src/fw/pciinit.c
@@ -27,6 +27,10 @@
#define PCI_BRIDGE_MEM_MIN (1<<21) // 2M == hugepage size
#define PCI_BRIDGE_IO_MIN 0x1000 // mandated by pci bridge spec
+static const char *pri_bus_str = "PCI: primary bus = ";
+static const char *sec_bus_str = "PCI: secondary bus = ";
+static const char *sub_bus_str = "PCI: subordinate bus = ";
+
static const char *region_type_name[] = {
[ PCI_REGION_TYPE_IO ] = "io",
[ PCI_REGION_TYPE_MEM ] = "mem",
@@ -425,7 +429,6 @@ static void pci_bios_init_platform(void)
}
}
-
/****************************************************************
* Bus initialization
****************************************************************/
@@ -456,21 +459,20 @@ pci_bios_init_bus_rec(int bus, u8 *pci_bus)
u8 pribus = pci_config_readb(bdf, PCI_PRIMARY_BUS);
if (pribus != bus) {
- dprintf(1, "PCI: primary bus = 0x%x -> 0x%x\n", pribus, bus);
+ dprintf(1, "%s0x%x -> 0x%x\n", pri_bus_str, pribus, bus);
pci_config_writeb(bdf, PCI_PRIMARY_BUS, bus);
} else {
- dprintf(1, "PCI: primary bus = 0x%x\n", pribus);
+ dprintf(1, "%s0x%x\n", pri_bus_str, pribus);
}
u8 secbus = pci_config_readb(bdf, PCI_SECONDARY_BUS);
(*pci_bus)++;
if (*pci_bus != secbus) {
- dprintf(1, "PCI: secondary bus = 0x%x -> 0x%x\n",
- secbus, *pci_bus);
+ dprintf(1, "%s0x%x -> 0x%x\n", sec_bus_str, secbus, *pci_bus);
secbus = *pci_bus;
pci_config_writeb(bdf, PCI_SECONDARY_BUS, secbus);
} else {
- dprintf(1, "PCI: secondary bus = 0x%x\n", secbus);
+ dprintf(1, "%s0x%x\n", sec_bus_str, secbus);
}
/* set to max for access to all subordinate buses.
@@ -481,11 +483,10 @@ pci_bios_init_bus_rec(int bus, u8 *pci_bus)
pci_bios_init_bus_rec(secbus, pci_bus);
if (subbus != *pci_bus) {
- dprintf(1, "PCI: subordinate bus = 0x%x -> 0x%x\n",
- subbus, *pci_bus);
+ dprintf(1, "%s0x%x -> 0x%x\n", sub_bus_str, subbus, *pci_bus);
subbus = *pci_bus;
} else {
- dprintf(1, "PCI: subordinate bus = 0x%x\n", subbus);
+ dprintf(1, "%s0x%x\n", sub_bus_str, subbus);
}
pci_config_writeb(bdf, PCI_SUBORDINATE_BUS, subbus);
}
diff --git a/src/hw/usb-hub.c b/src/hw/usb-hub.c
index 54e341b..337385d 100644
--- a/src/hw/usb-hub.c
+++ b/src/hw/usb-hub.c
@@ -11,6 +11,8 @@
#include "usb-hub.h" // struct usb_hub_descriptor
#include "util.h" // timer_calc
+static const char *port_hub_fail_str = "Failure on hub port ";
+
static int
get_hub_desc(struct usb_pipe *pipe, struct usb_hub_descriptor *desc)
{
@@ -82,7 +84,6 @@ get_port_status(struct usbhub_s *hub, int port, struct usb_port_status *sts)
mutex_unlock(&hub->lock);
return ret;
}
-
// Check if device attached to port
static int
usb_hub_detect(struct usbhub_s *hub, u32 port)
@@ -90,7 +91,7 @@ usb_hub_detect(struct usbhub_s *hub, u32 port)
struct usb_port_status sts;
int ret = get_port_status(hub, port, &sts);
if (ret) {
- dprintf(1, "Failure on hub port %d detect\n", port);
+ dprintf(1, "%s%d detect\n", port_hub_fail_str, port);
return -1;
}
return (sts.wPortStatus & USB_PORT_STAT_CONNECTION) ? 1 : 0;
@@ -102,7 +103,7 @@ usb_hub_disconnect(struct usbhub_s *hub, u32 port)
{
int ret = clear_port_feature(hub, port, USB_PORT_FEAT_ENABLE);
if (ret)
- dprintf(1, "Failure on hub port %d disconnect\n", port);
+ dprintf(1, "%s%d disconnect\n", port_hub_fail_str, port);
}
// Reset device on port
@@ -142,7 +143,7 @@ usb_hub_reset(struct usbhub_s *hub, u32 port)
>> USB_PORT_STAT_SPEED_SHIFT);
fail:
- dprintf(1, "Failure on hub port %d reset\n", port);
+ dprintf(1, "%s%d reset\n", port_hub_fail_str, port);
usb_hub_disconnect(hub, port);
return -1;
}
diff --git a/src/hw/usb-msc.c b/src/hw/usb-msc.c
index d90319f..9c6b3e2 100644
--- a/src/hw/usb-msc.c
+++ b/src/hw/usb-msc.c
@@ -50,6 +50,8 @@ struct csw_s {
u8 bCSWStatus;
} PACKED;
+static const char *cant_config_str = "Unable to configure USB MSC ";
+
static int
usb_msc_send(struct usbdrive_s *udrive_gf, int dir, void *buf, u32 bytes)
{
@@ -158,7 +160,7 @@ usb_msc_lun_setup(struct usb_pipe *inpipe, struct usb_pipe *outpipe,
int prio = bootprio_find_usb(usbdev, lun);
int ret = scsi_drive_setup(&drive->drive, "USB MSC", prio);
if (ret) {
- dprintf(1, "Unable to configure USB MSC drive.\n");
+ dprintf(1, "%sdrive.\n", cant_config_str);
free(drive);
return -1;
}
@@ -213,7 +215,7 @@ usb_msc_setup(struct usbdevice_s *usbdev)
return 0;
fail:
- dprintf(1, "Unable to configure USB MSC device.\n");
+ dprintf(1, "%sdevice.\n", cant_config_str);
usb_free_pipe(usbdev, inpipe);
usb_free_pipe(usbdev, outpipe);
return -1;
--
1.9.0

View File

@ -11,8 +11,8 @@
GIT_TREE=git://github.com/openSUSE/qemu.git
GIT_LOCAL_TREE=~/git/qemu-opensuse
GIT_BRANCH=opensuse-2.2
GIT_UPSTREAM_TAG=v2.2.0
GIT_BRANCH=opensuse-2.3
GIT_UPSTREAM_TAG=v2.3.0-rc0
GIT_DIR=/dev/shm/qemu-factory-git-dir
CMP_DIR=/dev/shm/qemu-factory-cmp-dir