Accepting request 660294 from Virtualization

OBS-URL: https://build.opensuse.org/request/show/660294
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/qemu?expand=0&rev=148
This commit is contained in:
Dominique Leuenberger 2018-12-26 23:25:12 +00:00 committed by Git OBS Bridge
commit afb4cd1be2
69 changed files with 1599 additions and 1337 deletions

View File

@ -1,8 +1,9 @@
From fc0c1906704dfc1c699bf1397e02e5887fd13da6 Mon Sep 17 00:00:00 2001
From 832434a783511ecfd30db4d718dcf15210da866e 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
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
linux-user/signal.c | 6 ++++++
1 file changed, 6 insertions(+)

View File

@ -1,4 +1,4 @@
From e7c65bc5548a677685a73132ae6113cfd511599c Mon Sep 17 00:00:00 2001
From ecb8f5651091fb6538366fefc43ecd095328194a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Wed, 10 Aug 2016 19:00:24 +0200
Subject: [PATCH] qemu-binfmt-conf: Modify default path
@ -14,10 +14,10 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
index b0dc8a714a..e6a120e842 100755
index b5a16742a1..4f1358e2fd 100755
--- a/scripts/qemu-binfmt-conf.sh
+++ b/scripts/qemu-binfmt-conf.sh
@@ -315,7 +315,7 @@ BINFMT_SET=qemu_register_interpreter
@@ -319,7 +319,7 @@ BINFMT_SET=qemu_register_interpreter
SYSTEMDDIR="/etc/binfmt.d"
DEBIANDIR="/usr/share/binfmts"

View File

@ -1,23 +1,27 @@
From 6d0df1babae523ed024402f716b433a2628473d4 Mon Sep 17 00:00:00 2001
From 540d7a5df50656e9ec56cc78c909c36382814e54 Mon Sep 17 00:00:00 2001
From: Ulrich Hecht <uli@suse.de>
Date: Tue, 14 Apr 2009 16:25:41 +0200
Subject: [PATCH] qemu-cvs-gettimeofday
No clue what this is for.
[BR: minor edits to pass qemu's checkpatch script]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
linux-user/syscall.c | 2 ++
1 file changed, 2 insertions(+)
linux-user/syscall.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index dfc851cc35..fec6d16aa6 100644
index 280137da8c..0f6ce7231a 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -9292,6 +9292,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
@@ -8116,6 +8116,9 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
case TARGET_NR_gettimeofday:
{
struct timeval tv;
+ if(copy_from_user_timeval(&tv, arg1))
+ goto efault;
+ if (copy_from_user_timeval(&tv, arg1)) {
+ return -TARGET_EFAULT;
+ }
ret = get_errno(gettimeofday(&tv, NULL));
if (!is_error(ret)) {
if (copy_to_user_timeval(arg1, &tv))

View File

@ -1,4 +1,4 @@
From 252fd8536222a6f851aae919665959a1fe2783fd Mon Sep 17 00:00:00 2001
From 4b8064e9cf51af12d6c57a56fc795774eaf84ade 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
@ -7,24 +7,33 @@ Extends unsupported ioctl debug output.
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Ulrich Hecht <uli@suse.de>
[BR: minor edits to pass qemu's checkpatch script]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
linux-user/syscall.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
linux-user/syscall.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index fec6d16aa6..0c4ba18b2f 100644
index 0f6ce7231a..331177716b 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5770,7 +5770,12 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
@@ -4773,7 +4773,19 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
ie = ioctl_entries;
for(;;) {
if (ie->target_cmd == 0) {
- gemu_log("Unsupported ioctl: cmd=0x%04lx\n", (long)cmd);
+ int i;
+ gemu_log("Unsupported ioctl: cmd=0x%04lx (%x)\n", (unsigned long)cmd, (unsigned int)(cmd & (TARGET_IOC_SIZEMASK << TARGET_IOC_SIZESHIFT)) >> TARGET_IOC_SIZESHIFT);
+ gemu_log("Unsupported ioctl: cmd=0x%04lx (%x)\n", (unsigned long)cmd,
+ (unsigned int)(cmd & (TARGET_IOC_SIZEMASK << TARGET_IOC_SIZESHIFT))
+ >> TARGET_IOC_SIZESHIFT);
+ for (i = 0; ioctl_entries[i].target_cmd; i++) {
+ if ((ioctl_entries[i].target_cmd & ~(TARGET_IOC_SIZEMASK << TARGET_IOC_SIZESHIFT)) == (cmd & ~(TARGET_IOC_SIZEMASK << TARGET_IOC_SIZESHIFT)))
+ gemu_log("%p\t->\t%s (%x)\n", (void *)(unsigned long)ioctl_entries[i].host_cmd, ioctl_entries[i].name, (ioctl_entries[i].target_cmd & (TARGET_IOC_SIZEMASK << TARGET_IOC_SIZESHIFT)) >> TARGET_IOC_SIZESHIFT);
+ if ((ioctl_entries[i].target_cmd & ~(TARGET_IOC_SIZEMASK
+ << TARGET_IOC_SIZESHIFT)) == (cmd & ~(TARGET_IOC_SIZEMASK <<
+ TARGET_IOC_SIZESHIFT)))
+ gemu_log("%p\t->\t%s (%x)\n", (void *)(unsigned long)
+ ioctl_entries[i].host_cmd, ioctl_entries[i].name,
+ (ioctl_entries[i].target_cmd & (TARGET_IOC_SIZEMASK
+ << TARGET_IOC_SIZESHIFT)) >> TARGET_IOC_SIZESHIFT);
+ }
return -TARGET_ENOSYS;
}

View File

@ -1,4 +1,4 @@
From a82a766a9e2802352c5a0f4e66ddb3be84e32afc Mon Sep 17 00:00:00 2001
From ae20a979f7196eca1934f963b52a657374f1ac10 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
@ -10,15 +10,17 @@ IOC_RW.
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Ulrich Hecht <uli@suse.de>
[BR: minor edits to pass qemu's checkpatch script]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
linux-user/syscall.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 0c4ba18b2f..76c1cbe36e 100644
index 331177716b..f3cdecce7e 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5807,6 +5807,11 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
@@ -4814,6 +4814,11 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
arg_type++;
target_size = thunk_type_size(arg_type, 0);
switch(ie->access) {
@ -30,7 +32,7 @@ index 0c4ba18b2f..76c1cbe36e 100644
case IOC_R:
ret = get_errno(safe_ioctl(fd, ie->host_cmd, buf_temp));
if (!is_error(ret)) {
@@ -5825,6 +5830,7 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
@@ -4832,6 +4837,7 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
unlock_user(argptr, arg, 0);
ret = get_errno(safe_ioctl(fd, ie->host_cmd, buf_temp));
break;

View File

@ -1,4 +1,4 @@
From 8d952c63e49ef3f04a79d3e2bc58a5c555bae585 Mon Sep 17 00:00:00 2001
From 677597f3df31a00bfdfc515744a5acf20a20d204 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
@ -82,7 +82,7 @@ index 4d56298bbf..c85327169f 100644
$(call quiet-command,rm -f $@ && $(SHELL) $(SRC_PATH)/scripts/feature_to_c.sh $@ $(TARGET_XML_FILES),"GEN","$(TARGET_DIR)$@")
diff --git a/linux-user/Makefile.objs b/linux-user/Makefile.objs
index b5dfb71f25..cfd71c2648 100644
index 769b8d8336..d48837313d 100644
--- a/linux-user/Makefile.objs
+++ b/linux-user/Makefile.objs
@@ -7,3 +7,5 @@ obj-$(TARGET_HAS_BFLT) += flatload.o

View File

@ -1,4 +1,4 @@
From a98cb00cf67a473e816ecde4058f9f4c01cd6d57 Mon Sep 17 00:00:00 2001
From 698f8163ca702dd9b7c5e456907178579b7bf4a0 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
@ -8,15 +8,17 @@ check for MMU notifiers that on 970 can not be implemented properly.
So disable the check for mmu notifiers on PowerPC guests, making
KVM guests work there, even if possibly racy in some odd circumstances.
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
exec.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/exec.c b/exec.c
index 4f5df07b6a..71520a9c89 100644
index bb6170dbff..6ca259efaa 100644
--- a/exec.c
+++ b/exec.c
@@ -2270,11 +2270,13 @@ RAMBlock *qemu_ram_alloc_from_fd(ram_addr_t size, MemoryRegion *mr,
@@ -2248,11 +2248,13 @@ RAMBlock *qemu_ram_alloc_from_fd(ram_addr_t size, MemoryRegion *mr,
return NULL;
}

View File

@ -1,4 +1,4 @@
From 40b72c9a181955522632a03e6b166a16ae1c9960 Mon Sep 17 00:00:00 2001
From 73f6e4c049e433b4f492916e7366aedd3a970edb 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 7511bbd3bc2037599632fd8ff288fb3d32668977 Mon Sep 17 00:00:00 2001
From 650ba31a809fe4d89bf3a0625c07729bbf5af035 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 76c1cbe36e..1b55bd11c5 100644
index f3cdecce7e..df07e84eba 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -7702,6 +7702,25 @@ static int open_self_stat(void *cpu_env, int fd)
@@ -6658,6 +6658,25 @@ static int open_self_stat(void *cpu_env, int fd)
return 0;
}
@ -51,7 +51,7 @@ index 76c1cbe36e..1b55bd11c5 100644
static int open_self_auxv(void *cpu_env, int fd)
{
CPUState *cpu = ENV_GET_CPU((CPUArchState *)cpu_env);
@@ -7816,6 +7835,7 @@ static int do_openat(void *cpu_env, int dirfd, const char *pathname, int flags,
@@ -6772,6 +6791,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 e13afd152f77bb443153a04bc9a1a3ef798859c1 Mon Sep 17 00:00:00 2001
From 1e6c62c45c22da52f13ab2c1aefd0544c0307549 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Wed, 20 Dec 2017 15:43:07 -0800
Subject: [PATCH] Remove problematic 'evdev 86' key from en-us keymap

View File

@ -1,4 +1,4 @@
From 4aecd955fdf4122a71f9b638650e0eec24ac725b Mon Sep 17 00:00:00 2001
From a4464c46f03789eae3abf93281f1addcbdb53da0 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
@ -13,14 +13,14 @@ Pass syscall arguments as ulong always.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/qemu.h | 8 ++++----
linux-user/syscall.c | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
linux-user/syscall.c | 18 +++++++++---------
2 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
index b4959e41c6..51ea01f2ef 100644
index dd5771ce0c..7e5a0fd026 100644
--- a/linux-user/qemu.h
+++ b/linux-user/qemu.h
@@ -202,10 +202,10 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src,
@@ -206,10 +206,10 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src,
void target_set_brk(abi_ulong new_brk);
abi_long do_brk(abi_ulong new_brk);
void syscall_init(void);
@ -36,13 +36,37 @@ index b4959e41c6..51ea01f2ef 100644
extern __thread CPUState *thread_cpu;
void cpu_loop(CPUArchState *env);
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 1b55bd11c5..c2f2cb10b9 100644
index df07e84eba..6ef3d3b5a8 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -8020,10 +8020,10 @@ static int host_to_target_cpu_mask(const unsigned long *host_mask,
/* 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>. */
@@ -6929,10 +6929,10 @@ static int host_to_target_cpu_mask(const unsigned long *host_mask,
* of syscall results, can be performed.
* All errnos that do_syscall() returns must be -TARGET_<errcode>.
*/
-static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
- abi_long arg2, abi_long arg3, abi_long arg4,
- abi_long arg5, abi_long arg6, abi_long arg7,
- abi_long arg8)
+static abi_long do_syscall1(void *cpu_env, int num, abi_ulong arg1,
+ abi_ulong arg2, abi_ulong arg3, abi_ulong arg4,
+ abi_ulong arg5, abi_ulong arg6, abi_ulong arg7,
+ abi_ulong arg8)
{
CPUState *cpu = ENV_GET_CPU(cpu_env);
abi_long ret;
@@ -9668,7 +9668,7 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
*/
ret = -TARGET_EINVAL;
if (cpu_isar_feature(aa64_sve, arm_env_get_cpu(cpu_env))
- && arg2 >= 0 && arg2 <= 512 * 16 && !(arg2 & 15)) {
+ && arg2 <= 512 * 16 && !(arg2 & 15)) {
CPUARMState *env = cpu_env;
ARMCPU *cpu = arm_env_get_cpu(env);
uint32_t vq, old_vq;
@@ -11521,10 +11521,10 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
return ret;
}
-abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
- abi_long arg2, abi_long arg3, abi_long arg4,
- abi_long arg5, abi_long arg6, abi_long arg7,

View File

@ -1,4 +1,4 @@
From b45f8e8056de05f0f116066038b1b207bb8d01ff Mon Sep 17 00:00:00 2001
From 35506374079e31a526a7206813ef8f89aecaa04c Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Thu, 1 Apr 2010 17:36:23 +0200
Subject: [PATCH] Make char muxer more robust wrt small FIFOs
@ -19,6 +19,8 @@ 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.
[AF: Rebased for v2.7.0-rc2]
[BR: minor edits to pass qemu's checkpatch script]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
chardev/char-fe.c | 1 +
chardev/char-mux.c | 14 ++++++++++++++
@ -28,26 +30,26 @@ This patch fixes input when using -nographic on s390 for me.
5 files changed, 20 insertions(+)
diff --git a/chardev/char-fe.c b/chardev/char-fe.c
index b1f228e8b5..f6e923bd7d 100644
index a8931f7afd..f2455ed619 100644
--- a/chardev/char-fe.c
+++ b/chardev/char-fe.c
@@ -21,6 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#define HW_POISON_H // avoid poison since we patch against rules it "enforces"
+#define HW_POISON_H /* avoid poison since we patch against rules it "enforces" */
#include "qemu/osdep.h"
#include "qemu/error-report.h"
#include "qapi/error.h"
diff --git a/chardev/char-mux.c b/chardev/char-mux.c
index 6055e76293..1afcc09829 100644
index 6055e76293..ef25fecb0c 100644
--- a/chardev/char-mux.c
+++ b/chardev/char-mux.c
@@ -22,6 +22,7 @@
* THE SOFTWARE.
*/
+#define HW_POISON_H // avoid poison since we patch against rules it "enforces"
+#define HW_POISON_H /* avoid poison since we patch against rules it "enforces" */
#include "qemu/osdep.h"
#include "qapi/error.h"
#include "qemu/option.h"
@ -73,20 +75,20 @@ index 6055e76293..1afcc09829 100644
d->focus = -1;
+#if defined(TARGET_S390X)
+ d->accept_timer = qemu_new_timer_ns(vm_clock,
+ (QEMUTimerCB*)mux_chr_accept_input, chr);
+ (QEMUTimerCB *)mux_chr_accept_input, chr);
+#endif
/* only default to opened state if we've realized the initial
* set of muxes
*/
diff --git a/chardev/char.c b/chardev/char.c
index 76d866e6fe..021744f7e9 100644
index 152dde5327..4726d7b304 100644
--- a/chardev/char.c
+++ b/chardev/char.c
@@ -22,6 +22,7 @@
* THE SOFTWARE.
*/
+#define HW_POISON_H // avoid poison since we patch against rules it "enforces"
+#define HW_POISON_H /* avoid poison since we patch against rules it "enforces" */
#include "qemu/osdep.h"
#include "qemu/cutils.h"
#include "monitor/monitor.h"
@ -105,11 +107,11 @@ index 1e13187767..3a000a9e9f 100644
int mux_cnt;
int term_got_escape;
diff --git a/tests/test-char.c b/tests/test-char.c
index 5905d31441..15361748c7 100644
index 19c3efad72..ea061dde50 100644
--- a/tests/test-char.c
+++ b/tests/test-char.c
@@ -1,3 +1,4 @@
+#define HW_POISON_H // avoid poison since we patch against rules it "enforces"
+#define HW_POISON_H /* avoid poison since we patch against rules it "enforces" */
#include "qemu/osdep.h"
#include <glib/gstdio.h>

View File

@ -1,4 +1,4 @@
From 8c551cc70f35d5aee57fc4da9e58c81d8fec26b5 Mon Sep 17 00:00:00 2001
From 02ce2ef5ff260d7ef395aa31dabd757776a6b67f 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,23 +16,22 @@ 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 c2f2cb10b9..b743694853 100644
index 6ef3d3b5a8..e251ef4655 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -8396,9 +8396,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1,
case TARGET_NR_oldstat:
goto unimplemented;
@@ -7283,8 +7283,13 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_ulong arg1,
return ret;
#endif
#ifdef TARGET_NR_lseek
- case TARGET_NR_lseek:
- ret = get_errno(lseek(arg1, arg2, arg3));
- return get_errno(lseek(arg1, arg2, arg3));
+ case TARGET_NR_lseek: {
+ off_t off = arg2;
+ if (arg3 != SEEK_SET) {
+ off = (abi_long)arg2;
+ }
+ ret = get_errno(lseek(arg1, off, arg3));
break;
+ return get_errno(lseek(arg1, off, arg3));
+ }
#endif
#if defined(TARGET_NR_getxpid) && defined(TARGET_ALPHA)
/* Alpha specific */
case TARGET_NR_getxpid:

View File

@ -1,4 +1,4 @@
From c82a9a0340bc03bc4aa4fe1cf2d667617371f558 Mon Sep 17 00:00:00 2001
From a2de9e871de89fe1b188dfdb13cc6701eb302b00 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 6ed042659b642186b1717038dbd93cd92da0030f Mon Sep 17 00:00:00 2001
From 59d91f48a4a839456fcff66ba375f5c01dd6c42c Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Wed, 9 Mar 2016 15:18:11 -0700
Subject: [PATCH] xen_disk: Add suse specific flush disable handling and map to
@ -10,14 +10,15 @@ of xenstore, and set the equivalent flag within QEMU.
Patch taken from Xen's patch queue, Olaf Hering being the original author.
[bsc#879425]
[BR: minor edits to pass qemu's checkpatch script]
Signed-off-by: Bruce Rogers <brogers@suse.com>
Signed-off-by: Olaf Hering <olaf@aepfle.de>
---
hw/block/xen_disk.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
hw/block/xen_disk.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/hw/block/xen_disk.c b/hw/block/xen_disk.c
index 36eff94f84..2b56c5e868 100644
index 36eff94f84..ddd5c7cbfd 100644
--- a/hw/block/xen_disk.c
+++ b/hw/block/xen_disk.c
@@ -90,6 +90,8 @@ struct XenBlkDev {
@ -29,7 +30,7 @@ index 36eff94f84..2b56c5e868 100644
gboolean feature_discard;
/* qemu block driver */
@@ -642,6 +644,16 @@ static void blk_parse_discard(struct XenBlkDev *blkdev)
@@ -642,6 +644,18 @@ static void blk_parse_discard(struct XenBlkDev *blkdev)
}
}
@ -39,14 +40,16 @@ index 36eff94f84..2b56c5e868 100644
+
+ blkdev->cache_unsafe = false;
+
+ if (xenstore_read_be_int(&blkdev->xendev, "suse-diskcache-disable-flush", &enable) == 0)
+ if (xenstore_read_be_int(&blkdev->xendev, "suse-diskcache-disable-flush",
+ &enable) == 0) {
+ blkdev->cache_unsafe = !!enable;
+ }
+}
+
static int blk_init(struct XenDevice *xendev)
{
struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev);
@@ -717,6 +729,7 @@ static int blk_init(struct XenDevice *xendev)
@@ -717,6 +731,7 @@ static int blk_init(struct XenDevice *xendev)
MAX_RING_PAGE_ORDER);
blk_parse_discard(blkdev);
@ -54,12 +57,13 @@ index 36eff94f84..2b56c5e868 100644
g_free(directiosafe);
return 0;
@@ -764,6 +777,9 @@ static int blk_connect(struct XenDevice *xendev)
@@ -764,6 +779,10 @@ static int blk_connect(struct XenDevice *xendev)
qflags |= BDRV_O_UNMAP;
}
+ if (blkdev->cache_unsafe)
+ if (blkdev->cache_unsafe) {
+ qflags |= BDRV_O_NO_FLUSH;
+ }
+
/* init qemu block driver */
index = (xendev->dev - 202 * 256) / 16;

View File

@ -1,4 +1,4 @@
From 960e9697aba84c52bb0a16512300d2a4ee4119c5 Mon Sep 17 00:00:00 2001
From 12e80a565b210d70bc2a230e808ed6102ec3b123 Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Tue, 2 Aug 2016 11:36:02 -0600
Subject: [PATCH] qemu-bridge-helper: reduce security profile

View File

@ -1,4 +1,4 @@
From 1247ffeb8bfce7ec3e048fbe8b2864933b1cdb15 Mon Sep 17 00:00:00 2001
From 8d32cd58427d7207c1ab44b666a7faf09e270c1b Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Fri, 12 Aug 2016 18:20:49 +0200
Subject: [PATCH] qemu-binfmt-conf: use qemu-ARCH-binfmt
@ -13,10 +13,10 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
index e6a120e842..3f031ca681 100755
index 4f1358e2fd..13add7775e 100755
--- a/scripts/qemu-binfmt-conf.sh
+++ b/scripts/qemu-binfmt-conf.sh
@@ -258,7 +258,7 @@ qemu_generate_register() {
@@ -262,7 +262,7 @@ qemu_generate_register() {
flags="${flags}F"
fi
@ -25,7 +25,7 @@ index e6a120e842..3f031ca681 100755
}
qemu_register_interpreter() {
@@ -297,9 +297,9 @@ qemu_set_binfmts() {
@@ -301,9 +301,9 @@ qemu_set_binfmts() {
continue
fi

View File

@ -1,4 +1,4 @@
From 94c36b397d6948d3fd704874acb923b504098214 Mon Sep 17 00:00:00 2001
From 28321798381384bff19f886b167e25dc15e9fcdf Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@linux-m68k.org>
Date: Thu, 8 Sep 2016 11:21:05 +0200
Subject: [PATCH] linux-user: properly test for infinite timeout in poll (#8)
@ -16,10 +16,10 @@ Signed-off-by: Andreas Schwab <schwab@suse.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index b743694853..bdf7571bd3 100644
index e251ef4655..d978c67d6b 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -10580,7 +10580,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1,
@@ -9301,7 +9301,7 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_ulong arg1,
{
struct timespec ts, *pts;

View File

@ -1,4 +1,4 @@
From d952859543912a233b133a0b614b4b871ca98535 Mon Sep 17 00:00:00 2001
From 2df2bfd0ca9aabad27114bb778863cfeb76ca111 Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Sat, 19 Nov 2016 08:06:30 -0700
Subject: [PATCH] roms/Makefile: pass a packaging timestamp to subpackages with
@ -20,10 +20,10 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/roms/Makefile b/roms/Makefile
index f1ac85ae9b..6d590147e4 100644
index f4141e1d96..3b3d9b7a67 100644
--- a/roms/Makefile
+++ b/roms/Makefile
@@ -52,6 +52,12 @@ SEABIOS_EXTRAVERSION="-prebuilt.qemu-project.org"
@@ -52,6 +52,12 @@ SEABIOS_EXTRAVERSION="-prebuilt.qemu.org"
#
EFIROM ?= $(shell which EfiRom 2>/dev/null)

View File

@ -1,4 +1,4 @@
From a6216a05efcd1354fcbfbdecf89c75651d9a8447 Mon Sep 17 00:00:00 2001
From 544752d713e0a6a8a00cae1cbd902d95944d68a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Sun, 15 Jan 2012 19:53:49 +0100
Subject: [PATCH] Raise soft address space limit to hard limit
@ -17,7 +17,7 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
1 file changed, 12 insertions(+)
diff --git a/vl.c b/vl.c
index 16b913f9d5..3af5bcdc9e 100644
index a5ae5f23d2..3882df6ebe 100644
--- a/vl.c
+++ b/vl.c
@@ -29,6 +29,7 @@
@ -28,7 +28,7 @@ index 16b913f9d5..3af5bcdc9e 100644
#include "sysemu/seccomp.h"
#ifdef CONFIG_SDL
@@ -2949,6 +2950,7 @@ int main(int argc, char **argv, char **envp)
@@ -3014,6 +3015,7 @@ int main(int argc, char **argv, char **envp)
} BlockdevOptions_queue;
QSIMPLEQ_HEAD(, BlockdevOptions_queue) bdo_queue
= QSIMPLEQ_HEAD_INITIALIZER(bdo_queue);
@ -36,7 +36,7 @@ index 16b913f9d5..3af5bcdc9e 100644
module_call_init(MODULE_INIT_TRACE);
@@ -2957,6 +2959,16 @@ int main(int argc, char **argv, char **envp)
@@ -3022,6 +3024,16 @@ int main(int argc, char **argv, char **envp)
qemu_mutex_lock_iothread();

View File

@ -1,4 +1,4 @@
From 3efe84f92126685bd9c82a9b0ee3c3f2e00515f7 Mon Sep 17 00:00:00 2001
From da91336daba1034e76118bb089beb312124f0e90 Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Fri, 17 May 2013 16:49:58 -0600
Subject: [PATCH] increase x86_64 physical bits to 42
@ -19,10 +19,10 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
index c18863ec7a..7e1a04fb6c 100644
index 9c52d0cbeb..48a6186e2f 100644
--- a/target/i386/cpu.h
+++ b/target/i386/cpu.h
@@ -1675,7 +1675,7 @@ uint64_t cpu_get_tsc(CPUX86State *env);
@@ -1699,7 +1699,7 @@ uint64_t cpu_get_tsc(CPUX86State *env);
/* XXX: This value should match the one returned by CPUID
* and in exec.c */
# if defined(TARGET_X86_64)

View File

@ -1,4 +1,4 @@
From edd9909ef3e115102f142f23aaa298d6928a97b9 Mon Sep 17 00:00:00 2001
From 3643b477312298e50ad42cc9ee4b0e047521c1cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Wed, 12 Jun 2013 19:26:37 +0200
Subject: [PATCH] vga: Raise VRAM to 16 MiB for pc-0.15 and below
@ -25,10 +25,10 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index dc09466b3e..7c6a9bdaa3 100644
index 7092d6d13f..253952d3a3 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -809,7 +809,32 @@ DEFINE_I440FX_MACHINE(v1_0, "pc-1.0", pc_compat_1_2,
@@ -818,7 +818,32 @@ DEFINE_I440FX_MACHINE(v1_0, "pc-1.0", pc_compat_1_2,
#define PC_COMPAT_0_15 \

View File

@ -1,4 +1,4 @@
From 83a2c6af42a497053dcf1614879896f4609eaa55 Mon Sep 17 00:00:00 2001
From 52eec29e3edc64659edd2911aae28d82a8893528 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Wed, 31 Jul 2013 17:05:29 +0200
Subject: [PATCH] i8254: Fix migration from SLE11 SP2

View File

@ -1,4 +1,4 @@
From ff50be5b0f523ba1e5137e1d1eacd509b92d4079 Mon Sep 17 00:00:00 2001
From 292bd3fb22d5487b3deecd660d2ab8d0d24d0c82 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Wed, 31 Jul 2013 17:32:35 +0200
Subject: [PATCH] acpi_piix4: Fix migration from SLE11 SP2
@ -17,7 +17,7 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c
index 6404af5f33..4e74f91f77 100644
index e330f24c71..b0bd10b3f9 100644
--- a/hw/acpi/piix4.c
+++ b/hw/acpi/piix4.c
@@ -310,7 +310,7 @@ static const VMStateDescription vmstate_cpuhp_state = {

View File

@ -1,4 +1,4 @@
From 613a8ec4414bbc66f4997f0ebf0679d1c5d49544 Mon Sep 17 00:00:00 2001
From 8616cd9931328170f8a4a3ecae6dda9d180601b8 Mon Sep 17 00:00:00 2001
From: Chunyan Liu <cyliu@suse.com>
Date: Thu, 3 Mar 2016 16:48:17 +0800
Subject: [PATCH] Fix tigervnc long press issue
@ -24,10 +24,10 @@ Signed-off-by: Chunyan Liu <cyliu@suse.com>
1 file changed, 19 insertions(+)
diff --git a/ui/vnc.c b/ui/vnc.c
index 359693238b..3dd8528a5e 100644
index 0c1b477425..1c98bb91c7 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -1825,6 +1825,25 @@ static void do_key_event(VncState *vs, int down, int keycode, int sym)
@@ -1824,6 +1824,25 @@ static void do_key_event(VncState *vs, int down, int keycode, int sym)
if (down)
vs->modifiers_state[keycode] ^= 1;
break;

View File

@ -1,4 +1,4 @@
From ad93dd9db343779846b46338433db321a2dfc9b5 Mon Sep 17 00:00:00 2001
From 259d16f0a869f9d2371036a20fb5ff19980e61b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Thu, 24 Sep 2015 19:21:11 +0200
Subject: [PATCH] string-input-visitor: Fix uint64 parsing
@ -17,15 +17,27 @@ prefer the use of qemu_strto[u]ll() over strto[u]ll().
Cc: qemu-stable@nongnu.org
Signed-off-by: Andreas Färber <afaerber@suse.de>
[BR: define qemu_strtoll and qemu_strtoull and use to avoid checkpatch
error. Grr}
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
qapi/string-input-visitor.c | 63 +++++++++++++++++++++++++++++--------
1 file changed, 50 insertions(+), 13 deletions(-)
qapi/string-input-visitor.c | 65 +++++++++++++++++++++++++++++--------
1 file changed, 52 insertions(+), 13 deletions(-)
diff --git a/qapi/string-input-visitor.c b/qapi/string-input-visitor.c
index b3fdd0827d..d64ad081b7 100644
index b3fdd0827d..ac118d03c8 100644
--- a/qapi/string-input-visitor.c
+++ b/qapi/string-input-visitor.c
@@ -44,7 +44,8 @@ static void free_range(void *range, void *dummy)
@@ -21,6 +21,8 @@
#include "qemu/queue.h"
#include "qemu/range.h"
+#define qemu_strtoll strtoll
+#define qemu_strtoull strtoull
struct StringInputVisitor
{
@@ -44,7 +46,8 @@ static void free_range(void *range, void *dummy)
g_free(range);
}
@ -35,33 +47,33 @@ index b3fdd0827d..d64ad081b7 100644
{
char *str = (char *) siv->string;
long long start, end;
@@ -61,7 +62,11 @@ static int parse_str(StringInputVisitor *siv, const char *name, Error **errp)
@@ -61,7 +64,11 @@ static int parse_str(StringInputVisitor *siv, const char *name, Error **errp)
do {
errno = 0;
- start = strtoll(str, &endptr, 0);
+ if (u64) {
+ start = strtoull(str, &endptr, 0);
+ start = qemu_strtoull(str, &endptr, 0);
+ } else {
+ start = strtoll(str, &endptr, 0);
+ start = qemu_strtoll(str, &endptr, 0);
+ }
if (errno == 0 && endptr > str) {
if (*endptr == '\0') {
cur = g_malloc0(sizeof(*cur));
@@ -72,7 +77,11 @@ static int parse_str(StringInputVisitor *siv, const char *name, Error **errp)
@@ -72,7 +79,11 @@ static int parse_str(StringInputVisitor *siv, const char *name, Error **errp)
} else if (*endptr == '-') {
str = endptr + 1;
errno = 0;
- end = strtoll(str, &endptr, 0);
+ if (u64) {
+ end = strtoull(str, &endptr, 0);
+ end = qemu_strtoull(str, &endptr, 0);
+ } else {
+ end = strtoll(str, &endptr, 0);
+ end = qemu_strtoll(str, &endptr, 0);
+ }
if (errno == 0 && endptr > str && start <= end &&
(start > INT64_MAX - 65536 ||
end < start + 65536)) {
@@ -128,7 +137,7 @@ start_list(Visitor *v, const char *name, GenericList **list, size_t size,
@@ -128,7 +139,7 @@ start_list(Visitor *v, const char *name, GenericList **list, size_t size,
assert(list);
siv->list = list;
@ -70,7 +82,7 @@ index b3fdd0827d..d64ad081b7 100644
*list = NULL;
return;
}
@@ -216,7 +225,7 @@ static void parse_type_int64(Visitor *v, const char *name, int64_t *obj,
@@ -216,7 +227,7 @@ static void parse_type_int64(Visitor *v, const char *name, int64_t *obj,
{
StringInputVisitor *siv = to_siv(v);
@ -79,7 +91,7 @@ index b3fdd0827d..d64ad081b7 100644
return;
}
@@ -252,15 +261,43 @@ error:
@@ -252,15 +263,43 @@ error:
static void parse_type_uint64(Visitor *v, const char *name, uint64_t *obj,
Error **errp)
{

View File

@ -1,4 +1,4 @@
From bc42c484c1d4fdc9efcda8d0a0162357eee8a68b Mon Sep 17 00:00:00 2001
From 1729f9280988abd42f94d5f9a4bae20febac90cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Thu, 24 Sep 2015 19:23:50 +0200
Subject: [PATCH] test-string-input-visitor: Add int test case

View File

@ -1,4 +1,4 @@
From ec5cf6d449fa658c58de6331a6226b917ad468cb Mon Sep 17 00:00:00 2001
From 327e8a8a3e53dd39c6966dac5428e440ec376514 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Thu, 24 Sep 2015 19:24:23 +0200
Subject: [PATCH] test-string-input-visitor: Add uint64 test

View File

@ -1,4 +1,4 @@
From d6d65620fcb384c26f5f60ca65c1706c2d064a2a Mon Sep 17 00:00:00 2001
From 310ea98c034bd4c957375b3ebb02b6d43e8d8c09 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Sun, 6 Sep 2015 20:12:42 +0200
Subject: [PATCH] tests: Add QOM property unit tests
@ -11,36 +11,35 @@ Add a test for parsing and setting a uint64 property.
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
MAINTAINERS | 1 +
tests/Makefile.include | 3 +
tests/Makefile.include | 2 +
tests/check-qom-props.c | 122 ++++++++++++++++++++++++++++++++++++++++
3 files changed, 126 insertions(+)
3 files changed, 125 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 666e936812..0c212e09c1 100644
index 63effdc473..d8521ade0d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1685,6 +1685,7 @@ F: qom/
@@ -1889,6 +1889,7 @@ F: qom/
X: qom/cpu.c
F: tests/check-qom-interface.c
F: tests/check-qom-proplist.c
+F: tests/check-qom-props.c
F: tests/qom-test.c
QMP
M: Markus Armbruster <armbru@redhat.com>
diff --git a/tests/Makefile.include b/tests/Makefile.include
index a49282704e..51e4011191 100644
index fb0b449c02..f7e6b841cb 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -129,6 +129,8 @@ check-unit-y += tests/check-qom-interface$(EXESUF)
gcov-files-check-qom-interface-y = qom/object.c
@@ -94,6 +94,7 @@ check-unit-y += tests/test-bitcnt$(EXESUF)
check-unit-y += tests/test-qdev-global-props$(EXESUF)
check-unit-y += tests/check-qom-interface$(EXESUF)
check-unit-y += tests/check-qom-proplist$(EXESUF)
gcov-files-check-qom-proplist-y = qom/object.c
+check-unit-y += tests/check-qom-props$(EXESUF)
+gcov-files-check-qom-props-y = qom/object.c
check-unit-y += tests/test-qemu-opts$(EXESUF)
gcov-files-test-qemu-opts-y = util/qemu-option.c
check-unit-y += tests/test-keyval$(EXESUF)
@@ -629,6 +631,7 @@ tests/check-qjson$(EXESUF): tests/check-qjson.o $(test-util-obj-y)
check-unit-y += tests/test-write-threshold$(EXESUF)
@@ -528,6 +529,7 @@ tests/check-qjson$(EXESUF): tests/check-qjson.o $(test-util-obj-y)
tests/check-qlit$(EXESUF): tests/check-qlit.o $(test-util-obj-y)
tests/check-qom-interface$(EXESUF): tests/check-qom-interface.o $(test-qom-obj-y)
tests/check-qom-proplist$(EXESUF): tests/check-qom-proplist.o $(test-qom-obj-y)

View File

@ -1,4 +1,4 @@
From 874f90da7dcc12f828778dee408b776bdfb2f029 Mon Sep 17 00:00:00 2001
From 3c695b87e039baa1539d8855aeda4ee072bc6a42 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Fri, 25 Sep 2015 12:31:11 +0200
Subject: [PATCH] tests: Add scsi-disk test
@ -14,36 +14,35 @@ Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
MAINTAINERS | 1 +
tests/Makefile.include | 3 ++
tests/Makefile.include | 2 +
tests/scsi-disk-test.c | 83 ++++++++++++++++++++++++++++++++++++++++++
3 files changed, 87 insertions(+)
3 files changed, 86 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 0c212e09c1..34cd91c0da 100644
index d8521ade0d..d1e90f6f64 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1125,6 +1125,7 @@ R: Fam Zheng <famz@redhat.com>
@@ -1286,6 +1286,7 @@ R: Fam Zheng <famz@redhat.com>
S: Supported
F: include/hw/scsi/*
F: hw/scsi/*
+F: tests/scsi-disk-test.c
F: tests/virtio-scsi-test.c
T: git git://github.com/bonzini/qemu.git scsi-next
T: git https://github.com/bonzini/qemu.git scsi-next
diff --git a/tests/Makefile.include b/tests/Makefile.include
index 51e4011191..d6f0290685 100644
index f7e6b841cb..d6f67eed85 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -203,6 +203,8 @@ check-qtest-virtio-y += tests/virtio-rng-test$(EXESUF)
gcov-files-virtio-y += hw/virtio/virtio-rng.c
@@ -151,6 +151,7 @@ check-qtest-virtio-y += tests/virtio-balloon-test$(EXESUF)
check-qtest-virtio-y += tests/virtio-blk-test$(EXESUF)
check-qtest-virtio-y += tests/virtio-rng-test$(EXESUF)
check-qtest-virtio-y += tests/virtio-scsi-test$(EXESUF)
gcov-files-virtio-y += i386-softmmu/hw/scsi/virtio-scsi.c
+check-qtest-virtio-y += tests/scsi-disk-test$(EXESUF)
+gcov-files-virtio-y += i386-softmmu/hw/scsi/scsi-disk.c
ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS)$(CONFIG_PCI),yyy)
check-qtest-virtio-y += tests/virtio-9p-test$(EXESUF)
gcov-files-virtio-y += hw/9pfs/virtio-9p.c
@@ -840,6 +842,7 @@ tests/migration-test$(EXESUF): tests/migration-test.o
endif
@@ -748,6 +749,7 @@ tests/migration-test$(EXESUF): tests/migration-test.o
tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o $(test-util-obj-y) \
$(qtest-obj-y) $(test-io-obj-y) $(libqos-virtio-obj-y) $(libqos-pc-obj-y) \
$(chardev-obj-y)

View File

@ -1,4 +1,4 @@
From f813f4f807bb16471bef7a9144335089fb5e80cf Mon Sep 17 00:00:00 2001
From bd18c7118a50c88b572a0df2f7cc24562ea20767 Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Fri, 3 Nov 2017 11:12:40 -0600
Subject: [PATCH] Switch order of libraries for mpath support
@ -10,10 +10,10 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 2da686be33..8ad4ef03aa 100644
index f2947186a4..ea30cd3fb6 100644
--- a/Makefile
+++ b/Makefile
@@ -547,7 +547,7 @@ fsdev/virtfs-proxy-helper$(EXESUF): LIBS += -lcap
@@ -551,7 +551,7 @@ fsdev/virtfs-proxy-helper$(EXESUF): LIBS += -lcap
scsi/qemu-pr-helper$(EXESUF): scsi/qemu-pr-helper.o scsi/utils.o $(crypto-obj-y) $(io-obj-y) $(qom-obj-y) $(COMMON_LDADDS)
ifdef CONFIG_MPATH
@ -23,15 +23,15 @@ index 2da686be33..8ad4ef03aa 100644
qemu-img-cmds.h: $(SRC_PATH)/qemu-img-cmds.hx $(SRC_PATH)/scripts/hxtool
diff --git a/configure b/configure
index 2a7796ea80..039923ab4e 100755
index 0a3c6a72c3..84cd35c1b9 100755
--- a/configure
+++ b/configure
@@ -3577,7 +3577,7 @@ int main(void) {
@@ -3594,7 +3594,7 @@ int main(void) {
return 0;
}
EOF
- if compile_prog "" "-ludev -lmultipath -lmpathpersist" ; then
+ if compile_prog "" "-ludev -lmpathpersist -lmultipath" ; then
mpathpersist=yes
mpathpersist_new_api=yes
else
mpathpersist=no

View File

@ -1,4 +1,4 @@
From 6d5e50164b7b72337af2ab9332e75c9bb0cc8b01 Mon Sep 17 00:00:00 2001
From fac5e1c088d083876e9a707e0f7e9d6d05d092c0 Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Thu, 25 Jan 2018 14:16:10 -0700
Subject: [PATCH] Make installed scripts explicitly python3

View File

@ -1,75 +0,0 @@
From 579a6f80e0ea312e9c113bd79be8bef36eabb090 Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Wed, 21 Feb 2018 14:00:52 -0700
Subject: [PATCH] migration: warn about inconsistent spec_ctrl state
As an attempt to help the user do the right thing, warn if we
detect spec_ctrl data in the migration stream, but where the
cpu defined doesn't have the feature. This would indicate the
migration is from the quick and dirty qemu produced in January
2018 to handle Spectre v2. That qemu version exposed the IBRS
cpu feature to all vcpu types, which helped in the short term
but wasn't a well designed approach.
Warn the user that the now migrated guest needs to be restarted
as soon as possible, using the spec_ctrl cpu feature flag or a
*-IBRS vcpu model specified as appropriate.
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
cpus.c | 12 ++++++++++++
include/qemu/thread.h | 1 +
migration/migration.c | 8 ++++++++
3 files changed, 21 insertions(+)
diff --git a/cpus.c b/cpus.c
index b5844b7103..2717f2e105 100644
--- a/cpus.c
+++ b/cpus.c
@@ -2367,6 +2367,18 @@ exit:
fclose(f);
}
+bool spec_ctrl_is_inconsistent(void)
+{
+#if defined(TARGET_I386)
+ X86CPU *x86_cpu = X86_CPU(current_cpu);
+ CPUX86State *env = x86_cpu != NULL ? &x86_cpu->env : NULL;
+ if (env && !(env->features[FEAT_7_0_EDX] & CPUID_7_0_EDX_SPEC_CTRL) &&
+ env->spec_ctrl)
+ return true;
+#endif
+ return false;
+}
+
void qmp_inject_nmi(Error **errp)
{
nmi_monitor_handle(monitor_get_cpu_index(), errp);
diff --git a/include/qemu/thread.h b/include/qemu/thread.h
index ef7bd16123..c4ecb386fe 100644
--- a/include/qemu/thread.h
+++ b/include/qemu/thread.h
@@ -240,4 +240,5 @@ void qemu_lockcnt_inc_and_unlock(QemuLockCnt *lockcnt);
*/
unsigned qemu_lockcnt_count(QemuLockCnt *lockcnt);
+bool spec_ctrl_is_inconsistent(void);
#endif
diff --git a/migration/migration.c b/migration/migration.c
index b7d9854bda..31b4d8bd28 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -2575,6 +2575,14 @@ static void migration_completion(MigrationState *s)
migrate_set_state(&s->state, current_active_state,
MIGRATION_STATUS_COMPLETED);
}
+ if (spec_ctrl_is_inconsistent()) {
+ fprintf(stderr, "WARNING! Migration from qemu with rudimentary "
+ "Spectre v2 support to newer qemu\ndetected! To "
+ "maintain proper protection, restart the guest as "
+ "soon as possible\nusing the spec_ctrl cpu feature "
+ "flag or a *-IBRS vcpu model specified\nas appropriate."
+ "\n");
+ }
return;

View File

@ -1,4 +1,4 @@
From a0170ac31193117fd280bd8bb2a72fb768459c57 Mon Sep 17 00:00:00 2001
From f6b18bb5a86c6bcff0589078e156c116fb3a95af Mon Sep 17 00:00:00 2001
From: Lin Ma <lma@suse.com>
Date: Wed, 14 Mar 2018 14:31:26 +0800
Subject: [PATCH] smbios: Add 1 terminator if any string fields defined in
@ -29,11 +29,11 @@ Signed-off-by: Lin Ma <lma@suse.com>
2 files changed, 134 insertions(+)
diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c
index a27e54b2fa..1dedd08780 100644
index 920939454e..52d1e10c3c 100644
--- a/hw/smbios/smbios.c
+++ b/hw/smbios/smbios.c
@@ -952,6 +952,9 @@ void smbios_entry_add(QemuOpts *opts, Error **errp)
{
@@ -953,6 +953,9 @@ void smbios_entry_add(QemuOpts *opts, Error **errp)
Error *err = NULL;
const char *val;
+ int i, terminator_count = 2, table_str_field_count = 0;
@ -42,7 +42,7 @@ index a27e54b2fa..1dedd08780 100644
assert(!smbios_immutable);
val = qemu_opt_get(opts, "file");
@@ -993,7 +996,94 @@ void smbios_entry_add(QemuOpts *opts, Error **errp)
@@ -999,7 +1002,94 @@ void smbios_entry_add(QemuOpts *opts, Error **errp)
smbios_type4_count++;
}

View File

@ -1,31 +1,23 @@
From cf1f31580527f27ea02bce3df8ff6fed88613d21 Mon Sep 17 00:00:00 2001
From 9684904be240ac18d63e9b1e8f3293d80a028abe Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Fri, 6 Apr 2018 13:33:31 -0600
Subject: [PATCH] qemu-io tests: comment out problematic block io tests issues
The following issue is seen:
130 - timeout resulting from failed to get shared "write" lock
The following issues are seen:
153 - error resulting from failed to get "write" lock
162 - sometimes we see different error code / message
229 - we get periodic failures on ARM and POWER, not sure why
235 - test explicitly requires KVM as part of the test
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
tests/qemu-iotests/group | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
tests/qemu-iotests/group | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group
index b973dc842d..f64d962a99 100644
index 61a6d98ebd..85b2bf75a8 100644
--- a/tests/qemu-iotests/group
+++ b/tests/qemu-iotests/group
@@ -136,7 +136,7 @@
127 rw auto backing quick
128 rw auto quick
129 rw auto quick
-130 rw auto quick
+#ISSUES 130 rw auto quick
131 rw auto quick
132 rw auto quick
133 auto quick
@@ -159,7 +159,7 @@
150 rw auto quick
151 rw auto
@ -35,12 +27,24 @@ index b973dc842d..f64d962a99 100644
154 rw auto backing quick
155 rw auto
156 rw auto quick
@@ -167,7 +167,7 @@
158 rw auto quick
@@ -168,7 +168,7 @@
159 rw auto quick
160 rw auto quick
161 rw auto quick
-162 auto quick
+#ISSUES 162 auto quick
163 rw auto
165 rw auto quick
169 rw auto quick migration
@@ -227,9 +227,9 @@
225 rw auto quick
226 auto quick
227 auto quick
-229 auto quick
+#ISSUES on ARM and POWER, we somtimes see failure, not sure why 229 auto quick
231 auto quick
232 auto quick
233 auto quick
234 auto quick migration
-235 auto quick
+#ISSUES - requires KVM 235 auto quick

View File

@ -1,26 +0,0 @@
From ce30b89aa845332c2c22287ffc9f03ea0414d438 Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Fri, 6 Apr 2018 09:21:56 -0600
Subject: [PATCH] configure: Modify python used for io tests
Because the block io tests are not yet ported to python3, change
the python env var to explicitly reference python2.
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index 039923ab4e..f08f2812e4 100755
--- a/configure
+++ b/configure
@@ -7418,7 +7418,7 @@ iotests_check="tests/qemu-iotests/check"
echo "# Automatically generated by configure - do not modify" > "$iotests_common_env"
echo >> "$iotests_common_env"
-echo "export PYTHON='$python'" >> "$iotests_common_env"
+echo "export PYTHON='/usr/bin/python2 -B'" >> "$iotests_common_env"
if [ ! -e "$iotests_check" ]; then
symlink "$source_path/$iotests_check" "$iotests_check"

View File

@ -1,4 +1,4 @@
From 0903be7746e8710c7e7856f8223441396fa4be72 Mon Sep 17 00:00:00 2001
From d58238438527d65192caa54feac77221880b3ba2 Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Fri, 13 Apr 2018 11:46:47 -0600
Subject: [PATCH] tests: test-thread-pool is racy - add some barriers
@ -7,20 +7,21 @@ I imagine there is more to be done to fix the memory consistency
races here, but these added barriers at least let it pass on ppc64le,
whereas before it would fail regularly there.
[BR: minor edits to pass qemu's checkpatch script]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
tests/test-thread-pool.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tests/test-thread-pool.c b/tests/test-thread-pool.c
index 9cdccb3a47..9f9e42af65 100644
index 9cdccb3a47..2cbabaadd3 100644
--- a/tests/test-thread-pool.c
+++ b/tests/test-thread-pool.c
@@ -171,6 +171,7 @@ static void do_test_cancel(bool sync)
/* Cancel the jobs that haven't been started yet. */
num_canceled = 0;
for (i = 0; i < 100; i++) {
+ smp_mb();
+ smp_mb(); /* test is currently racy */
if (atomic_cmpxchg(&data[i].n, 0, 3) == 0) {
data[i].ret = -ECANCELED;
if (sync) {
@ -28,7 +29,7 @@ index 9cdccb3a47..9f9e42af65 100644
g_assert_cmpint(num_canceled, <, 100);
for (i = 0; i < 100; i++) {
+ smp_mb();
+ smp_mb(); /* test is currently racy */
if (data[i].aiocb && data[i].n != 3) {
if (sync) {
/* Canceling the others will be a blocking operation. */
@ -36,7 +37,7 @@ index 9cdccb3a47..9f9e42af65 100644
}
g_assert_cmpint(active, ==, 0);
for (i = 0; i < 100; i++) {
+ smp_mb();
+ smp_mb(); /* test is currently racy */
if (data[i].n == 3) {
g_assert_cmpint(data[i].ret, ==, -ECANCELED);
g_assert(data[i].aiocb == NULL);

View File

@ -1,4 +1,4 @@
From 780702171c0213af1594a9ba8a0756073ded5f49 Mon Sep 17 00:00:00 2001
From 197d3a02669dce7d0ac0207cea5c989cc12b391d Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Fri, 8 Jun 2018 11:04:36 -0600
Subject: [PATCH] xen: add block resize support for xen disks
@ -7,6 +7,7 @@ Provide monitor naming of xen disks, and plumb guest driver
notification through xenstore of resizing instigated via the
monitor.
[BR: minor edits to pass qemu's checkpatch script]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
block/block-backend.c | 12 +++++++++++-
@ -18,7 +19,7 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
6 files changed, 57 insertions(+), 1 deletion(-)
diff --git a/block/block-backend.c b/block/block-backend.c
index f2f75a977d..f62217d967 100644
index 60d37a0c3d..1d41622942 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -23,6 +23,7 @@
@ -29,7 +30,7 @@ index f2f75a977d..f62217d967 100644
/* Number of coroutines to reserve per attached device model */
#define COROUTINE_POOL_RESERVATION 64
@@ -900,7 +901,9 @@ char *blk_get_attached_dev_id(BlockBackend *blk)
@@ -910,7 +911,9 @@ char *blk_get_attached_dev_id(BlockBackend *blk)
{
DeviceState *dev;
@ -40,7 +41,7 @@ index f2f75a977d..f62217d967 100644
dev = blk->dev;
if (!dev) {
@@ -2005,6 +2008,13 @@ int blk_truncate(BlockBackend *blk, int64_t offset, PreallocMode prealloc,
@@ -2012,6 +2015,13 @@ int blk_truncate(BlockBackend *blk, int64_t offset, PreallocMode prealloc,
return bdrv_truncate(blk->root, offset, prealloc, errp);
}
@ -55,10 +56,10 @@ index f2f75a977d..f62217d967 100644
{
BlkRwCo *rwco = opaque;
diff --git a/blockdev.c b/blockdev.c
index dcf8c8d2ab..bf1b82539c 100644
index 81f95d920b..e67116974e 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -3175,6 +3175,7 @@ void qmp_block_resize(bool has_device, const char *device,
@@ -3091,6 +3091,7 @@ void qmp_block_resize(bool has_device, const char *device,
{
Error *local_err = NULL;
BlockBackend *blk = NULL;
@ -66,7 +67,7 @@ index dcf8c8d2ab..bf1b82539c 100644
BlockDriverState *bs;
AioContext *aio_context;
int ret;
@@ -3187,6 +3188,10 @@ void qmp_block_resize(bool has_device, const char *device,
@@ -3103,6 +3104,10 @@ void qmp_block_resize(bool has_device, const char *device,
return;
}
@ -77,7 +78,7 @@ index dcf8c8d2ab..bf1b82539c 100644
aio_context = bdrv_get_aio_context(bs);
aio_context_acquire(aio_context);
@@ -3213,6 +3218,9 @@ void qmp_block_resize(bool has_device, const char *device,
@@ -3129,6 +3134,9 @@ void qmp_block_resize(bool has_device, const char *device,
bdrv_drained_begin(bs);
ret = blk_truncate(blk, size, PREALLOC_MODE_OFF, errp);
@ -88,10 +89,10 @@ index dcf8c8d2ab..bf1b82539c 100644
out:
diff --git a/hw/block/xen_disk.c b/hw/block/xen_disk.c
index 2b56c5e868..a90df967a3 100644
index ddd5c7cbfd..d9a55faf27 100644
--- a/hw/block/xen_disk.c
+++ b/hw/block/xen_disk.c
@@ -759,6 +759,7 @@ static int blk_connect(struct XenDevice *xendev)
@@ -761,6 +761,7 @@ static int blk_connect(struct XenDevice *xendev)
int order, ring_ref;
unsigned int ring_size, max_grants;
unsigned int i;
@ -99,7 +100,7 @@ index 2b56c5e868..a90df967a3 100644
trace_xen_disk_connect(xendev->name);
@@ -818,6 +819,13 @@ static int blk_connect(struct XenDevice *xendev)
@@ -821,6 +822,13 @@ static int blk_connect(struct XenDevice *xendev)
blk_ref(blkdev->blk);
}
blk_attach_dev_legacy(blkdev->blk, blkdev);
@ -113,7 +114,7 @@ index 2b56c5e868..a90df967a3 100644
blkdev->file_size = blk_getlength(blkdev->blk);
if (blkdev->file_size < 0) {
BlockDriverState *bs = blk_bs(blkdev->blk);
@@ -968,6 +976,7 @@ static void blk_disconnect(struct XenDevice *xendev)
@@ -971,6 +979,7 @@ static void blk_disconnect(struct XenDevice *xendev)
if (blkdev->blk) {
blk_set_aio_context(blkdev->blk, qemu_get_aio_context());
blk_detach_dev(blkdev->blk, blkdev);
@ -121,7 +122,7 @@ index 2b56c5e868..a90df967a3 100644
blk_unref(blkdev->blk);
blkdev->blk = NULL;
}
@@ -1015,6 +1024,21 @@ static void blk_event(struct XenDevice *xendev)
@@ -1018,6 +1027,21 @@ static void blk_event(struct XenDevice *xendev)
qemu_bh_schedule(blkdev->bh);
}
@ -157,7 +158,7 @@ index 7efcdaa8fe..45c8c0b6f7 100644
+
#endif /* QEMU_HW_XEN_H */
diff --git a/include/sysemu/block-backend.h b/include/sysemu/block-backend.h
index 830d873f24..5ac2638d63 100644
index c96bcdee14..0488cf45ff 100644
--- a/include/sysemu/block-backend.h
+++ b/include/sysemu/block-backend.h
@@ -236,5 +236,6 @@ int coroutine_fn blk_co_copy_range(BlockBackend *blk_in, int64_t off_in,

View File

@ -0,0 +1,28 @@
From ea96fb81295d2c6e5ed20201dc3c9583d2b8bb4c Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Tue, 20 Nov 2018 15:46:41 -0700
Subject: [PATCH] tests/qemu-iotests: Triple timeout of i/o tests due to obs
environment
Executing tests in obs is very fickle, since you aren't guaranteed
reliable cpu time. Triple the timeout for each test to help ensure
we don't fail a test because the stars align against us.
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
tests/qemu-iotests/common.qemu | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/qemu-iotests/common.qemu b/tests/qemu-iotests/common.qemu
index 7c87b897fa..2793e9fde6 100644
--- a/tests/qemu-iotests/common.qemu
+++ b/tests/qemu-iotests/common.qemu
@@ -76,7 +76,7 @@ _timed_wait_for()
timeout=yes
QEMU_STATUS[$h]=0
- while IFS= read -t ${QEMU_COMM_TIMEOUT} resp <&${QEMU_OUT[$h]}
+ while IFS= read -t $((${QEMU_COMM_TIMEOUT}*3)) resp <&${QEMU_OUT[$h]}
do
if [ -z "${silent}" ] && [ -z "${mismatch_only}" ]; then
echo "${resp}" | _filter_testdir | _filter_qemu \

View File

@ -0,0 +1,33 @@
From 20ab0810e2eab9dc47fab57bb1949e1a84c8cba5 Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Sun, 25 Nov 2018 18:01:36 -0700
Subject: [PATCH] tests: block-io test 130 needs some delays
I haven't figured out exactly the best solution, but we need some delays
in this test.
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
tests/qemu-iotests/130 | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/qemu-iotests/130 b/tests/qemu-iotests/130
index f2f2706b28..69d7a7286a 100755
--- a/tests/qemu-iotests/130
+++ b/tests/qemu-iotests/130
@@ -63,6 +63,7 @@ echo
# Test that a backing file isn't written
_launch_qemu -drive id=testdisk,file="$TEST_IMG",backing.file.filename="$TEST_IMG.base"
_send_qemu_cmd $QEMU_HANDLE "commit testdisk" "(qemu)"
+sleep 5
_send_qemu_cmd $QEMU_HANDLE '' '(qemu)'
_cleanup_qemu
_img_info | _filter_img_info
@@ -72,6 +73,7 @@ _img_info | _filter_img_info
_make_test_img -F raw -b "$TEST_IMG.orig" 64M
_launch_qemu -drive id=testdisk,file="$TEST_IMG",backing.file.filename="$TEST_IMG.base",backing.driver=$IMGFMT
_send_qemu_cmd $QEMU_HANDLE "commit testdisk" "(qemu)"
+sleep 5
_send_qemu_cmd $QEMU_HANDLE '' '(qemu)'
_cleanup_qemu
_img_info | _filter_img_info

View File

@ -1,37 +0,0 @@
From eb6fab8ccd1380173483e35ff830d7c829d79742 Mon Sep 17 00:00:00 2001
From: Peter Maydell <peter.maydell@linaro.org>
Date: Fri, 17 Aug 2018 17:14:04 +0100
Subject: [PATCH] tests/boot-serial-test: Bump timeout to 6 minutes
On a SPARC host that I'm using as a build test machine, the
boot-serial-test for the SPARC guest machines takes about 65
seconds to execute. This means that it hits the current
60 second timer on these tests. Push the timeout up so
that it doesn't trigger spuriously on slow hosts like this one.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-id: 20180817161404.9420-1-peter.maydell@linaro.org
(cherry picked from commit 627fce617868df87b3757375a2a0318ad2beb381)
[BR: We have seen this issue occasionally for qemu-testsuite on armv7l]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
tests/boot-serial-test.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c
index 952a2e7ead..7fbf7b35de 100644
--- a/tests/boot-serial-test.c
+++ b/tests/boot-serial-test.c
@@ -116,8 +116,8 @@ static bool check_guest_output(const testdef_t *test, int fd)
int i, nbr = 0, pos = 0, ccnt;
char ch;
- /* Poll serial output... Wait at most 60 seconds */
- for (i = 0; i < 6000; ++i) {
+ /* Poll serial output... Wait at most 360 seconds */
+ for (i = 0; i < 36000; ++i) {
ccnt = 0;
while (ccnt++ < 512 && (nbr = read(fd, &ch, 1)) == 1) {
if (ch == test->expect[pos]) {

View File

@ -0,0 +1,79 @@
From f88c2f1b54da7a92420724189a6df37e6b3faed3 Mon Sep 17 00:00:00 2001
From: Tim Smith <tim.smith@citrix.com>
Date: Fri, 2 Nov 2018 10:01:09 +0000
Subject: [PATCH] xen_disk: Avoid repeated memory allocation
xen_disk currently allocates memory to hold the data for each ioreq
as that ioreq is used, and frees it afterwards. Because it requires
page-aligned blocks, this interacts poorly with non-page-aligned
allocations and balloons the heap.
Instead, allocate the maximum possible requirement, which is
BLKIF_MAX_SEGMENTS_PER_REQUEST pages (currently 11 pages) when
the ioreq is created, and keep that allocation until it is destroyed.
Since the ioreqs themselves are re-used via a free list, this
should actually improve memory usage.
Signed-off-by: Tim Smith <tim.smith@citrix.com>
[BSC#1100408]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
hw/block/xen_disk.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/hw/block/xen_disk.c b/hw/block/xen_disk.c
index d9a55faf27..e9501ee34c 100644
--- a/hw/block/xen_disk.c
+++ b/hw/block/xen_disk.c
@@ -110,7 +110,6 @@ static void ioreq_reset(struct ioreq *ioreq)
memset(&ioreq->req, 0, sizeof(ioreq->req));
ioreq->status = 0;
ioreq->start = 0;
- ioreq->buf = NULL;
ioreq->size = 0;
ioreq->presync = 0;
@@ -135,6 +134,7 @@ static struct ioreq *ioreq_start(struct XenBlkDev *blkdev)
/* allocate new struct */
ioreq = g_malloc0(sizeof(*ioreq));
ioreq->blkdev = blkdev;
+ ioreq->buf = qemu_memalign(XC_PAGE_SIZE, BLKIF_MAX_SEGMENTS_PER_REQUEST * XC_PAGE_SIZE);
blkdev->requests_total++;
qemu_iovec_init(&ioreq->v, 1);
} else {
@@ -317,14 +317,12 @@ static void qemu_aio_complete(void *opaque, int ret)
if (ret == 0) {
ioreq_grant_copy(ioreq);
}
- qemu_vfree(ioreq->buf);
break;
case BLKIF_OP_WRITE:
case BLKIF_OP_FLUSH_DISKCACHE:
if (!ioreq->req.nr_segments) {
break;
}
- qemu_vfree(ioreq->buf);
break;
default:
break;
@@ -392,12 +390,10 @@ static int ioreq_runio_qemu_aio(struct ioreq *ioreq)
{
struct XenBlkDev *blkdev = ioreq->blkdev;
- ioreq->buf = qemu_memalign(XC_PAGE_SIZE, ioreq->size);
if (ioreq->req.nr_segments &&
(ioreq->req.operation == BLKIF_OP_WRITE ||
ioreq->req.operation == BLKIF_OP_FLUSH_DISKCACHE) &&
ioreq_grant_copy(ioreq)) {
- qemu_vfree(ioreq->buf);
goto err;
}
@@ -1007,6 +1003,7 @@ static int blk_free(struct XenDevice *xendev)
ioreq = QLIST_FIRST(&blkdev->freelist);
QLIST_REMOVE(ioreq, list);
qemu_iovec_destroy(&ioreq->v);
+ qemu_vfree(ioreq->buf);
g_free(ioreq);
}

View File

@ -1,47 +0,0 @@
From 8194d18811df960052d42d93cdc5105b8ef089cc Mon Sep 17 00:00:00 2001
From: Fei Li <fli@suse.com>
Date: Fri, 7 Sep 2018 14:15:05 +0800
Subject: [PATCH] linux-headers: update
Update to Linux upstream commit 2ad0d5269970
("Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net")
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
(cherry picked from commit d36f7de82995a42b749c29c5b60ba31483995a42)
[FL: bsc#1107489 - actually only backport the linux-header's update
for the etoken cpu feature used on the s390x platform)
Signed-off-by: Fei Li <fli@suse.com>
---
linux-headers/asm-s390/kvm.h | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/linux-headers/asm-s390/kvm.h b/linux-headers/asm-s390/kvm.h
index 11def14301..1ab9901911 100644
--- a/linux-headers/asm-s390/kvm.h
+++ b/linux-headers/asm-s390/kvm.h
@@ -4,7 +4,7 @@
/*
* KVM s390 specific structures and definitions
*
- * Copyright IBM Corp. 2008
+ * Copyright IBM Corp. 2008, 2018
*
* Author(s): Carsten Otte <cotte@de.ibm.com>
* Christian Borntraeger <borntraeger@de.ibm.com>
@@ -225,6 +225,7 @@ struct kvm_guest_debug_arch {
#define KVM_SYNC_FPRS (1UL << 8)
#define KVM_SYNC_GSCB (1UL << 9)
#define KVM_SYNC_BPBC (1UL << 10)
+#define KVM_SYNC_ETOKEN (1UL << 11)
/* length and alignment of the sdnx as a power of two */
#define SDNXC 8
#define SDNXL (1UL << SDNXC)
@@ -258,6 +259,8 @@ struct kvm_sync_regs {
struct {
__u64 reserved1[2];
__u64 gscb[4];
+ __u64 etoken;
+ __u64 etoken_extension;
};
};
};

View File

@ -1,183 +0,0 @@
From 3ff69067e3144565368ace51672cbbeaefd62489 Mon Sep 17 00:00:00 2001
From: Christian Borntraeger <borntraeger@de.ibm.com>
Date: Tue, 31 Jul 2018 11:04:48 +0200
Subject: [PATCH] s390x/kvm: add etoken facility
Provide the etoken facility. We need to handle cpu model, migration and
clear reset.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Janosch Frank <frankja@linux.ibm.com>
Message-Id: <20180731090448.36662-3-borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
(cherry picked from commit 27e84d4ebd25b981ab27cb590fe06d1b0fcd06d2)
[FL: bsc#1107489]
Signed-off-by: Fei Li <fli@suse.com>
---
target/s390x/cpu.h | 3 +++
target/s390x/cpu_features.c | 3 ++-
target/s390x/cpu_features_def.h | 3 ++-
target/s390x/gen-features.c | 3 ++-
target/s390x/kvm.c | 11 +++++++++++
target/s390x/machine.c | 20 +++++++++++++++++++-
6 files changed, 39 insertions(+), 4 deletions(-)
diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
index 2c3dd2d189..21b2f211fe 100644
--- a/target/s390x/cpu.h
+++ b/target/s390x/cpu.h
@@ -2,6 +2,7 @@
* S/390 virtual CPU header
*
* Copyright (c) 2009 Ulrich Hecht
+ * Copyright IBM Corp. 2012, 2018
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -68,6 +69,8 @@ struct CPUS390XState {
uint32_t aregs[16]; /* access registers */
uint8_t riccb[64]; /* runtime instrumentation control */
uint64_t gscb[4]; /* guarded storage control */
+ uint64_t etoken; /* etoken */
+ uint64_t etoken_extension; /* etoken extension */
/* Fields up to this point are not cleared by initial CPU reset */
struct {} start_initial_reset_fields;
diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c
index 3b9e2745e9..e05e6aaaf4 100644
--- a/target/s390x/cpu_features.c
+++ b/target/s390x/cpu_features.c
@@ -1,7 +1,7 @@
/*
* CPU features/facilities for s390x
*
- * Copyright 2016 IBM Corp.
+ * Copyright IBM Corp. 2016, 2018
*
* Author(s): David Hildenbrand <dahi@linux.vnet.ibm.com>
*
@@ -106,6 +106,7 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("irbm", S390_FEAT_TYPE_STFL, 145, "Insert-reference-bits-multiple facility"),
FEAT_INIT("msa8-base", S390_FEAT_TYPE_STFL, 146, "Message-security-assist-extension-8 facility (excluding subfunctions)"),
FEAT_INIT("cmmnt", S390_FEAT_TYPE_STFL, 147, "CMM: ESSA-enhancement (no translate) facility"),
+ FEAT_INIT("etoken", S390_FEAT_TYPE_STFL, 156, "Etoken facility"),
/* SCLP SCCB Byte 80 - 98 (bit numbers relative to byte-80) */
FEAT_INIT("gsls", S390_FEAT_TYPE_SCLP_CONF_CHAR, 40, "SIE: Guest-storage-limit-suppression facility"),
diff --git a/target/s390x/cpu_features_def.h b/target/s390x/cpu_features_def.h
index 7c5915c7b2..ac2c947f30 100644
--- a/target/s390x/cpu_features_def.h
+++ b/target/s390x/cpu_features_def.h
@@ -1,7 +1,7 @@
/*
* CPU features/facilities for s390
*
- * Copyright 2016 IBM Corp.
+ * Copyright IBM Corp. 2016, 2018
*
* Author(s): Michael Mueller <mimu@linux.vnet.ibm.com>
* David Hildenbrand <dahi@linux.vnet.ibm.com>
@@ -93,6 +93,7 @@ typedef enum {
S390_FEAT_INSERT_REFERENCE_BITS_MULT,
S390_FEAT_MSA_EXT_8,
S390_FEAT_CMM_NT,
+ S390_FEAT_ETOKEN,
/* Sclp Conf Char */
S390_FEAT_SIE_GSLS,
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 6626b6f565..5af042c003 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -1,7 +1,7 @@
/*
* S390 feature list generator
*
- * Copyright 2016 IBM Corp.
+ * Copyright IBM Corp. 2016, 2018
*
* Author(s): Michael Mueller <mimu@linux.vnet.ibm.com>
* David Hildenbrand <dahi@linux.vnet.ibm.com>
@@ -471,6 +471,7 @@ static uint16_t full_GEN14_GA1[] = {
S390_FEAT_GROUP_MSA_EXT_7,
S390_FEAT_GROUP_MSA_EXT_8,
S390_FEAT_CMM_NT,
+ S390_FEAT_ETOKEN,
S390_FEAT_HPMA2,
S390_FEAT_SIE_KSS,
S390_FEAT_GROUP_MULTIPLE_EPOCH_PTFF,
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index d923cf4240..af83955e5f 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -493,6 +493,12 @@ int kvm_arch_put_registers(CPUState *cs, int level)
cs->kvm_run->kvm_dirty_regs |= KVM_SYNC_BPBC;
}
+ if (can_sync_regs(cs, KVM_SYNC_ETOKEN)) {
+ cs->kvm_run->s.regs.etoken = env->etoken;
+ cs->kvm_run->s.regs.etoken_extension = env->etoken_extension;
+ cs->kvm_run->kvm_dirty_regs |= KVM_SYNC_ETOKEN;
+ }
+
/* Finally the prefix */
if (can_sync_regs(cs, KVM_SYNC_PREFIX)) {
cs->kvm_run->s.regs.prefix = env->psa;
@@ -607,6 +613,11 @@ int kvm_arch_get_registers(CPUState *cs)
env->bpbc = cs->kvm_run->s.regs.bpbc;
}
+ if (can_sync_regs(cs, KVM_SYNC_ETOKEN)) {
+ env->etoken = cs->kvm_run->s.regs.etoken;
+ env->etoken_extension = cs->kvm_run->s.regs.etoken_extension;
+ }
+
/* pfault parameters */
if (can_sync_regs(cs, KVM_SYNC_PFAULT)) {
env->pfault_token = cs->kvm_run->s.regs.pft;
diff --git a/target/s390x/machine.c b/target/s390x/machine.c
index bd3230d027..cb792aa103 100644
--- a/target/s390x/machine.c
+++ b/target/s390x/machine.c
@@ -1,7 +1,7 @@
/*
* S390x machine definitions and functions
*
- * Copyright IBM Corp. 2014
+ * Copyright IBM Corp. 2014, 2018
*
* Authors:
* Thomas Huth <thuth@linux.vnet.ibm.com>
@@ -216,6 +216,23 @@ const VMStateDescription vmstate_bpbc = {
}
};
+static bool etoken_needed(void *opaque)
+{
+ return s390_has_feat(S390_FEAT_ETOKEN);
+}
+
+const VMStateDescription vmstate_etoken = {
+ .name = "cpu/etoken",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .needed = etoken_needed,
+ .fields = (VMStateField[]) {
+ VMSTATE_UINT64(env.etoken, S390CPU),
+ VMSTATE_UINT64(env.etoken_extension, S390CPU),
+ VMSTATE_END_OF_LIST()
+ }
+};
+
const VMStateDescription vmstate_s390_cpu = {
.name = "cpu",
.post_load = cpu_post_load,
@@ -251,6 +268,7 @@ const VMStateDescription vmstate_s390_cpu = {
&vmstate_exval,
&vmstate_gscb,
&vmstate_bpbc,
+ &vmstate_etoken,
NULL
},
};

View File

@ -1,90 +0,0 @@
From 6edbf80f95ecc20ced40004ce0e882e1cf756b98 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
Date: Wed, 22 Aug 2018 19:02:48 +0200
Subject: [PATCH] seccomp: prefer SCMP_ACT_KILL_PROCESS if available
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The upcoming libseccomp release should have SCMP_ACT_KILL_PROCESS
action (https://github.com/seccomp/libseccomp/issues/96).
SCMP_ACT_KILL_PROCESS is preferable to immediately terminate the
offending process, rather than having the SIGSYS handler running.
Use SECCOMP_GET_ACTION_AVAIL to check availability of kernel support,
as libseccomp will fallback on SCMP_ACT_KILL otherwise, and we still
prefer SCMP_ACT_TRAP.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Acked-by: Eduardo Otubo <otubo@redhat.com>
(cherry picked from commit bda08a5764d470f101fa38635d30b41179a313e1)
[LD: BSC#1106222 CVE-2018-15746]
Signed-off-by: Larry Dewey <ldewey@suse.com>
---
qemu-seccomp.c | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/qemu-seccomp.c b/qemu-seccomp.c
index 9cd8eb9499..f0c833f3ca 100644
--- a/qemu-seccomp.c
+++ b/qemu-seccomp.c
@@ -20,6 +20,7 @@
#include <sys/prctl.h>
#include <seccomp.h>
#include "sysemu/seccomp.h"
+#include <linux/seccomp.h>
/* For some architectures (notably ARM) cacheflush is not supported until
* libseccomp 2.2.3, but configure enforces that we are using a more recent
@@ -107,12 +108,40 @@ static const struct QemuSeccompSyscall blacklist[] = {
{ SCMP_SYS(sched_get_priority_min), QEMU_SECCOMP_SET_RESOURCECTL },
};
+static inline __attribute__((unused)) int
+qemu_seccomp(unsigned int operation, unsigned int flags, void *args)
+{
+#ifdef __NR_seccomp
+ return syscall(__NR_seccomp, operation, flags, args);
+#else
+ errno = ENOSYS;
+ return -1;
+#endif
+}
+
+static uint32_t qemu_seccomp_get_kill_action(void)
+{
+#if defined(SECCOMP_GET_ACTION_AVAIL) && defined(SCMP_ACT_KILL_PROCESS) && \
+ defined(SECCOMP_RET_KILL_PROCESS)
+ {
+ uint32_t action = SECCOMP_RET_KILL_PROCESS;
+
+ if (qemu_seccomp(SECCOMP_GET_ACTION_AVAIL, 0, &action) == 0) {
+ return SCMP_ACT_KILL_PROCESS;
+ }
+ }
+#endif
+
+ return SCMP_ACT_TRAP;
+}
+
static int seccomp_start(uint32_t seccomp_opts)
{
int rc = 0;
unsigned int i = 0;
scmp_filter_ctx ctx;
+ uint32_t action = qemu_seccomp_get_kill_action();
ctx = seccomp_init(SCMP_ACT_ALLOW);
if (ctx == NULL) {
@@ -125,7 +154,7 @@ static int seccomp_start(uint32_t seccomp_opts)
continue;
}
- rc = seccomp_rule_add_array(ctx, SCMP_ACT_KILL, blacklist[i].num,
+ rc = seccomp_rule_add_array(ctx, action, blacklist[i].num,
blacklist[i].narg, blacklist[i].arg_cmp);
if (rc < 0) {
goto seccomp_return;

View File

@ -1,53 +0,0 @@
From a9794287e84a87f4372a4aed027319491ec5eb68 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
Date: Wed, 22 Aug 2018 19:02:49 +0200
Subject: [PATCH] configure: require libseccomp 2.2.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The following patch is going to require TSYNC, which is only available
since libseccomp 2.2.0.
libseccomp 2.2.0 was released February 12, 2015.
According to repology, libseccomp version in different distros:
RHEL-7: 2.3.1
Debian (Stretch): 2.3.1
OpenSUSE Leap 15: 2.3.2
Ubuntu (Xenial): 2.3.1
This will drop support for -sandbox on:
Debian (Jessie): 2.1.1 (but 2.2.3 in backports)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Eduardo Otubo <otubo@redhat.com>
(cherry picked from commit d0699bd37c48067cffbd80383172efc29da6d2f9)
[LD: BSC#1106222 CVE-2018-15746]
Signed-off-by: Larry Dewey <ldewey@suse.com>
---
configure | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/configure b/configure
index f08f2812e4..bceba37e90 100755
--- a/configure
+++ b/configure
@@ -2216,13 +2216,10 @@ fi
##########################################
# libseccomp check
+libseccomp_minver="2.2.0"
if test "$seccomp" != "no" ; then
case "$cpu" in
- i386|x86_64)
- libseccomp_minver="2.1.0"
- ;;
- mips)
- libseccomp_minver="2.2.0"
+ i386|x86_64|mips)
;;
arm|aarch64)
libseccomp_minver="2.2.3"

View File

@ -1,57 +0,0 @@
From e31313eacacefad16dc536b883e139a041fd2c28 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
Date: Wed, 22 Aug 2018 19:02:50 +0200
Subject: [PATCH] seccomp: set the seccomp filter to all threads
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When using "-seccomp on", the seccomp policy is only applied to the
main thread, the vcpu worker thread and other worker threads created
after seccomp policy is applied; the seccomp policy is not applied to
e.g. the RCU thread because it is created before the seccomp policy is
applied and SECCOMP_FILTER_FLAG_TSYNC isn't used.
This can be verified with
for task in /proc/`pidof qemu`/task/*; do cat $task/status | grep Secc ; done
Seccomp: 2
Seccomp: 0
Seccomp: 0
Seccomp: 2
Seccomp: 2
Seccomp: 2
Starting with libseccomp 2.2.0 and kernel >= 3.17, we can use
seccomp_attr_set(ctx, > SCMP_FLTATR_CTL_TSYNC, 1) to update the policy
on all threads.
libseccomp requirement was bumped to 2.2.0 in previous patch.
libseccomp should fail to set the filter if it can't honour
SCMP_FLTATR_CTL_TSYNC (untested), and thus -sandbox will now fail on
kernel < 3.17.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Eduardo Otubo <otubo@redhat.com>
(cherry picked from commit 70dfabeaa79ba4d7a3b699abe1a047c8012db114)
[LD: BSC#1106222 CVE-2018-15746]
Signed-off-by: Larry Dewey <ldewey@suse.com>
---
qemu-seccomp.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/qemu-seccomp.c b/qemu-seccomp.c
index f0c833f3ca..4729eb107f 100644
--- a/qemu-seccomp.c
+++ b/qemu-seccomp.c
@@ -149,6 +149,11 @@ static int seccomp_start(uint32_t seccomp_opts)
goto seccomp_return;
}
+ rc = seccomp_attr_set(ctx, SCMP_FLTATR_CTL_TSYNC, 1);
+ if (rc != 0) {
+ goto seccomp_return;
+ }
+
for (i = 0; i < ARRAY_SIZE(blacklist); i++) {
if (!(seccomp_opts & blacklist[i].set)) {
continue;

View File

@ -1,39 +0,0 @@
From b481a5487b92fa40b74d8bf8c786a35d09eb97cd Mon Sep 17 00:00:00 2001
From: Yi Min Zhao <zyimin@linux.ibm.com>
Date: Thu, 31 May 2018 11:29:37 +0800
Subject: [PATCH] sandbox: disable -sandbox if CONFIG_SECCOMP undefined
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
If CONFIG_SECCOMP is undefined, the option 'elevatedprivileges' remains
compiled. This would make libvirt set the corresponding capability and
then trigger failure during guest startup. This patch moves the code
regarding seccomp command line options to qemu-seccomp.c file and
wraps qemu_opts_foreach finding sandbox option with CONFIG_SECCOMP.
Because parse_sandbox() is moved into qemu-seccomp.c file, change
seccomp_start() to static function.
Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Tested-by: Ján Tomko <jtomko@redhat.com>
Acked-by: Eduardo Otubo <otubo@redhat.com>
(cherry picked from commit 9d0fdecbad130f01b602e35e87c6d3fad5821d6e)
[LD: BSC#1106222 CVE-2018-15746]
Signed-off-by: Larry Dewey <ldewey@suse.com>
---
qemu-seccomp.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/qemu-seccomp.c b/qemu-seccomp.c
index 4729eb107f..5507d9c4ef 100644
--- a/qemu-seccomp.c
+++ b/qemu-seccomp.c
@@ -135,7 +135,6 @@ static uint32_t qemu_seccomp_get_kill_action(void)
return SCMP_ACT_TRAP;
}
-
static int seccomp_start(uint32_t seccomp_opts)
{
int rc = 0;

View File

@ -1,68 +0,0 @@
From 79883c93023ec6d7b55cf2a3e91afcfda44e3a61 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
Date: Thu, 30 Aug 2018 16:33:48 +0200
Subject: [PATCH] seccomp: check TSYNC host capability
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Remove -sandbox option if the host is not capable of TSYNC, since the
sandbox will fail at setup time otherwise. This will help libvirt, for
ex, to figure out if -sandbox will work.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Eduardo Otubo <otubo@redhat.com>
Acked-by: Eduardo Otubo <otubo@redhat.com>
(cherry picked from commit 5780760f5ea6163939a5dabe7427318b4f07d1a2)
[LD: BSC#1106222 CVE-2018-15746]
Signed-off-by: Larry Dewey <ldewey@suse.com>
---
qemu-seccomp.c | 19 ++++++++++++++++++-
vl.c | 4 ++--
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/qemu-seccomp.c b/qemu-seccomp.c
index 5507d9c4ef..1d94bdaf55 100644
--- a/qemu-seccomp.c
+++ b/qemu-seccomp.c
@@ -281,7 +281,24 @@ static QemuOptsList qemu_sandbox_opts = {
static void seccomp_register(void)
{
- qemu_add_opts(&qemu_sandbox_opts);
+ bool add = false;
+
+ /* FIXME: use seccomp_api_get() >= 2 check when released */
+
+#if defined(SECCOMP_FILTER_FLAG_TSYNC)
+ int check;
+
+ /* check host TSYNC capability, it returns errno == ENOSYS if unavailable */
+ check = qemu_seccomp(SECCOMP_SET_MODE_FILTER,
+ SECCOMP_FILTER_FLAG_TSYNC, NULL);
+ if (check < 0 && errno == EFAULT) {
+ add = true;
+ }
+#endif
+
+ if (add) {
+ qemu_add_opts(&qemu_sandbox_opts);
+ }
}
opts_init(seccomp_register);
#endif
diff --git a/vl.c b/vl.c
index 3af5bcdc9e..a0295abb3e 100644
--- a/vl.c
+++ b/vl.c
@@ -4015,8 +4015,8 @@ int main(int argc, char **argv, char **envp)
}
#ifdef CONFIG_SECCOMP
- if (qemu_opts_foreach(qemu_find_opts("sandbox"),
- parse_sandbox, NULL, NULL)) {
+ olist = qemu_find_opts_err("sandbox", NULL);
+ if (olist && qemu_opts_foreach(olist, parse_sandbox, NULL, NULL)) {
exit(1);
}
#endif

View File

@ -1,25 +1,58 @@
<constraints>
<!-- All builds are fine with 8GB disk -->
<overwrite>
<conditions>
<package>qemu-testsuite</package>
</conditions>
<hardware>
<physicalmemory>
<size unit="M">1500</size>
</physicalmemory>
</hardware>
</overwrite>
<overwrite>
<conditions>
<arch>i586</arch>
<arch>x86_64</arch>
<arch>ppc64</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
<package>qemu</package>
<package>qemu-linux-user</package>
<package>qemu-testsuite</package>
</conditions>
<hardware>
<disk>
<size unit="G">7</size>
<size unit="G">8</size>
</disk>
</hardware>
</overwrite>
<!-- To build qemu, s390x needs more than the default memory -->
<overwrite>
<conditions>
<arch>s390x</arch>
<package>qemu</package>
</conditions>
<hardware>
<memory>
<size unit="M">1200</size>
</memory>
</hardware>
</overwrite>
<!-- Excluding ARM, qemu-testsuite needs more than the default memory -->
<overwrite>
<conditions>
<arch>ppc64</arch>
<arch>ppc64le</arch>
<package>qemu-testsuite</package>
</conditions>
<hardware>
<memory>
<size unit="M">3600</size>
</memory>
</hardware>
</overwrite>
<!-- And x86 needs even more, as certain tests are x86 only -->
<overwrite>
<conditions>
<arch>i586</arch>
<arch>x86_64</arch>
<package>qemu-testsuite</package>
</conditions>
<hardware>
<memory>
<size unit="M">4400</size>
</memory>
</hardware>
</overwrite>
</constraints>

View File

@ -9,7 +9,7 @@ to find enough opportunities in the ipxe code and data to reduce
its size, and found that using a more recent compiler would be the
best solution to keeping the rom size within the 64K size limit.
Signed-Off-By: Bruce Rogers <brogers@suse.com>
Signed-off-by: Bruce Rogers <brogers@suse.com>
--- a/src/Makefile
+++ b/src/Makefile
@@ -24,7 +24,7 @@ ECHO := echo

View File

@ -6,8 +6,8 @@ ConditionVirtualization=no
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/echo 1 > /sys/kernel/mm/ksm/run
ExecStop=/bin/echo 0 > /sys/kernel/mm/ksm/run
ExecStart=/bin/bash -c "/bin/echo 1 > /sys/kernel/mm/ksm/run"
ExecStop=/bin/bash -c "/bin/echo 0 > /sys/kernel/mm/ksm/run"
[Install]
WantedBy=multi-user.target

View File

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

Binary file not shown.

3
qemu-3.1.0.tar.xz Normal file
View File

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

BIN
qemu-3.1.0.tar.xz.sig Normal file

Binary file not shown.

View File

@ -1,3 +1,74 @@
-------------------------------------------------------------------
Wed Dec 12 21:33:15 UTC 2018 - Bruce Rogers <brogers@suse.com>
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-3.1
* Patches added:
0039-xen_disk-Avoid-repeated-memory-allo.patch
-------------------------------------------------------------------
Tue Dec 11 17:38:47 UTC 2018 - Bruce Rogers <brogers@suse.com>
- Update to v3.1.0: See http://wiki.qemu.org/ChangeLog/3.1
Take note that ongoing feature deprecation is tracked at both
http://wiki.qemu-project.org/Features/LegacyRemoval and in
Appendix B of the qemu-doc.* files installed with the qemu package
Some noteworthy changes:
* Multithreaded TCG on x86 is considered supportable
* Improvements to netlink emulation
* Support for usbfs ioctls
* xtensa-linux-user support the bFLT format
* Patches dropped (upstream unless otherwise noted):
0033-migration-warn-about-inconsistent-s.patch (shouldn't be needed anymore)
0035-configure-Modify-python-used-for-io.patch (upstream now python3 friendly)
0039-tests-boot-serial-test-Bump-timeout.patch
0040-linux-headers-update.patch
0041-s390x-kvm-add-etoken-facility.patch
0042-seccomp-prefer-SCMP_ACT_KILL_PROCES.patch
0043-configure-require-libseccomp-2.2.0.patch
0044-seccomp-set-the-seccomp-filter-to-a.patch
0045-sandbox-disable-sandbox-if-CONFIG_S.patch
0046-seccomp-check-TSYNC-host-capability.patch
0047-linux-user-init_guest_space-Try-to-.patch
0048-ne2000-fix-possible-out-of-bound-ac.patch
0049-rtl8139-fix-possible-out-of-bound-a.patch
0050-pcnet-fix-possible-buffer-overflow.patch
0051-net-ignore-packet-size-greater-than.patch
0052-lsi53c895a-check-message-length-val.patch
0053-nvme-fix-oob-access-issue-CVE-2018-.patch (fixed differently upstream)
* Patches renamed:
0034-smbios-Add-1-terminator-if-any-stri.patch
-> 0033-smbios-Add-1-terminator-if-any-stri.patch
0036-qemu-io-tests-comment-out-problemat.patch
-> 0034-qemu-io-tests-comment-out-problemat.patch
0037-tests-test-thread-pool-is-racy-add-.patch
-> 0035-tests-test-thread-pool-is-racy-add-.patch
0038-xen-add-block-resize-support-for-xe.patch
-> 0036-xen-add-block-resize-support-for-xe.patch
* Patches added:
0037-tests-qemu-iotests-Triple-timeout-o.patch
0038-tests-block-io-test-130-needs-some-.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-3.1
- Tweaked patches we carry to pass qemu's checkpatch checker
- Modify update_git.sh script to enable packaging qemu from development
time sources, not just at release time.
-------------------------------------------------------------------
Thu Nov 8 18:07:32 UTC 2018 - Bruce Rogers <brogers@suse.com>
- Re-sync openSUSE and SUSE SLE qemu packages. This changes file
is the openSUSE one with this entry providing the intervening
SLE CVE, FATE, and bugzilla references, which are still addressed
in this package, and not yet called out in this changes file.
* bsc#1112499
* Patches added:
0047-linux-user-init_guest_space-Try-to-.patch
0048-ne2000-fix-possible-out-of-bound-ac.patch
0049-rtl8139-fix-possible-out-of-bound-a.patch
0050-pcnet-fix-possible-buffer-overflow.patch
0051-net-ignore-packet-size-greater-than.patch
0052-lsi53c895a-check-message-length-val.patch
0053-nvme-fix-oob-access-issue-CVE-2018-.patch
-------------------------------------------------------------------
Fri Oct 5 16:52:18 UTC 2018 - Larry Dewey <ldewey@suse.com>

View File

@ -22,14 +22,15 @@ Url: https://www.qemu.org/
Summary: CPU emulator for user space
License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT
Group: System/Emulators/PC
Version: 3.0.0
%define qemuver 3.1.0
%define srcver 3.1.0
Version: %qemuver
Release: 0
%define qemuver 3.0.0
Source: https://wiki.qemu.org/download/%{srcname}-%{version}.tar.xz
Source99: https://wiki.qemu.org/download/%{srcname}-%{version}.tar.xz.sig
Source: https://wiki.qemu.org/download/%{srcname}-%{srcver}.tar.xz
Source99: https://wiki.qemu.org/download/%{srcname}-%{srcver}.tar.xz.sig
Source100: %{srcname}.keyring
Source400: update_git.sh
# Upstream First -- https://wiki.qemu-project.org/Contribute/SubmitAPatch
# Upstream First -- https://wiki.qemu.org/Contribute/SubmitAPatch
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch
Patch0002: 0002-qemu-binfmt-conf-Modify-default-pat.patch
@ -63,20 +64,13 @@ Patch0029: 0029-tests-Add-QOM-property-unit-tests.patch
Patch0030: 0030-tests-Add-scsi-disk-test.patch
Patch0031: 0031-Switch-order-of-libraries-for-mpath.patch
Patch0032: 0032-Make-installed-scripts-explicitly-p.patch
Patch0033: 0033-migration-warn-about-inconsistent-s.patch
Patch0034: 0034-smbios-Add-1-terminator-if-any-stri.patch
Patch0035: 0035-configure-Modify-python-used-for-io.patch
Patch0036: 0036-qemu-io-tests-comment-out-problemat.patch
Patch0037: 0037-tests-test-thread-pool-is-racy-add-.patch
Patch0038: 0038-xen-add-block-resize-support-for-xe.patch
Patch0039: 0039-tests-boot-serial-test-Bump-timeout.patch
Patch0040: 0040-linux-headers-update.patch
Patch0041: 0041-s390x-kvm-add-etoken-facility.patch
Patch0042: 0042-seccomp-prefer-SCMP_ACT_KILL_PROCES.patch
Patch0043: 0043-configure-require-libseccomp-2.2.0.patch
Patch0044: 0044-seccomp-set-the-seccomp-filter-to-a.patch
Patch0045: 0045-sandbox-disable-sandbox-if-CONFIG_S.patch
Patch0046: 0046-seccomp-check-TSYNC-host-capability.patch
Patch0033: 0033-smbios-Add-1-terminator-if-any-stri.patch
Patch0034: 0034-qemu-io-tests-comment-out-problemat.patch
Patch0035: 0035-tests-test-thread-pool-is-racy-add-.patch
Patch0036: 0036-xen-add-block-resize-support-for-xe.patch
Patch0037: 0037-tests-qemu-iotests-Triple-timeout-o.patch
Patch0038: 0038-tests-block-io-test-130-needs-some-.patch
Patch0039: 0039-xen_disk-Avoid-repeated-memory-allo.patch
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
ExcludeArch: s390
@ -107,7 +101,7 @@ architecture. The syscall interface is intercepted and execution below the
syscall layer occurs on the native hardware and operating system.
%prep
%setup -q -n %{srcname}-%{version}
%setup -q -n %{srcname}-%{expand:%%(SV=%{srcver};echo ${SV%%%%+git*})}
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
@ -147,13 +141,6 @@ syscall layer occurs on the native hardware and operating system.
%patch0037 -p1
%patch0038 -p1
%patch0039 -p1
%patch0040 -p1
%patch0041 -p1
%patch0042 -p1
%patch0043 -p1
%patch0044 -p1
%patch0045 -p1
%patch0046 -p1
%build
./configure \
@ -180,13 +167,16 @@ syscall layer occurs on the native hardware and operating system.
--enable-attr \
--disable-blobs \
--disable-bluez \
--disable-bochs \
--disable-brlapi \
--disable-bzip2 \
--disable-cap-ng \
--disable-capstone \
--disable-cloop \
--enable-coroutine-pool \
--disable-curl \
--disable-curses \
--disable-dmg \
--disable-fdt \
--disable-gcrypt \
--disable-glusterfs \
@ -197,6 +187,10 @@ syscall layer occurs on the native hardware and operating system.
--disable-jemalloc \
--disable-kvm \
--disable-libiscsi \
--disable-libnfs \
--disable-libpmem \
--disable-libssh2 \
--disable-libusb \
--disable-libxml2 \
--disable-linux-aio \
--disable-lzo \
@ -207,12 +201,17 @@ syscall layer occurs on the native hardware and operating system.
--disable-nettle \
--disable-numa \
--disable-opengl \
--disable-parallels \
--disable-pvrdma \
--disable-qcow1 \
--disable-qed \
--disable-rbd \
--disable-rdma \
--disable-replication \
--disable-sanitizers \
--disable-sdl \
--disable-seccomp \
--disable-sheepdog \
--disable-smartcard \
--disable-snappy \
--disable-spice \
@ -220,6 +219,7 @@ syscall layer occurs on the native hardware and operating system.
--disable-tpm \
--disable-usb-redir \
--disable-vde \
--disable-vdi \
--disable-vhost-crypto \
--disable-vhost-net \
--disable-virglrenderer \
@ -229,6 +229,7 @@ syscall layer occurs on the native hardware and operating system.
--disable-vnc-png \
--disable-vnc-sasl \
--disable-vte \
--disable-vvfat \
--disable-whpx \
--disable-xen \
--disable-xen-pci-passthrough \

View File

@ -24,11 +24,10 @@ License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-
Group: System/Emulators/PC
QEMU_VERSION
Release: 0
Source: https://wiki.qemu.org/download/%{srcname}-%{version}.tar.xz
Source99: https://wiki.qemu.org/download/%{srcname}-%{version}.tar.xz.sig
Source: https://wiki.qemu.org/download/%{srcname}-%{srcver}.tar.xz
Source100: %{srcname}.keyring
Source400: update_git.sh
# Upstream First -- https://wiki.qemu-project.org/Contribute/SubmitAPatch
# Upstream First -- https://wiki.qemu.org/Contribute/SubmitAPatch
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
PATCH_FILES
# Please do not add QEMU patches manually here.
@ -61,7 +60,7 @@ architecture. The syscall interface is intercepted and execution below the
syscall layer occurs on the native hardware and operating system.
%prep
%setup -q -n %{srcname}-%{version}
%setup -q -n %{srcname}-%{expand:%%(SV=%{srcver};echo ${SV%%%%+git*})}
PATCH_EXEC
%build
@ -89,13 +88,16 @@ PATCH_EXEC
--enable-attr \
--disable-blobs \
--disable-bluez \
--disable-bochs \
--disable-brlapi \
--disable-bzip2 \
--disable-cap-ng \
--disable-capstone \
--disable-cloop \
--enable-coroutine-pool \
--disable-curl \
--disable-curses \
--disable-dmg \
--disable-fdt \
--disable-gcrypt \
--disable-glusterfs \
@ -106,6 +108,10 @@ PATCH_EXEC
--disable-jemalloc \
--disable-kvm \
--disable-libiscsi \
--disable-libnfs \
--disable-libpmem \
--disable-libssh2 \
--disable-libusb \
--disable-libxml2 \
--disable-linux-aio \
--disable-lzo \
@ -116,12 +122,17 @@ PATCH_EXEC
--disable-nettle \
--disable-numa \
--disable-opengl \
--disable-parallels \
--disable-pvrdma \
--disable-qcow1 \
--disable-qed \
--disable-rbd \
--disable-rdma \
--disable-replication \
--disable-sanitizers \
--disable-sdl \
--disable-seccomp \
--disable-sheepdog \
--disable-smartcard \
--disable-snappy \
--disable-spice \
@ -129,6 +140,7 @@ PATCH_EXEC
--disable-tpm \
--disable-usb-redir \
--disable-vde \
--disable-vdi \
--disable-vhost-crypto \
--disable-vhost-net \
--disable-virglrenderer \
@ -138,6 +150,7 @@ PATCH_EXEC
--disable-vnc-png \
--disable-vnc-sasl \
--disable-vte \
--disable-vvfat \
--disable-whpx \
--disable-xen \
--disable-xen-pci-passthrough \

View File

@ -1,3 +1,120 @@
-------------------------------------------------------------------
Fri Dec 14 06:24:53 UTC 2018 - lma@suse.com
- Use /bin/bash to echo value into sys fs for ksm control (bsc#1112646)
-------------------------------------------------------------------
Wed Dec 12 21:33:13 UTC 2018 - Bruce Rogers <brogers@suse.com>
- fix memory leak in xen_disk (bsc#1100408)
0039-xen_disk-Avoid-repeated-memory-allo.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-3.1
-------------------------------------------------------------------
Wed Dec 12 09:31:20 UTC 2018 - olaf@aepfle.de
- building against xen-devel requires the XC_* compat macros to be
set because this version of QEMU will be built against many
versions of Xen. configure will decide on the appropriate function
names it knows about today. To actually call these functions,
future versions of Xen may require XC_* to be set.
Furthermore, fix a bug in QEMU: xen_common.h undefines the XC_*
macros unconditionally.
-------------------------------------------------------------------
Tue Dec 11 17:38:09 UTC 2018 - Bruce Rogers <brogers@suse.com>
- Update to v3.1.0: See http://wiki.qemu.org/ChangeLog/3.1
Take note that ongoing feature deprecation is tracked at both
http://wiki.qemu-project.org/Features/LegacyRemoval and in
Appendix B of the qemu-doc.* files installed with the qemu package
Some noteworthy changes:
* x86 IceLake-Server and IceLake-Client cpu models added
* Document recommendations for choosing cpu modesl for x86 guests
* Support for Hyper-V enlightened VMCS
* stdvga and bochs-display devices can expose EDID information to the
guest. stdvga xres and yres properties are exposed in the EDID information
* s390 improvements: vfio-ap crypto device support, max-cpu model added,
etoken support, huge page backing support
* ARM: ARMv6M architecture and Cortex-M0 cpu host support added,
Cortex-A72 cpu model added, GICv2 virtualization extensions, emulation
of AArch32 virtualization, Scalable Vector Extension implemented
* Support for AMD IOMMU interrupt remapping and guest virtual APIC mode
* Multithreaded TCG on x86 is considered supportable
* Add a patch to triple timeout of block io tests, since the obs
environment is fickle
* x86 save/restore and live migration is prohibited if Intel KVM nested
virtualization is enabled
* Patches dropped (upstream unless otherwise noted):
0033-migration-warn-about-inconsistent-s.patch (shouldn't be needed anymore)
0035-configure-Modify-python-used-for-io.patch (upstream now python3 friendly)
0039-tests-boot-serial-test-Bump-timeout.patch
0040-linux-headers-update.patch
0041-s390x-kvm-add-etoken-facility.patch
0042-seccomp-prefer-SCMP_ACT_KILL_PROCES.patch
0043-configure-require-libseccomp-2.2.0.patch
0044-seccomp-set-the-seccomp-filter-to-a.patch
0045-sandbox-disable-sandbox-if-CONFIG_S.patch
0046-seccomp-check-TSYNC-host-capability.patch
0047-linux-user-init_guest_space-Try-to-.patch
0048-ne2000-fix-possible-out-of-bound-ac.patch
0049-rtl8139-fix-possible-out-of-bound-a.patch
0050-pcnet-fix-possible-buffer-overflow.patch
0051-net-ignore-packet-size-greater-than.patch
0052-lsi53c895a-check-message-length-val.patch
0053-nvme-fix-oob-access-issue-CVE-2018-.patch (fixed differently upstream)
* Patches renamed:
0034-smbios-Add-1-terminator-if-any-stri.patch
-> 0033-smbios-Add-1-terminator-if-any-stri.patch
0036-qemu-io-tests-comment-out-problemat.patch
-> 0034-qemu-io-tests-comment-out-problemat.patch
0037-tests-test-thread-pool-is-racy-add-.patch
-> 0035-tests-test-thread-pool-is-racy-add-.patch
0038-xen-add-block-resize-support-for-xe.patch
-> 0036-xen-add-block-resize-support-for-xe.patch
* Patches added:
0037-tests-qemu-iotests-Triple-timeout-o.patch
0038-tests-block-io-test-130-needs-some-.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-3.1
- Update includes the following bug fixes: bsc#1108474, bsc#1117615
- Update includes the following SLE requested functionality: FATE#324810,
FATE#325875, FATE#326369, FATE#326378, FATE#326379, FATE#326401,
FATE#326672, FATE#326829
- Make the following packaging changes related to the new release
* Enable libpmem, pvrdma, vhost-crypto features and qemu-block-nfs
subpackage
* New roms available: vgabios-bochs-display.bin, vgabios-ramfb.bin
* New binary tool included (qemu-edid) for testing the new qemu edid
generator
- Tweaked patches we carry to pass qemu's checkpatch checker
- Modify update_git.sh script to enable packaging qemu from development
time sources, not just at release time
- Removed erroneous (and now useless) tests for tar and gzip formats
- Don't exclude s390x anymore from building the qemu-testsuite
- Based on current OBS building observations make changes to storage
and memory requires specified in the _constraints file
-------------------------------------------------------------------
Thu Nov 8 17:42:55 UTC 2018 - Bruce Rogers <brogers@suse.com>
- Re-sync openSUSE and SUSE SLE qemu packages. This changes file
is the openSUSE one with this entry providing the intervening
SLE CVE, FATE, and bugzilla references, which are still addressed
in this package, and not yet called out in this changes file.
* CVE-2018-10839 CVE-2018-16847 CVE-2018-17958 CVE-2018-17962
CVE-2018-17963 CVE-2018-18849
* bsc#1110910 bsc#1111006 bsc#1111010 bsc#1111013 bsc#1114422
bsc#1114529
* Patches added:
0047-linux-user-init_guest_space-Try-to-.patch
0048-ne2000-fix-possible-out-of-bound-ac.patch
0049-rtl8139-fix-possible-out-of-bound-a.patch
0050-pcnet-fix-possible-buffer-overflow.patch
0051-net-ignore-packet-size-greater-than.patch
0052-lsi53c895a-check-message-length-val.patch
0053-nvme-fix-oob-access-issue-CVE-2018-.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-3.0
-------------------------------------------------------------------
Fri Oct 5 16:52:15 UTC 2018 - Larry Dewey <ldewey@suse.com>
* Adding changes to mitigate seccomp vulnerability

View File

@ -110,11 +110,12 @@ Url: https://www.qemu.org/
Summary: Machine emulator and virtualizer
License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT
Group: System/Emulators/PC
Version: 3.0.0
%define qemuver 3.1.0
%define srcver 3.1.0
Version: %qemuver
Release: 0
%define qemuver 3.0.0
Source: https://wiki.qemu.org/download/%{srcname}-%{version}.tar.xz
Source99: https://wiki.qemu.org/download/%{srcname}-%{version}.tar.xz.sig
Source: https://wiki.qemu.org/download/%{srcname}-%{srcver}.tar.xz
Source99: https://wiki.qemu.org/download/%{srcname}-%{srcver}.tar.xz.sig
Source100: %{srcname}.keyring
Source1: 80-kvm.rules
Source2: 71-sev.rules
@ -134,7 +135,7 @@ Source14: supported.arm.txt
Source300: qemu-rpmlintrc
Source301: ipxe-stub-out-the-SAN-req-s-in-int13.patch
Source400: update_git.sh
# Upstream First -- https://wiki.qemu-project.org/Contribute/SubmitAPatch
# Upstream First -- https://wiki.qemu.org/Contribute/SubmitAPatch
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch
Patch0002: 0002-qemu-binfmt-conf-Modify-default-pat.patch
@ -168,52 +169,42 @@ Patch0029: 0029-tests-Add-QOM-property-unit-tests.patch
Patch0030: 0030-tests-Add-scsi-disk-test.patch
Patch0031: 0031-Switch-order-of-libraries-for-mpath.patch
Patch0032: 0032-Make-installed-scripts-explicitly-p.patch
Patch0033: 0033-migration-warn-about-inconsistent-s.patch
Patch0034: 0034-smbios-Add-1-terminator-if-any-stri.patch
Patch0035: 0035-configure-Modify-python-used-for-io.patch
Patch0036: 0036-qemu-io-tests-comment-out-problemat.patch
Patch0037: 0037-tests-test-thread-pool-is-racy-add-.patch
Patch0038: 0038-xen-add-block-resize-support-for-xe.patch
Patch0039: 0039-tests-boot-serial-test-Bump-timeout.patch
Patch0040: 0040-linux-headers-update.patch
Patch0041: 0041-s390x-kvm-add-etoken-facility.patch
Patch0042: 0042-seccomp-prefer-SCMP_ACT_KILL_PROCES.patch
Patch0043: 0043-configure-require-libseccomp-2.2.0.patch
Patch0044: 0044-seccomp-set-the-seccomp-filter-to-a.patch
Patch0045: 0045-sandbox-disable-sandbox-if-CONFIG_S.patch
Patch0046: 0046-seccomp-check-TSYNC-host-capability.patch
Patch0033: 0033-smbios-Add-1-terminator-if-any-stri.patch
Patch0034: 0034-qemu-io-tests-comment-out-problemat.patch
Patch0035: 0035-tests-test-thread-pool-is-racy-add-.patch
Patch0036: 0036-xen-add-block-resize-support-for-xe.patch
Patch0037: 0037-tests-qemu-iotests-Triple-timeout-o.patch
Patch0038: 0038-tests-block-io-test-130-needs-some-.patch
Patch0039: 0039-xen_disk-Avoid-repeated-memory-allo.patch
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
# If for any reason we have base QEMU patches which are conditionally applied,
# include them here
# SeaBIOS / SeaVGABIOS
# SeaBIOS / SeaVGABIOS - path: roms/seabios (patch range 1100-1199)
Patch1100: seabios-use-python2-explicitly-as-needed.patch
Patch1101: seabios-switch-to-python3-as-needed.patch
# ipxe
# PATCH-FIX-OPENSUSE ipxe-stable-buildid.patch brogers@suse.com -- reproducible builds
# ipxe - path: roms/ipxe (patch range 1200-1299)
Patch1200: ipxe-stable-buildid.patch
Patch1201: ipxe-use-gcc6-for-more-compact-code.patch
Patch1202: ipxe-efi-guard-strncpy-with-gcc-warning-ignore-pragma.patch
Patch1203: ipxe-fix-build.patch
# sgabios
# PATCH-FIX-OPENSUSE sgabios-stable-buildid.patch brogers@suse.com -- reproducible builds
# sgabios - path: roms/sgabios (patch range 1300-1399)
Patch1300: sgabios-stable-buildid.patch
# SLOF (Currently no patches)
# SLOF - path: roms/SLOF (patch range 1400-1499) (Currently no patches)
# skiboot
# skiboot - path: roms/skiboot (patch range 1500-1599)
Patch1500: skiboot-hdata-i2c.c-fix-building-with-gcc8.patch
# ui/keycodemapdb (Currently no patches)
# keycodemapdb - path: ui/keycodemapdb (patch range 1600-1699) (Currently no patches)
# openBIOS - path: roms/openbios (patch range 1700-1799) (Currently no patches)
# If for any reason we have any QEMU patches which are conditionally applied,
# "manually" include them here:
ExcludeArch: s390
%if "%{name}" == "qemu-testsuite"
ExcludeArch: s390x
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#!BuildIgnore: gcc-PIE
BuildRequires: Mesa-devel
@ -264,17 +255,13 @@ BuildRequires: libfdt1-devel
BuildRequires: libgbm-devel
BuildRequires: libgcrypt-devel
BuildRequires: libgnutls-devel
%if 0%{?with_rbd}
%if 0%{?is_opensuse} || 0%{?sle_version} > 120100
BuildRequires: librbd-devel
%else
BuildRequires: ceph-devel
%endif
%endif
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
BuildRequires: libiscsi-devel
%endif
BuildRequires: libjpeg-devel
%if 0%{?is_opensuse}
BuildRequires: libnfs-devel
%endif
%ifarch %ix86 x86_64
%if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315
BuildRequires: libnuma-devel
@ -292,8 +279,18 @@ BuildRequires: libnuma-devel
%endif
BuildRequires: libpcap-devel
BuildRequires: libpixman-1-0-devel
%ifarch x86_64
BuildRequires: libpmem-devel
%endif
BuildRequires: libpng-devel
BuildRequires: libpulse-devel
%if 0%{?with_rbd}
%if 0%{?is_opensuse} || 0%{?sle_version} > 120100
BuildRequires: librbd-devel
%else
BuildRequires: ceph-devel
%endif
%endif
%if 0%{?with_seccomp}
BuildRequires: libseccomp-devel
%endif
@ -361,6 +358,9 @@ BuildRequires: qemu-block-gluster = %{qemuver}
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
BuildRequires: qemu-block-iscsi = %{qemuver}
%endif
%if 0%{?is_opensuse}
BuildRequires: qemu-block-nfs = %{qemuver}
%endif
%if 0%{?with_rbd}
BuildRequires: qemu-block-rbd = %{qemuver}
%endif
@ -417,6 +417,9 @@ Suggests: qemu-block-gluster
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
Suggests: qemu-block-iscsi
%endif
%if 0%{?is_opensuse}
Suggests: qemu-block-nfs
%endif
%if 0%{?with_rbd}
Suggests: qemu-block-rbd
%endif
@ -457,12 +460,13 @@ multiboot.bin kvmvapic.bin}
%endif
%endif
%define x86_extra_built_firmware_list {bios.bin bios-256k.bin sgabios.bin \
vgabios.bin vgabios-cirrus.bin vgabios-stdvga.bin vgabios-virtio.bin \
vgabios-vmware.bin vgabios-qxl.bin pxe-e1000.rom pxe-pcnet.rom \
pxe-ne2k_pci.rom pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom}
%define x86_extra_built_firmware_list {bios.bin bios-256k.bin pxe-e1000.rom \
pxe-eepro100.rom pxe-ne2k_pci.rom pxe-pcnet.rom pxe-rtl8139.rom pxe-virtio.rom \
sgabios.bin vgabios-bochs-display.bin vgabios.bin vgabios-cirrus.bin \
vgabios-qxl.bin vgabios-ramfb.bin vgabios-stdvga.bin vgabios-virtio.bin \
vgabios-vmware.bin}
%define x86_64_only_extra_built_firmware_list {efi-e1000.rom efi-e1000e.rom \
efi-eepro100.rom efi-pcnet.rom efi-ne2k_pci.rom efi-rtl8139.rom efi-virtio.rom \
efi-eepro100.rom efi-ne2k_pci.rom efi-pcnet.rom efi-rtl8139.rom efi-virtio.rom \
efi-vmxnet3.rom}
%if %{build_x86_firmware_from_source}
@ -685,6 +689,18 @@ This package contains a module for accessing network-based image files over an
iSCSI network connection from qemu-img tool and QEMU system emulation.
%endif
%if 0%{?is_opensuse}
%package block-nfs
Summary: direct Network File System support for QEMU
Group: System/Emulators/PC
Version: %{qemuver}
Release: 0
%{qemu_module_conflicts}
%description block-nfs
This package contains a module for directly accessing nfs based image files.
%endif
%if 0%{?with_rbd}
%package block-rbd
Summary: Rados Block Device (Ceph) support for QEMU
@ -820,7 +836,7 @@ to provide information and control at the guest OS level.
%package seabios
Summary: x86 Legacy BIOS for QEMU
Group: System/Emulators/PC
Version: 1.11.2
Version: 1.12.0
Release: 0
BuildArch: noarch
Conflicts: %name < 1.6.0
@ -832,7 +848,7 @@ is the default and legacy BIOS for QEMU.
%package vgabios
Summary: VGA BIOSes for QEMU
Group: System/Emulators/PC
Version: 1.11.2
Version: 1.12.0
Release: 0
BuildArch: noarch
Conflicts: %name < 1.6.0
@ -887,7 +903,7 @@ This package provides a service file for starting and stopping KSM.
%endif # !qemu-testsuite
%prep
%setup -q -n %{srcname}-%{qemuver}
%setup -q -n %{srcname}-%{expand:%%(SV=%{srcver};echo ${SV%%%%+git*})}
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
@ -927,13 +943,6 @@ This package provides a service file for starting and stopping KSM.
%patch0037 -p1
%patch0038 -p1
%patch0039 -p1
%patch0040 -p1
%patch0041 -p1
%patch0042 -p1
%patch0043 -p1
%patch0044 -p1
%patch0045 -p1
%patch0046 -p1
pushd roms/seabios
%patch1100 -p1
@ -965,6 +974,9 @@ popd
pushd ui/keycodemapdb
popd
pushd roms/openbios
popd
# as a safeguard, delete the firmware files that we intend to build
for i in %built_firmware
do
@ -972,6 +984,15 @@ do
done
%build
XC_COMPAT="
-DXC_WANT_COMPAT_DEVICEMODEL_API=1
-DXC_WANT_COMPAT_EVTCHN_API=1
-DXC_WANT_COMPAT_GNTTAB_API=1
-DXC_WANT_COMPAT_MAP_FOREIGN_API=1
"
XC_COMPAT="`echo ${XC_COMPAT} | xargs`"
sed -i~ /undef/d include/hw/xen/xen_common.h
diff -u include/hw/xen/xen_common.h~ include/hw/xen/xen_common.h || :
./configure \
--prefix=%_prefix \
--sysconfdir=%_sysconfdir \
@ -985,7 +1006,7 @@ done
%else
--python=%_bindir/python2 \
%endif
--extra-cflags="%{optflags}" \
--extra-cflags="%{optflags} ${XC_COMPAT}" \
--disable-stack-protector \
--disable-strip \
--with-pkgversion="%(echo '%{distro}' | sed 's/ (.*)//')" \
@ -1001,14 +1022,17 @@ done
%endif
--enable-attr \
--enable-bluez \
--enable-bochs \
--enable-brlapi \
--enable-bzip2 \
--enable-cap-ng \
--disable-capstone \
--enable-cloop \
--enable-coroutine-pool \
--disable-crypto-afalg \
--enable-curl \
--enable-curses \
--enable-dmg \
--enable-fdt \
--enable-gcrypt \
%if 0%{?with_glusterfs}
@ -1018,7 +1042,6 @@ done
%endif
--enable-gnutls \
--enable-gtk \
--with-gtkabi=3.0 \
--disable-hax \
--disable-hvf \
--disable-jemalloc \
@ -1032,7 +1055,16 @@ done
%else
--disable-libiscsi \
%endif
%if 0%{?is_opensuse}
--enable-libnfs \
%else
--disable-libnfs \
%endif
%ifarch x86_64
--enable-libpmem \
%else
--disable-libpmem \
%endif
--enable-libssh2 \
--enable-libusb \
--disable-libxml2 \
@ -1071,6 +1103,14 @@ done
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
--enable-opengl \
%endif
--enable-parallels \
%if 0%{?suse_version} >= 1315
--enable-pvrdma \
%else
--disable-pvrdma \
%endif
--enable-qcow1 \
--enable-qed \
%if 0%{?with_rbd}
--enable-rbd \
%else
@ -1098,6 +1138,7 @@ done
%else
--disable-seccomp \
%endif
--enable-sheepdog \
%if 0%{?is_opensuse}
--enable-smartcard \
%else
@ -1109,7 +1150,8 @@ done
--enable-tpm \
--enable-usb-redir \
--enable-vde \
--disable-vhost-crypto \
--enable-vdi \
--enable-vhost-crypto \
--enable-vhost-net \
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
--enable-virglrenderer \
@ -1124,6 +1166,7 @@ done
%else
--enable-vte \
%endif
--enable-vvfat \
--disable-whpx \
%ifarch x86_64
--enable-xen \
@ -1213,7 +1256,7 @@ done
%endif
%if %{build_skiboot_from_source}
make %{?_smp_mflags} -C roms skiboot SKIBOOT_VERSION=skiboot-5.9 CROSS=
make %{?_smp_mflags} -C roms skiboot CROSS=
%endif
%if %{build_slof_from_source}
@ -1255,19 +1298,6 @@ export QEMU_IO_PROG=%_bindir/qemu-io
export QEMU_NBD_PROG=%_bindir/qemu-nbd
make check-block V=1
# Create minimal gzip format file
echo "Test" > test.txt
cat test.txt | gzip - > test.gz
# Check qemu-img info output (bsc#945778)
format=`qemu-img info test.gz | grep "file format:" | cut -d ':' -f 2 | tr -d '[:space:]'`
[ "$format" == "raw" ] || false
# Create minimal tar format file
tar cf test.tar test.txt
# Check qemu-img info output (bsc#945778)
format=`qemu-img info test.tar | grep "file format:" | cut -d ':' -f 2 | tr -d '[:space:]'`
[ "$format" == "raw" ] || false
%endif # qemu-testsuite
%install
@ -1424,6 +1454,7 @@ fi
%_docdir/%name/qemu-ga-ref.html
%_mandir/man1/%name.1.gz
%_mandir/man7/qemu-block-drivers.7.gz
%_mandir/man7/qemu-cpu-models.7.gz
%_mandir/man7/qemu-qmp-ref.7.gz
%_mandir/man7/qemu-ga-ref.7.gz
%dir %_datadir/%name
@ -1463,7 +1494,6 @@ fi
%defattr(-, root, root)
%_bindir/qemu-system-ppc
%_bindir/qemu-system-ppc64
%_bindir/qemu-system-ppcemb
%_datadir/%name/bamboo.dtb
%_datadir/%name/canyonlands.dtb
%_datadir/%name/openbios-ppc
@ -1568,6 +1598,13 @@ fi
%_libdir/%name/block-iscsi.so
%endif
%if 0%{?is_opensuse}
%files block-nfs
%defattr(-, root, root)
%dir %_libdir/%name
%_libdir/%name/block-nfs.so
%endif
%if 0%{?with_rbd}
%files block-rbd
%defattr(-, root, root)
@ -1638,6 +1675,8 @@ fi
%_datadir/%name/vgabios-stdvga.bin
%_datadir/%name/vgabios-virtio.bin
%_datadir/%name/vgabios-vmware.bin
%_datadir/%name/vgabios-bochs-display.bin
%_datadir/%name/vgabios-ramfb.bin
%files sgabios
%defattr(-, root, root)
@ -1668,6 +1707,7 @@ fi
%_mandir/man1/qemu-img.1.gz
%_mandir/man1/virtfs-proxy-helper.1.gz
%_mandir/man8/qemu-nbd.8.gz
%_bindir/qemu-edid
%_bindir/ivshmem-client
%_bindir/ivshmem-server
%_bindir/qemu-io

View File

@ -1,3 +1,120 @@
-------------------------------------------------------------------
Fri Dec 14 06:24:53 UTC 2018 - lma@suse.com
- Use /bin/bash to echo value into sys fs for ksm control (bsc#1112646)
-------------------------------------------------------------------
Wed Dec 12 21:33:13 UTC 2018 - Bruce Rogers <brogers@suse.com>
- fix memory leak in xen_disk (bsc#1100408)
0039-xen_disk-Avoid-repeated-memory-allo.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-3.1
-------------------------------------------------------------------
Wed Dec 12 09:31:20 UTC 2018 - olaf@aepfle.de
- building against xen-devel requires the XC_* compat macros to be
set because this version of QEMU will be built against many
versions of Xen. configure will decide on the appropriate function
names it knows about today. To actually call these functions,
future versions of Xen may require XC_* to be set.
Furthermore, fix a bug in QEMU: xen_common.h undefines the XC_*
macros unconditionally.
-------------------------------------------------------------------
Tue Dec 11 17:38:09 UTC 2018 - Bruce Rogers <brogers@suse.com>
- Update to v3.1.0: See http://wiki.qemu.org/ChangeLog/3.1
Take note that ongoing feature deprecation is tracked at both
http://wiki.qemu-project.org/Features/LegacyRemoval and in
Appendix B of the qemu-doc.* files installed with the qemu package
Some noteworthy changes:
* x86 IceLake-Server and IceLake-Client cpu models added
* Document recommendations for choosing cpu modesl for x86 guests
* Support for Hyper-V enlightened VMCS
* stdvga and bochs-display devices can expose EDID information to the
guest. stdvga xres and yres properties are exposed in the EDID information
* s390 improvements: vfio-ap crypto device support, max-cpu model added,
etoken support, huge page backing support
* ARM: ARMv6M architecture and Cortex-M0 cpu host support added,
Cortex-A72 cpu model added, GICv2 virtualization extensions, emulation
of AArch32 virtualization, Scalable Vector Extension implemented
* Support for AMD IOMMU interrupt remapping and guest virtual APIC mode
* Multithreaded TCG on x86 is considered supportable
* Add a patch to triple timeout of block io tests, since the obs
environment is fickle
* x86 save/restore and live migration is prohibited if Intel KVM nested
virtualization is enabled
* Patches dropped (upstream unless otherwise noted):
0033-migration-warn-about-inconsistent-s.patch (shouldn't be needed anymore)
0035-configure-Modify-python-used-for-io.patch (upstream now python3 friendly)
0039-tests-boot-serial-test-Bump-timeout.patch
0040-linux-headers-update.patch
0041-s390x-kvm-add-etoken-facility.patch
0042-seccomp-prefer-SCMP_ACT_KILL_PROCES.patch
0043-configure-require-libseccomp-2.2.0.patch
0044-seccomp-set-the-seccomp-filter-to-a.patch
0045-sandbox-disable-sandbox-if-CONFIG_S.patch
0046-seccomp-check-TSYNC-host-capability.patch
0047-linux-user-init_guest_space-Try-to-.patch
0048-ne2000-fix-possible-out-of-bound-ac.patch
0049-rtl8139-fix-possible-out-of-bound-a.patch
0050-pcnet-fix-possible-buffer-overflow.patch
0051-net-ignore-packet-size-greater-than.patch
0052-lsi53c895a-check-message-length-val.patch
0053-nvme-fix-oob-access-issue-CVE-2018-.patch (fixed differently upstream)
* Patches renamed:
0034-smbios-Add-1-terminator-if-any-stri.patch
-> 0033-smbios-Add-1-terminator-if-any-stri.patch
0036-qemu-io-tests-comment-out-problemat.patch
-> 0034-qemu-io-tests-comment-out-problemat.patch
0037-tests-test-thread-pool-is-racy-add-.patch
-> 0035-tests-test-thread-pool-is-racy-add-.patch
0038-xen-add-block-resize-support-for-xe.patch
-> 0036-xen-add-block-resize-support-for-xe.patch
* Patches added:
0037-tests-qemu-iotests-Triple-timeout-o.patch
0038-tests-block-io-test-130-needs-some-.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-3.1
- Update includes the following bug fixes: bsc#1108474, bsc#1117615
- Update includes the following SLE requested functionality: FATE#324810,
FATE#325875, FATE#326369, FATE#326378, FATE#326379, FATE#326401,
FATE#326672, FATE#326829
- Make the following packaging changes related to the new release
* Enable libpmem, pvrdma, vhost-crypto features and qemu-block-nfs
subpackage
* New roms available: vgabios-bochs-display.bin, vgabios-ramfb.bin
* New binary tool included (qemu-edid) for testing the new qemu edid
generator
- Tweaked patches we carry to pass qemu's checkpatch checker
- Modify update_git.sh script to enable packaging qemu from development
time sources, not just at release time
- Removed erroneous (and now useless) tests for tar and gzip formats
- Don't exclude s390x anymore from building the qemu-testsuite
- Based on current OBS building observations make changes to storage
and memory requires specified in the _constraints file
-------------------------------------------------------------------
Thu Nov 8 17:42:55 UTC 2018 - Bruce Rogers <brogers@suse.com>
- Re-sync openSUSE and SUSE SLE qemu packages. This changes file
is the openSUSE one with this entry providing the intervening
SLE CVE, FATE, and bugzilla references, which are still addressed
in this package, and not yet called out in this changes file.
* CVE-2018-10839 CVE-2018-16847 CVE-2018-17958 CVE-2018-17962
CVE-2018-17963 CVE-2018-18849
* bsc#1110910 bsc#1111006 bsc#1111010 bsc#1111013 bsc#1114422
bsc#1114529
* Patches added:
0047-linux-user-init_guest_space-Try-to-.patch
0048-ne2000-fix-possible-out-of-bound-ac.patch
0049-rtl8139-fix-possible-out-of-bound-a.patch
0050-pcnet-fix-possible-buffer-overflow.patch
0051-net-ignore-packet-size-greater-than.patch
0052-lsi53c895a-check-message-length-val.patch
0053-nvme-fix-oob-access-issue-CVE-2018-.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-3.0
-------------------------------------------------------------------
Fri Oct 5 16:52:15 UTC 2018 - Larry Dewey <ldewey@suse.com>
* Adding changes to mitigate seccomp vulnerability

186
qemu.spec
View File

@ -110,11 +110,12 @@ Url: https://www.qemu.org/
Summary: Machine emulator and virtualizer
License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT
Group: System/Emulators/PC
Version: 3.0.0
%define qemuver 3.1.0
%define srcver 3.1.0
Version: %qemuver
Release: 0
%define qemuver 3.0.0
Source: https://wiki.qemu.org/download/%{srcname}-%{version}.tar.xz
Source99: https://wiki.qemu.org/download/%{srcname}-%{version}.tar.xz.sig
Source: https://wiki.qemu.org/download/%{srcname}-%{srcver}.tar.xz
Source99: https://wiki.qemu.org/download/%{srcname}-%{srcver}.tar.xz.sig
Source100: %{srcname}.keyring
Source1: 80-kvm.rules
Source2: 71-sev.rules
@ -134,7 +135,7 @@ Source14: supported.arm.txt
Source300: qemu-rpmlintrc
Source301: ipxe-stub-out-the-SAN-req-s-in-int13.patch
Source400: update_git.sh
# Upstream First -- https://wiki.qemu-project.org/Contribute/SubmitAPatch
# Upstream First -- https://wiki.qemu.org/Contribute/SubmitAPatch
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch
Patch0002: 0002-qemu-binfmt-conf-Modify-default-pat.patch
@ -168,52 +169,42 @@ Patch0029: 0029-tests-Add-QOM-property-unit-tests.patch
Patch0030: 0030-tests-Add-scsi-disk-test.patch
Patch0031: 0031-Switch-order-of-libraries-for-mpath.patch
Patch0032: 0032-Make-installed-scripts-explicitly-p.patch
Patch0033: 0033-migration-warn-about-inconsistent-s.patch
Patch0034: 0034-smbios-Add-1-terminator-if-any-stri.patch
Patch0035: 0035-configure-Modify-python-used-for-io.patch
Patch0036: 0036-qemu-io-tests-comment-out-problemat.patch
Patch0037: 0037-tests-test-thread-pool-is-racy-add-.patch
Patch0038: 0038-xen-add-block-resize-support-for-xe.patch
Patch0039: 0039-tests-boot-serial-test-Bump-timeout.patch
Patch0040: 0040-linux-headers-update.patch
Patch0041: 0041-s390x-kvm-add-etoken-facility.patch
Patch0042: 0042-seccomp-prefer-SCMP_ACT_KILL_PROCES.patch
Patch0043: 0043-configure-require-libseccomp-2.2.0.patch
Patch0044: 0044-seccomp-set-the-seccomp-filter-to-a.patch
Patch0045: 0045-sandbox-disable-sandbox-if-CONFIG_S.patch
Patch0046: 0046-seccomp-check-TSYNC-host-capability.patch
Patch0033: 0033-smbios-Add-1-terminator-if-any-stri.patch
Patch0034: 0034-qemu-io-tests-comment-out-problemat.patch
Patch0035: 0035-tests-test-thread-pool-is-racy-add-.patch
Patch0036: 0036-xen-add-block-resize-support-for-xe.patch
Patch0037: 0037-tests-qemu-iotests-Triple-timeout-o.patch
Patch0038: 0038-tests-block-io-test-130-needs-some-.patch
Patch0039: 0039-xen_disk-Avoid-repeated-memory-allo.patch
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
# If for any reason we have base QEMU patches which are conditionally applied,
# include them here
# SeaBIOS / SeaVGABIOS
# SeaBIOS / SeaVGABIOS - path: roms/seabios (patch range 1100-1199)
Patch1100: seabios-use-python2-explicitly-as-needed.patch
Patch1101: seabios-switch-to-python3-as-needed.patch
# ipxe
# PATCH-FIX-OPENSUSE ipxe-stable-buildid.patch brogers@suse.com -- reproducible builds
# ipxe - path: roms/ipxe (patch range 1200-1299)
Patch1200: ipxe-stable-buildid.patch
Patch1201: ipxe-use-gcc6-for-more-compact-code.patch
Patch1202: ipxe-efi-guard-strncpy-with-gcc-warning-ignore-pragma.patch
Patch1203: ipxe-fix-build.patch
# sgabios
# PATCH-FIX-OPENSUSE sgabios-stable-buildid.patch brogers@suse.com -- reproducible builds
# sgabios - path: roms/sgabios (patch range 1300-1399)
Patch1300: sgabios-stable-buildid.patch
# SLOF (Currently no patches)
# SLOF - path: roms/SLOF (patch range 1400-1499) (Currently no patches)
# skiboot
# skiboot - path: roms/skiboot (patch range 1500-1599)
Patch1500: skiboot-hdata-i2c.c-fix-building-with-gcc8.patch
# ui/keycodemapdb (Currently no patches)
# keycodemapdb - path: ui/keycodemapdb (patch range 1600-1699) (Currently no patches)
# openBIOS - path: roms/openbios (patch range 1700-1799) (Currently no patches)
# If for any reason we have any QEMU patches which are conditionally applied,
# "manually" include them here:
ExcludeArch: s390
%if "%{name}" == "qemu-testsuite"
ExcludeArch: s390x
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#!BuildIgnore: gcc-PIE
BuildRequires: Mesa-devel
@ -264,17 +255,13 @@ BuildRequires: libfdt1-devel
BuildRequires: libgbm-devel
BuildRequires: libgcrypt-devel
BuildRequires: libgnutls-devel
%if 0%{?with_rbd}
%if 0%{?is_opensuse} || 0%{?sle_version} > 120100
BuildRequires: librbd-devel
%else
BuildRequires: ceph-devel
%endif
%endif
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
BuildRequires: libiscsi-devel
%endif
BuildRequires: libjpeg-devel
%if 0%{?is_opensuse}
BuildRequires: libnfs-devel
%endif
%ifarch %ix86 x86_64
%if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315
BuildRequires: libnuma-devel
@ -292,8 +279,18 @@ BuildRequires: libnuma-devel
%endif
BuildRequires: libpcap-devel
BuildRequires: libpixman-1-0-devel
%ifarch x86_64
BuildRequires: libpmem-devel
%endif
BuildRequires: libpng-devel
BuildRequires: libpulse-devel
%if 0%{?with_rbd}
%if 0%{?is_opensuse} || 0%{?sle_version} > 120100
BuildRequires: librbd-devel
%else
BuildRequires: ceph-devel
%endif
%endif
%if 0%{?with_seccomp}
BuildRequires: libseccomp-devel
%endif
@ -361,6 +358,9 @@ BuildRequires: qemu-block-gluster = %{qemuver}
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
BuildRequires: qemu-block-iscsi = %{qemuver}
%endif
%if 0%{?is_opensuse}
BuildRequires: qemu-block-nfs = %{qemuver}
%endif
%if 0%{?with_rbd}
BuildRequires: qemu-block-rbd = %{qemuver}
%endif
@ -417,6 +417,9 @@ Suggests: qemu-block-gluster
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
Suggests: qemu-block-iscsi
%endif
%if 0%{?is_opensuse}
Suggests: qemu-block-nfs
%endif
%if 0%{?with_rbd}
Suggests: qemu-block-rbd
%endif
@ -457,12 +460,13 @@ multiboot.bin kvmvapic.bin}
%endif
%endif
%define x86_extra_built_firmware_list {bios.bin bios-256k.bin sgabios.bin \
vgabios.bin vgabios-cirrus.bin vgabios-stdvga.bin vgabios-virtio.bin \
vgabios-vmware.bin vgabios-qxl.bin pxe-e1000.rom pxe-pcnet.rom \
pxe-ne2k_pci.rom pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom}
%define x86_extra_built_firmware_list {bios.bin bios-256k.bin pxe-e1000.rom \
pxe-eepro100.rom pxe-ne2k_pci.rom pxe-pcnet.rom pxe-rtl8139.rom pxe-virtio.rom \
sgabios.bin vgabios-bochs-display.bin vgabios.bin vgabios-cirrus.bin \
vgabios-qxl.bin vgabios-ramfb.bin vgabios-stdvga.bin vgabios-virtio.bin \
vgabios-vmware.bin}
%define x86_64_only_extra_built_firmware_list {efi-e1000.rom efi-e1000e.rom \
efi-eepro100.rom efi-pcnet.rom efi-ne2k_pci.rom efi-rtl8139.rom efi-virtio.rom \
efi-eepro100.rom efi-ne2k_pci.rom efi-pcnet.rom efi-rtl8139.rom efi-virtio.rom \
efi-vmxnet3.rom}
%if %{build_x86_firmware_from_source}
@ -685,6 +689,18 @@ This package contains a module for accessing network-based image files over an
iSCSI network connection from qemu-img tool and QEMU system emulation.
%endif
%if 0%{?is_opensuse}
%package block-nfs
Summary: direct Network File System support for QEMU
Group: System/Emulators/PC
Version: %{qemuver}
Release: 0
%{qemu_module_conflicts}
%description block-nfs
This package contains a module for directly accessing nfs based image files.
%endif
%if 0%{?with_rbd}
%package block-rbd
Summary: Rados Block Device (Ceph) support for QEMU
@ -820,7 +836,7 @@ to provide information and control at the guest OS level.
%package seabios
Summary: x86 Legacy BIOS for QEMU
Group: System/Emulators/PC
Version: 1.11.2
Version: 1.12.0
Release: 0
BuildArch: noarch
Conflicts: %name < 1.6.0
@ -832,7 +848,7 @@ is the default and legacy BIOS for QEMU.
%package vgabios
Summary: VGA BIOSes for QEMU
Group: System/Emulators/PC
Version: 1.11.2
Version: 1.12.0
Release: 0
BuildArch: noarch
Conflicts: %name < 1.6.0
@ -887,7 +903,7 @@ This package provides a service file for starting and stopping KSM.
%endif # !qemu-testsuite
%prep
%setup -q -n %{srcname}-%{qemuver}
%setup -q -n %{srcname}-%{expand:%%(SV=%{srcver};echo ${SV%%%%+git*})}
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
@ -927,13 +943,6 @@ This package provides a service file for starting and stopping KSM.
%patch0037 -p1
%patch0038 -p1
%patch0039 -p1
%patch0040 -p1
%patch0041 -p1
%patch0042 -p1
%patch0043 -p1
%patch0044 -p1
%patch0045 -p1
%patch0046 -p1
pushd roms/seabios
%patch1100 -p1
@ -965,6 +974,9 @@ popd
pushd ui/keycodemapdb
popd
pushd roms/openbios
popd
# as a safeguard, delete the firmware files that we intend to build
for i in %built_firmware
do
@ -972,6 +984,15 @@ do
done
%build
XC_COMPAT="
-DXC_WANT_COMPAT_DEVICEMODEL_API=1
-DXC_WANT_COMPAT_EVTCHN_API=1
-DXC_WANT_COMPAT_GNTTAB_API=1
-DXC_WANT_COMPAT_MAP_FOREIGN_API=1
"
XC_COMPAT="`echo ${XC_COMPAT} | xargs`"
sed -i~ /undef/d include/hw/xen/xen_common.h
diff -u include/hw/xen/xen_common.h~ include/hw/xen/xen_common.h || :
./configure \
--prefix=%_prefix \
--sysconfdir=%_sysconfdir \
@ -985,7 +1006,7 @@ done
%else
--python=%_bindir/python2 \
%endif
--extra-cflags="%{optflags}" \
--extra-cflags="%{optflags} ${XC_COMPAT}" \
--disable-stack-protector \
--disable-strip \
--with-pkgversion="%(echo '%{distro}' | sed 's/ (.*)//')" \
@ -1001,14 +1022,17 @@ done
%endif
--enable-attr \
--enable-bluez \
--enable-bochs \
--enable-brlapi \
--enable-bzip2 \
--enable-cap-ng \
--disable-capstone \
--enable-cloop \
--enable-coroutine-pool \
--disable-crypto-afalg \
--enable-curl \
--enable-curses \
--enable-dmg \
--enable-fdt \
--enable-gcrypt \
%if 0%{?with_glusterfs}
@ -1018,7 +1042,6 @@ done
%endif
--enable-gnutls \
--enable-gtk \
--with-gtkabi=3.0 \
--disable-hax \
--disable-hvf \
--disable-jemalloc \
@ -1032,7 +1055,16 @@ done
%else
--disable-libiscsi \
%endif
%if 0%{?is_opensuse}
--enable-libnfs \
%else
--disable-libnfs \
%endif
%ifarch x86_64
--enable-libpmem \
%else
--disable-libpmem \
%endif
--enable-libssh2 \
--enable-libusb \
--disable-libxml2 \
@ -1071,6 +1103,14 @@ done
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
--enable-opengl \
%endif
--enable-parallels \
%if 0%{?suse_version} >= 1315
--enable-pvrdma \
%else
--disable-pvrdma \
%endif
--enable-qcow1 \
--enable-qed \
%if 0%{?with_rbd}
--enable-rbd \
%else
@ -1098,6 +1138,7 @@ done
%else
--disable-seccomp \
%endif
--enable-sheepdog \
%if 0%{?is_opensuse}
--enable-smartcard \
%else
@ -1109,7 +1150,8 @@ done
--enable-tpm \
--enable-usb-redir \
--enable-vde \
--disable-vhost-crypto \
--enable-vdi \
--enable-vhost-crypto \
--enable-vhost-net \
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
--enable-virglrenderer \
@ -1124,6 +1166,7 @@ done
%else
--enable-vte \
%endif
--enable-vvfat \
--disable-whpx \
%ifarch x86_64
--enable-xen \
@ -1213,7 +1256,7 @@ done
%endif
%if %{build_skiboot_from_source}
make %{?_smp_mflags} -C roms skiboot SKIBOOT_VERSION=skiboot-5.9 CROSS=
make %{?_smp_mflags} -C roms skiboot CROSS=
%endif
%if %{build_slof_from_source}
@ -1255,19 +1298,6 @@ export QEMU_IO_PROG=%_bindir/qemu-io
export QEMU_NBD_PROG=%_bindir/qemu-nbd
make check-block V=1
# Create minimal gzip format file
echo "Test" > test.txt
cat test.txt | gzip - > test.gz
# Check qemu-img info output (bsc#945778)
format=`qemu-img info test.gz | grep "file format:" | cut -d ':' -f 2 | tr -d '[:space:]'`
[ "$format" == "raw" ] || false
# Create minimal tar format file
tar cf test.tar test.txt
# Check qemu-img info output (bsc#945778)
format=`qemu-img info test.tar | grep "file format:" | cut -d ':' -f 2 | tr -d '[:space:]'`
[ "$format" == "raw" ] || false
%endif # qemu-testsuite
%install
@ -1424,6 +1454,7 @@ fi
%_docdir/%name/qemu-ga-ref.html
%_mandir/man1/%name.1.gz
%_mandir/man7/qemu-block-drivers.7.gz
%_mandir/man7/qemu-cpu-models.7.gz
%_mandir/man7/qemu-qmp-ref.7.gz
%_mandir/man7/qemu-ga-ref.7.gz
%dir %_datadir/%name
@ -1463,7 +1494,6 @@ fi
%defattr(-, root, root)
%_bindir/qemu-system-ppc
%_bindir/qemu-system-ppc64
%_bindir/qemu-system-ppcemb
%_datadir/%name/bamboo.dtb
%_datadir/%name/canyonlands.dtb
%_datadir/%name/openbios-ppc
@ -1568,6 +1598,13 @@ fi
%_libdir/%name/block-iscsi.so
%endif
%if 0%{?is_opensuse}
%files block-nfs
%defattr(-, root, root)
%dir %_libdir/%name
%_libdir/%name/block-nfs.so
%endif
%if 0%{?with_rbd}
%files block-rbd
%defattr(-, root, root)
@ -1638,6 +1675,8 @@ fi
%_datadir/%name/vgabios-stdvga.bin
%_datadir/%name/vgabios-virtio.bin
%_datadir/%name/vgabios-vmware.bin
%_datadir/%name/vgabios-bochs-display.bin
%_datadir/%name/vgabios-ramfb.bin
%files sgabios
%defattr(-, root, root)
@ -1668,6 +1707,7 @@ fi
%_mandir/man1/qemu-img.1.gz
%_mandir/man1/virtfs-proxy-helper.1.gz
%_mandir/man8/qemu-nbd.8.gz
%_bindir/qemu-edid
%_bindir/ivshmem-client
%_bindir/ivshmem-server
%_bindir/qemu-io

View File

@ -112,8 +112,7 @@ License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-
Group: System/Emulators/PC
QEMU_VERSION
Release: 0
Source: https://wiki.qemu.org/download/%{srcname}-%{version}.tar.xz
Source99: https://wiki.qemu.org/download/%{srcname}-%{version}.tar.xz.sig
Source: https://wiki.qemu.org/download/%{srcname}-%{srcver}.tar.xz
Source100: %{srcname}.keyring
Source1: 80-kvm.rules
Source2: 71-sev.rules
@ -133,41 +132,38 @@ Source14: supported.arm.txt
Source300: qemu-rpmlintrc
Source301: ipxe-stub-out-the-SAN-req-s-in-int13.patch
Source400: update_git.sh
# Upstream First -- https://wiki.qemu-project.org/Contribute/SubmitAPatch
# Upstream First -- https://wiki.qemu.org/Contribute/SubmitAPatch
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
PATCH_FILES
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
# If for any reason we have base QEMU patches which are conditionally applied,
# include them here
# SeaBIOS / SeaVGABIOS
# SeaBIOS / SeaVGABIOS - path: roms/seabios (patch range 1100-1199)
Patch1100: seabios-use-python2-explicitly-as-needed.patch
Patch1101: seabios-switch-to-python3-as-needed.patch
# ipxe
# PATCH-FIX-OPENSUSE ipxe-stable-buildid.patch brogers@suse.com -- reproducible builds
# ipxe - path: roms/ipxe (patch range 1200-1299)
Patch1200: ipxe-stable-buildid.patch
Patch1201: ipxe-use-gcc6-for-more-compact-code.patch
Patch1202: ipxe-efi-guard-strncpy-with-gcc-warning-ignore-pragma.patch
Patch1203: ipxe-fix-build.patch
# sgabios
# PATCH-FIX-OPENSUSE sgabios-stable-buildid.patch brogers@suse.com -- reproducible builds
# sgabios - path: roms/sgabios (patch range 1300-1399)
Patch1300: sgabios-stable-buildid.patch
# SLOF (Currently no patches)
# SLOF - path: roms/SLOF (patch range 1400-1499) (Currently no patches)
# skiboot
# skiboot - path: roms/skiboot (patch range 1500-1599)
Patch1500: skiboot-hdata-i2c.c-fix-building-with-gcc8.patch
# ui/keycodemapdb (Currently no patches)
# keycodemapdb - path: ui/keycodemapdb (patch range 1600-1699) (Currently no patches)
# openBIOS - path: roms/openbios (patch range 1700-1799) (Currently no patches)
# If for any reason we have any QEMU patches which are conditionally applied,
# "manually" include them here:
ExcludeArch: s390
%if "%{name}" == "qemu-testsuite"
ExcludeArch: s390x
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#!BuildIgnore: gcc-PIE
BuildRequires: Mesa-devel
@ -218,17 +214,13 @@ BuildRequires: libfdt1-devel
BuildRequires: libgbm-devel
BuildRequires: libgcrypt-devel
BuildRequires: libgnutls-devel
%if 0%{?with_rbd}
%if 0%{?is_opensuse} || 0%{?sle_version} > 120100
BuildRequires: librbd-devel
%else
BuildRequires: ceph-devel
%endif
%endif
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
BuildRequires: libiscsi-devel
%endif
BuildRequires: libjpeg-devel
%if 0%{?is_opensuse}
BuildRequires: libnfs-devel
%endif
%ifarch %ix86 x86_64
%if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315
BuildRequires: libnuma-devel
@ -246,8 +238,18 @@ BuildRequires: libnuma-devel
%endif
BuildRequires: libpcap-devel
BuildRequires: libpixman-1-0-devel
%ifarch x86_64
BuildRequires: libpmem-devel
%endif
BuildRequires: libpng-devel
BuildRequires: libpulse-devel
%if 0%{?with_rbd}
%if 0%{?is_opensuse} || 0%{?sle_version} > 120100
BuildRequires: librbd-devel
%else
BuildRequires: ceph-devel
%endif
%endif
%if 0%{?with_seccomp}
BuildRequires: libseccomp-devel
%endif
@ -315,6 +317,9 @@ BuildRequires: qemu-block-gluster = %{qemuver}
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
BuildRequires: qemu-block-iscsi = %{qemuver}
%endif
%if 0%{?is_opensuse}
BuildRequires: qemu-block-nfs = %{qemuver}
%endif
%if 0%{?with_rbd}
BuildRequires: qemu-block-rbd = %{qemuver}
%endif
@ -371,6 +376,9 @@ Suggests: qemu-block-gluster
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
Suggests: qemu-block-iscsi
%endif
%if 0%{?is_opensuse}
Suggests: qemu-block-nfs
%endif
%if 0%{?with_rbd}
Suggests: qemu-block-rbd
%endif
@ -411,12 +419,13 @@ multiboot.bin kvmvapic.bin}
%endif
%endif
%define x86_extra_built_firmware_list {bios.bin bios-256k.bin sgabios.bin \
vgabios.bin vgabios-cirrus.bin vgabios-stdvga.bin vgabios-virtio.bin \
vgabios-vmware.bin vgabios-qxl.bin pxe-e1000.rom pxe-pcnet.rom \
pxe-ne2k_pci.rom pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom}
%define x86_extra_built_firmware_list {bios.bin bios-256k.bin pxe-e1000.rom \
pxe-eepro100.rom pxe-ne2k_pci.rom pxe-pcnet.rom pxe-rtl8139.rom pxe-virtio.rom \
sgabios.bin vgabios-bochs-display.bin vgabios.bin vgabios-cirrus.bin \
vgabios-qxl.bin vgabios-ramfb.bin vgabios-stdvga.bin vgabios-virtio.bin \
vgabios-vmware.bin}
%define x86_64_only_extra_built_firmware_list {efi-e1000.rom efi-e1000e.rom \
efi-eepro100.rom efi-pcnet.rom efi-ne2k_pci.rom efi-rtl8139.rom efi-virtio.rom \
efi-eepro100.rom efi-ne2k_pci.rom efi-pcnet.rom efi-rtl8139.rom efi-virtio.rom \
efi-vmxnet3.rom}
%if %{build_x86_firmware_from_source}
@ -639,6 +648,18 @@ This package contains a module for accessing network-based image files over an
iSCSI network connection from qemu-img tool and QEMU system emulation.
%endif
%if 0%{?is_opensuse}
%package block-nfs
Summary: direct Network File System support for QEMU
Group: System/Emulators/PC
Version: %{qemuver}
Release: 0
%{qemu_module_conflicts}
%description block-nfs
This package contains a module for directly accessing nfs based image files.
%endif
%if 0%{?with_rbd}
%package block-rbd
Summary: Rados Block Device (Ceph) support for QEMU
@ -841,7 +862,7 @@ This package provides a service file for starting and stopping KSM.
%endif # !qemu-testsuite
%prep
%setup -q -n %{srcname}-%{qemuver}
%setup -q -n %{srcname}-%{expand:%%(SV=%{srcver};echo ${SV%%%%+git*})}
PATCH_EXEC
pushd roms/seabios
@ -874,6 +895,9 @@ popd
pushd ui/keycodemapdb
popd
pushd roms/openbios
popd
# as a safeguard, delete the firmware files that we intend to build
for i in %built_firmware
do
@ -881,6 +905,15 @@ do
done
%build
XC_COMPAT="
-DXC_WANT_COMPAT_DEVICEMODEL_API=1
-DXC_WANT_COMPAT_EVTCHN_API=1
-DXC_WANT_COMPAT_GNTTAB_API=1
-DXC_WANT_COMPAT_MAP_FOREIGN_API=1
"
XC_COMPAT="`echo ${XC_COMPAT} | xargs`"
sed -i~ /undef/d include/hw/xen/xen_common.h
diff -u include/hw/xen/xen_common.h~ include/hw/xen/xen_common.h || :
./configure \
--prefix=%_prefix \
--sysconfdir=%_sysconfdir \
@ -894,7 +927,7 @@ done
%else
--python=%_bindir/python2 \
%endif
--extra-cflags="%{optflags}" \
--extra-cflags="%{optflags} ${XC_COMPAT}" \
--disable-stack-protector \
--disable-strip \
--with-pkgversion="%(echo '%{distro}' | sed 's/ (.*)//')" \
@ -910,14 +943,17 @@ done
%endif
--enable-attr \
--enable-bluez \
--enable-bochs \
--enable-brlapi \
--enable-bzip2 \
--enable-cap-ng \
--disable-capstone \
--enable-cloop \
--enable-coroutine-pool \
--disable-crypto-afalg \
--enable-curl \
--enable-curses \
--enable-dmg \
--enable-fdt \
--enable-gcrypt \
%if 0%{?with_glusterfs}
@ -927,7 +963,6 @@ done
%endif
--enable-gnutls \
--enable-gtk \
--with-gtkabi=3.0 \
--disable-hax \
--disable-hvf \
--disable-jemalloc \
@ -941,7 +976,16 @@ done
%else
--disable-libiscsi \
%endif
%if 0%{?is_opensuse}
--enable-libnfs \
%else
--disable-libnfs \
%endif
%ifarch x86_64
--enable-libpmem \
%else
--disable-libpmem \
%endif
--enable-libssh2 \
--enable-libusb \
--disable-libxml2 \
@ -980,6 +1024,14 @@ done
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
--enable-opengl \
%endif
--enable-parallels \
%if 0%{?suse_version} >= 1315
--enable-pvrdma \
%else
--disable-pvrdma \
%endif
--enable-qcow1 \
--enable-qed \
%if 0%{?with_rbd}
--enable-rbd \
%else
@ -1007,6 +1059,7 @@ done
%else
--disable-seccomp \
%endif
--enable-sheepdog \
%if 0%{?is_opensuse}
--enable-smartcard \
%else
@ -1018,7 +1071,8 @@ done
--enable-tpm \
--enable-usb-redir \
--enable-vde \
--disable-vhost-crypto \
--enable-vdi \
--enable-vhost-crypto \
--enable-vhost-net \
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
--enable-virglrenderer \
@ -1033,6 +1087,7 @@ done
%else
--enable-vte \
%endif
--enable-vvfat \
--disable-whpx \
%ifarch x86_64
--enable-xen \
@ -1122,7 +1177,7 @@ done
%endif
%if %{build_skiboot_from_source}
make %{?_smp_mflags} -C roms skiboot SKIBOOT_VERSION=skiboot-5.9 CROSS=
make %{?_smp_mflags} -C roms skiboot CROSS=
%endif
%if %{build_slof_from_source}
@ -1164,19 +1219,6 @@ export QEMU_IO_PROG=%_bindir/qemu-io
export QEMU_NBD_PROG=%_bindir/qemu-nbd
make check-block V=1
# Create minimal gzip format file
echo "Test" > test.txt
cat test.txt | gzip - > test.gz
# Check qemu-img info output (bsc#945778)
format=`qemu-img info test.gz | grep "file format:" | cut -d ':' -f 2 | tr -d '[:space:]'`
[ "$format" == "raw" ] || false
# Create minimal tar format file
tar cf test.tar test.txt
# Check qemu-img info output (bsc#945778)
format=`qemu-img info test.tar | grep "file format:" | cut -d ':' -f 2 | tr -d '[:space:]'`
[ "$format" == "raw" ] || false
%endif # qemu-testsuite
%install
@ -1333,6 +1375,7 @@ fi
%_docdir/%name/qemu-ga-ref.html
%_mandir/man1/%name.1.gz
%_mandir/man7/qemu-block-drivers.7.gz
%_mandir/man7/qemu-cpu-models.7.gz
%_mandir/man7/qemu-qmp-ref.7.gz
%_mandir/man7/qemu-ga-ref.7.gz
%dir %_datadir/%name
@ -1372,7 +1415,6 @@ fi
%defattr(-, root, root)
%_bindir/qemu-system-ppc
%_bindir/qemu-system-ppc64
%_bindir/qemu-system-ppcemb
%_datadir/%name/bamboo.dtb
%_datadir/%name/canyonlands.dtb
%_datadir/%name/openbios-ppc
@ -1477,6 +1519,13 @@ fi
%_libdir/%name/block-iscsi.so
%endif
%if 0%{?is_opensuse}
%files block-nfs
%defattr(-, root, root)
%dir %_libdir/%name
%_libdir/%name/block-nfs.so
%endif
%if 0%{?with_rbd}
%files block-rbd
%defattr(-, root, root)
@ -1547,6 +1596,8 @@ fi
%_datadir/%name/vgabios-stdvga.bin
%_datadir/%name/vgabios-virtio.bin
%_datadir/%name/vgabios-vmware.bin
%_datadir/%name/vgabios-bochs-display.bin
%_datadir/%name/vgabios-ramfb.bin
%files sgabios
%defattr(-, root, root)
@ -1577,6 +1628,7 @@ fi
%_mandir/man1/qemu-img.1.gz
%_mandir/man1/virtfs-proxy-helper.1.gz
%_mandir/man8/qemu-nbd.8.gz
%_bindir/qemu-edid
%_bindir/ivshmem-client
%_bindir/ivshmem-server
%_bindir/qemu-io

View File

@ -164,10 +164,8 @@ Deprecated, Superseded, Modified and Dropped Features
acpitable, boot, and smp respectively.
- These previously supported command line options are now considered deprecated:
-balloon (use -device virtio-balloon instead)
-clock
-device ivshmem (use ivshmem-doorbell or ivshmem-plain instead)
-nodefconfig (use -no-user-config instead)
-no-frame
-virtioconsole (use -device virtconsole instead)
@ -175,9 +173,11 @@ Deprecated, Superseded, Modified and Dropped Features
<previously mentioned items have been moved to another category>
- These previously supported command line options are no longer recognized:
-balloon (use -device virtio-balloon instead)
-device pc-sysfw (no longer needed)
-device pci-assign, -device kvm-pci-assign (use -device vfio-pci instead)
-display sdl
-nodefconfig (use -no-user-config instead)
-sdl
- The previously unsupported machine type xlnx-ep108 is no longer recognized
@ -193,9 +193,13 @@ Deprecated, Superseded, Modified and Dropped Features
and could possibly change syntax in the future.
- These previously unsupported command line options are now deprecated:
-bt
-enable-hax
- These previously unsupported command line options are no longer recognized:
-device at24c-eeprom
-device mmio_interface
-device ssi-sd
-tdf
- This previously supported QMP command is now deprecated:
@ -238,7 +242,7 @@ QEMU Command-Line and Monitor Syntax and Support
better functionality and usability going forward. In some cases existing
problems or even bugs in older interfaces cannot be fixed due to functional
expectations, but are resolved in the newer interface or option.
This advice includes moving to the most recent machine type (eg virt-3.0
This advice includes moving to the most recent machine type (eg virt-3.1
instead of virt-2.11) if possible.
- The following command line options are supported:
@ -247,7 +251,6 @@ QEMU Command-Line and Monitor Syntax and Support
-alt-grab
-append ...
-audio-help
-balloon ...
-bios ...
-blockdev ...
-boot ...
@ -291,8 +294,8 @@ QEMU Command-Line and Monitor Syntax and Support
-kernel ...
-loadvm ...
-m ...
-M [help|?|none|virt|virt-2.6|virt-2.11|virtio-3.0]
-machine [help|?|none|virt|virt-2.6|virt-2.11|virt-3.0]
-M [help|?|none|virt|virt-2.6|virt-2.11|virtio-3.1]
-machine [help|?|none|virt|virt-2.6|virt-2.11|virt-3.1]
-mem-path ...
-mem-prealloc
-mon ...
@ -305,7 +308,6 @@ QEMU Command-Line and Monitor Syntax and Support
-nic ...
-no-acpi
-nodefaults
-nodefconfig
-no-frame
-nographic
-no-quit
@ -510,6 +512,7 @@ QEMU Command-Line and Monitor Syntax and Support
query-cpu-model-expansion
query-cpus
query-cpus-fast
query-display-options
query-dump
query-dump-guest-memory-capability
query-events
@ -579,71 +582,73 @@ QEMU Command-Line and Monitor Syntax and Support
arm1136-r2-arm-cpu|arm1176-arm-cpu|arm11mpcore-arm-cpu|
arm11mpcore_priv|arm11-scu|arm926-arm-cpu|arm946-arm-cpu|
ARMbitband-memory|arm.cortex-a9-global-timer|arm_gic|arm-gicv2m|
arm_mptimer|armv7m_nvic|aspeed.timer|aspeed.vic|ast2400|at24c-eeprom|
arm_mptimer|armv7m_nvic|aspeed.timer|aspeed.vic|ast2400|
at25128a-nonjedec|at25256a-nonjedec|at25df041a|at25df321a|at25df641|
at25fs010|at25fs040|at26df081a|at26df161a|at26df321|at26f004|
at45db081d|bcm2835-aux|bcm2835-dma|bcm2835-fb|bcm2835-ic|bcm2835-mbox|
bcm2835-peripherals|bcm2835-property|bcm2836|bcm2836-control|
bochs-display|cadence_gem|cadence_ttc|cadence_uart|ccid-card-emulated|
ccid-card-passthru|cfi.pflash02|cirrus-vga|corgi-ssp|
cortex-a15-arm-cpu|cortex-a53-arm-cpu|cortex-a57-arm-cpu|
cortex-a8-arm-cpu|cortex-a9-arm-cpu|cortex-m3-arm-cpu|
ccid-card-passthru|cfi.pflash02|cirrus-vga|cmsdk-apb-dualtimer|
cmsdk-apb-watchdog|corgi-ssp|cortex-a15-arm-cpu|cortex-a53-arm-cpu|
cortex-a57-arm-cpu|cortex-a72-arm-cpu|cortex-a8-arm-cpu|
cortex-a9-arm-cpu|cortex-m0-arm-cpu|cortex-m3-arm-cpu|
cortex-m4-arm-cpu|cortex-r5-arm-cpu|cs4231a|digic|digic-timer|
digic-uart|ds1338|dscm1xxxx|e1000|en25f32|en25p32|en25p64|en25q32b|
en25q64|exynos4210.combiner|exynos4210-ehci-usb|exynos4210.fimd|
exynos4210.gic|exynos4210.i2c|exynos4210.irq_gate|exynos4210.mct|
exynos4210.pmu|exynos4210.pwm|exynos4210.rtc|exynos4210.uart|floppy|
fslimx25|fslimx31|fusbh200-ehci-usb|fw_cfg|gd25q32|gd25q64|
fsl,imx6ul|fslimx25|fslimx31|fusbh200-ehci-usb|fw_cfg|gd25q32|gd25q64|
gpex-pcihost|gpex-root|gpio_i2c|gpio-key|gus|hyperv-testdev|
highbank-regs|host-arm-cpu|*-i386-cpu|i8042|ib700|icp-ctrl-regs|
igd-passthrough-isa-bridge|imx25.ccm|imx31.ccm|imx6.ccm|imx.avic|
imx.epit|imx.fec|imx.gpio|imx.gpt|imx.i2c|imx.serial|integrator_core|
integrator_debug|integrator_pic|integrator_pit|intel_iommu|
ipmi-bmc-extern|ipmi-bmc-sim|isa-applesmc|isa-cirrus-vga|isa-debugcon|
isa-debug-exit|isa-fdc|isa-ide|isa-ipmi-bt|isa-ipmi-kcs|isa-parallel|
isa-vga|kvaser_pci|kvm-arm-gic|kvm-arm-gicv3|l2x0|lan9118|lm8323|
loader|lsi53c810a|lsi53c895a|m25p05|m25p10|m25p128|m25p16|m25p20|
m25p32|m25p40|m25p64|m25p80|m25pe16|m25pe20|m25pe80|m25px32|
m25px32-s0|m25px32-s1|m25px64|m45pe10|m45pe16|m45pe80|mainstone-fpga|
max1110|max1111|max7310|mioe3680_pci|mmio_interface|msf2-soc|
msf2-sysreg|mss-sp1|mss-timer|musicpal_gpio|musicpal_key|musicpal_lcd|
musicpal-misc|mv88w8618_audio|mv88w8618_eth|mv88w8618_flashcfg|
mv88w8618_pic|mv88w8618_pit|mv88w8618_wlan|mx25l12805d|mx25l12855e|
mx25l1606e|mx25l2005a|mx25l25635e|mx25l25655e|mx25l3205d|mx25l4005a|
mx25l6405d|mx25l8005|n25q032|n25q032a11|n25q032a13|n25q064|n25q064a11|
n25q064a13|n25q128|n25q128a11|n25q128a13|n25q256a|n25q256a11|
n25q256a13|n25q512a|n25q512a11|n25q512a13|nand|ne2k_isa|nvdimm|
omap2-gpio|omap2-intc|omap-gpio|omap_i2c|omap-intc|onenand|pc-dimm|
pc-testdev|piix3-ide|piix3-ide|piix3-ide-xen|piix3-usb-uhci|pl011|
pl011_luminary|pl022|pl031|pl041|pl050_keyboard|pl050_mouse|pl061|
pl061_luminary|pl080|pl081|pl110|pl110_versatile|pl111|pl181|pl190|
pl330|platform-bus-device|pvrdma|pxa250-arm-cpu|pxa255-arm-cpu|
pxa25x-timer|pxa260-arm-cpu|pxa261-arm-cpu|pxa262-arm-cpu|
pxa270-a0-arm-cpu|pxa270-a1-arm-cpu|pxa270-arm-cpu|pxa270-b0-arm-cpu|
pxa270-b1-arm-cpu|pxa270-c0-arm-cpu|pxa270-c5-arm-cpu|pxa27x-timer|
pxa2xx-dma|pxa2xx-fir|pxa2xx-gpio|pxa2xx_i2c|pxa2xx-i2c-slave|
pxa2xx-mmci|pxa2xx-pcmcia|pxa2xx_pic|pxa2xx_rtc|pxa2xx-ssp|ramfb|
realview_gic|realview_mpcore|realview_pci|realview_sysctl|s25fl016k|
s25fl064k|s25fl129p0|s25fl129p1|s25fl256s0|s25fl256s1|s25fl512s|
s25sl004a|s25sl008a|s25sl016a|s25sl032a|s25sl032p|s25sl064a|s25sl064p|
imx.epit|imx.fec|imx.gpio|imx.gpt|imx.i2c|imx.serial|imx6ul.ccm|
integrator_core|integrator_debug|integrator_pic|integrator_pit|
intel_iommu|iotkit-sysctl|iotkit-sysinfo|ipmi-bmc-extern|ipmi-bmc-sim|
isa-applesmc|isa-cirrus-vga|isa-debugcon|isa-debug-exit|isa-fdc|
isa-ide|isa-ipmi-bt|isa-ipmi-kcs|isa-parallel|isa-vga|kvaser_pci|
kvm-arm-gic|kvm-arm-gicv3|l2x0|lan9118|lm8323|loader|lsi53c810a|
lsi53c895a|m25p05|m25p10|m25p128|m25p16|m25p20|m25p32|m25p40|m25p64|
m25p80|m25pe16|m25pe20|m25pe80|m25px32|m25px32-s0|m25px32-s1|m25px64|
m45pe10|m45pe16|m45pe80|mainstone-fpga|max1110|max1111|max7310|
mioe3680_pci|msf2-soc|msf2-sysreg|mss-sp1|mss-timer|musicpal_gpio|
musicpal_key|musicpal_lcd|musicpal-misc|mv88w8618_audio|mv88w8618_eth|
mv88w8618_flashcfg|mv88w8618_pic|mv88w8618_pit|mv88w8618_wlan|
mx25l12805d|mx25l12855e|mx25l1606e|mx25l2005a|mx25l25635e|mx25l25655e|
mx25l3205d|mx25l4005a|mx25l6405d|mx25l8005|n25q032|n25q032a11|
n25q032a13|n25q064|n25q064a11|n25q064a13|n25q128|n25q128a11|
n25q128a13|n25q256a|n25q256a11|n25q256a13|n25q512a|n25q512a11|
n25q512a13|nand|ne2k_isa|nrf51-soc|nrf51_soc.uart|nvdimm|omap2-gpio|
omap2-intc|omap-gpio|omap_i2c|omap-intc|onenand|pc-dimm|pc-testdev|
piix3-ide|piix3-ide|piix3-ide-xen|piix3-usb-uhci|pl011|pl011_luminary|
pl022|pl031|pl041|pl050_keyboard|pl050_mouse|pl061|pl061_luminary|
pl080|pl081|pl110|pl110_versatile|pl111|pl181|pl190|pl330|
platform-bus-device|pvrdma|pxa250-arm-cpu|pxa255-arm-cpu|pxa25x-timer|
pxa260-arm-cpu|pxa261-arm-cpu|pxa262-arm-cpu|pxa270-a0-arm-cpu|
pxa270-a1-arm-cpu|pxa270-arm-cpu|pxa270-b0-arm-cpu|pxa270-b1-arm-cpu|
pxa270-c0-arm-cpu|pxa270-c5-arm-cpu|pxa27x-timer|pxa2xx-dma|
pxa2xx-fir|pxa2xx-gpio|pxa2xx_i2c|pxa2xx-i2c-slave|pxa2xx-mmci|
pxa2xx-pcmcia|pxa2xx_pic|pxa2xx_rtc|pxa2xx-ssp|ramfb|realview_gic|
realview_mpcore|realview_pci|realview_sysctl|s25fl016k|s25fl064k|
s25fl129p0|s25fl129p1|s25fl256s0|s25fl256s1|s25fl512s|s25sl004a|
s25sl008a|s25sl016a|s25sl032a|s25sl032p|s25sl064a|s25sl064p|
s25sl12800|s25sl12801|s70fl01gs|sa1100-arm-cpu|sa1110-arm-cpu|sb16|
scoop|sdhci-pci|sga|sii9022|sl-nand|smbus-eeprom|smc91c111|sp804|
spitz-keyboard|spitz-lcdtg|ssd0303|ssd0323|ssi-sd|sst25vf016b|
sst25vf032b|sst25vf040b|sst25vf080b|sst25wf010|sst25wf020|sst25wf040|
sst25wf080|sst25wf512|stellaris-adc|stellaris_enet|stellaris-gptm|
stellaris-i2c|stm32f205-soc|stm32f2xx-syscfg|stm32f2xx-timer|
stm32f2xx-usart|strongarm-gpio|strongarm_pic|strongarm-ppc|
strongarm-rtc|strongarm-ssp|strongarm-uart|tegra2-ehci-usb|
ti925t-arm-cpu|tmp105|tosa_dac|tosa-ssp|tusb6010|twl92230|usb-redir|
versatile_i2c|versatilepb_sic|versatile_pci|versatile_pci_host|
vfio-pci-igd-lpc-bridge|vhost-user-blk|vhost-user-blk-pci|
vhost-user-scsi|vhost-user-scsi-pci|vhost-vsock-device|
vhost-vsock-pci|virtconsole|virtio-crypto-device|virtio-crypto-pci|
virtio-vga|vmgenid|vmware-svga|w25q256|w25q32|w25q32dw|w25q64|w25q80|
w25q80bl|w25x10|w25x16|w25x20|w25x32|w25x40|w25x64|w25x80|wm8750|
*-x86_64-cpu|xen-backend|xen-pci-passthrough|xen-platform|
xen-pvdevice|xgmac|xilinxzynq_slcr|xlnx.ps7-qspi|xlnx.ps7-spi|
xlnxps7-usb|xlnxzynqmp|xlnxzynq-xadc]
spitz-keyboard|spitz-lcdtg|ssd0303|ssd0323|sst25vf016b|sst25vf032b|
sst25vf040b|sst25vf080b|sst25wf010|sst25wf020|sst25wf040| sst25wf080|
sst25wf512|stellaris-adc|stellaris_enet|stellaris-gptm|stellaris-i2c|
stm32f205-soc|stm32f2xx-syscfg|stm32f2xx-timer|stm32f2xx-usart|
strongarm-gpio|strongarm_pic|strongarm-ppc|strongarm-rtc|
strongarm-ssp|strongarm-uart|tegra2-ehci-usb|ti925t-arm-cpu|tmp105|
tosa_dac|tosa-ssp|tusb6010|twl92230|tz-msc|usb-redir|versatile_i2c|
versatilepb_sic|versatile_pci|versatile_pci_host|
vfio-pci-igd-lpc-bridge|vfio-pci-nohotplug|vfio-platform|
vhost-user-blk|vhost-user-blk-pci|vhost-user-scsi|vhost-user-scsi-pci|
vhost-vsock-device|vhost-vsock-pci|virtconsole|virtio-crypto-device|
virtio-crypto-pci|virtio-vga|vmgenid|vmware-svga|w25q256|w25q32|
w25q32dw|w25q64|w25q80|w25q80bl|w25x10|w25x16|w25x20|w25x32|w25x40|
w25x64|w25x80|wm8750|*-x86_64-cpu|xen-backend|xen-pci-passthrough|
xen-platform|xen-pvdevice|xgmac|xilinxzynq_slcr|xlnx-versal|
xlnx.ps7-qspi|xlnx.ps7-spi|xlnxps7-usb|xlnxzynqmp|xlnxzynq-xadc]
(the following are aliases of these unsupported devices: lsi|
virtio-input-host|virtio-keyboard|virtio-mouse|virtio-tablet|
virtio-gpu||piix-usb-uhci)
@ -654,6 +659,7 @@ QEMU Command-Line and Monitor Syntax and Support
raw]
-dtb file
-enable-hax
-enable-sync-profile
-fda/-fdb ...
-g ...
-hda/-hdb/-hdc/-hdd ...
@ -661,20 +667,22 @@ QEMU Command-Line and Monitor Syntax and Support
-L ...
-M [akita|ast2500-evb|borzoi|canon-a1100|cheetah|collie|connex|cubieboard|
highbank|imx25-pdk|integratorcp|kzm|lm3s6965evb|lm3s811evb|mainstone|
mcimx7d-sabre|midway|mps2-an385|mps2-an505|mps2-an511|musicpal|n800|n810|
netduino2|nuri|palmetto-bmc|raspi2|raspi3|realview-eb|realview-eb-mpcore|
realview-pb-a8|realview-pbx-a9|romulus-bmc|sabrelite|smdkc210|spitz|sx1|
sx1-v1|terrier|tosa|verdex|versatileab|versatilepb|vexpress-a15|
vexpress-a9|virt-2.7|virt-2.8|virt-2.12|witherspoon-bmc|xilinx-zynq-a9|
mcimx6ul-evk|mcimx7d-sabre|microbit|midway|mps2-an385|mps2-an505|
mps2-an511|musicpal|n800|n810|netduino2|nuri|palmetto-bmc|raspi2|raspi3|
realview-eb|realview-eb-mpcore|realview-pb-a8|realview-pbx-a9|
romulus-bmc|sabrelite|smdkc210|spitz|sx1|sx1-v1|terrier|tosa|verdex|
versatileab|versatilepb|vexpress-a15|vexpress-a9|virt-2.7|virt-2.8|
virt-2.12|virt-3.0|witherspoon-bmc|xilinx-zynq-a9|xlnx-versal-virt|
xlnx-zcu102|z2]
-machine [akita|ast2500-evb|borzoi|canon-a1100|cheetah|collie|connex|
cubieboard|highbank|imx25-pdk|integratorcp|kzm|lm3s6965evb|
lm3s811evb|mainstone|mcimx7d-sabre|midway|mps2-an385|mps2-an505|
mps2-an511|musicpal|n800|n810|netduino2|nuri|palmetto-bmc|raspi2|
raspi3|realview-eb|realview-eb-mpcore|realview-pb-a8|realview-pbx-a9|
romulus-bmc|sabrelite|smdkc210|spitz|sx1|sx1-v1|terrier|tosa|verdex|
versatileab|versatilepb|vexpress-a15|vexpress-a9|virt-2.7|virt-2.8|
virt-2.12|witherspoon-bmc|xilinx-zynq-a9|xlnx-zcu102|z2]
lm3s811evb|mainstone|mcimx6ul-evk|mcimx7d-sabre|microbit|midway|
mps2-an385|mps2-an505|mps2-an511|musicpal|n800|n810|netduino2|nuri|
palmetto-bmc|raspi2|raspi3|realview-eb|realview-eb-mpcore|
realview-pb-a8|realview-pbx-a9|romulus-bmc|sabrelite|smdkc210|spitz|
sx1|sx1-v1|terrier|tosa|verdex|versatileab|versatilepb|vexpress-a15|
vexpress-a9|virt-2.7|virt-2.8|virt-2.12|virt-3.0|witherspoon-bmc|
xilinx-zynq-a9|xlnx-versal-virt|xlnx-zcu102|z2]
-mtdblock file
-net [dump|socket|vde] ...
-netdev [dump|hubport|l2tpv3|socket|vde] ...
@ -740,6 +748,7 @@ QEMU Command-Line and Monitor Syntax and Support
singlestep ...
snapshot_blkdev ...
stopcapture ...
sync-profile ...
wavcapture ...
x_colo_lost_heartbeat
@ -758,6 +767,7 @@ QEMU Command-Line and Monitor Syntax and Support
nbd-server-add
nbd-server-start
nbd-server-stop
query-colo-status
query-sev
query-sev-launch-measure
x-block-dirty-bitmap-disable

View File

@ -163,10 +163,8 @@ Deprecated, Superseded, Modified and Dropped Features
acpitable, boot, and smp respectively.
- These previously supported command line options are now considered deprecated:
-balloon (use -device virtio-balloon instead)
-clock
-device ivshmem (use ivshmem-doorbell or ivshmem-plain instead)
-nodefconfig (use -no-user-config instead)
-no-frame
-virtioconsole (use -device virtconsole instead)
@ -174,9 +172,11 @@ Deprecated, Superseded, Modified and Dropped Features
<previously mentioned items have been moved to another category>
- These previously supported command line options are no longer recognized:
-balloon (use -device virtio-balloon instead)
-device pc-sysfw (no longer needed)
-device pci-assign, -device kvm-pci-assign (use -device vfio-pci instead)
-display sdl
-nodefconfig (use -no-user-config instead)
-sdl
- These previously unsupported command line options are no longer recognized:
@ -195,9 +195,14 @@ Deprecated, Superseded, Modified and Dropped Features
and could possibly change syntax in the future.
- These previously unsupported command line options are now deprecated:
-bt
-enable-hax
-machine prep (use -machine 40p instead)
-M prep (use -M 40p instead)
- These previously unsupported command line options are no longer recognized:
-device isa-cirrus-vga
-device ramfb
-tdf
- This previously supported QMP command is now deprecated:
@ -240,7 +245,7 @@ QEMU Command-Line and Monitor Syntax and Support
better functionality and usability going forward. In some cases existing
problems or even bugs in older interfaces cannot be fixed due to functional
expectations, but are resolved in the newer interface or option.
This advice includes moving to the most recent machine type (eg pseries-3.0
This advice includes moving to the most recent machine type (eg pseries-3.1
instead of pseries-2.11) if possible.
- The following command line options are supported:
@ -249,7 +254,6 @@ QEMU Command-Line and Monitor Syntax and Support
-alt-grab
-append ...
-audio-help
-balloon ...
-bios ...
-blockdev ...
-boot ...
@ -293,8 +297,8 @@ QEMU Command-Line and Monitor Syntax and Support
-kernel ...
-loadvm ...
-m ...
-M [help|?|none|pseries|pseries-2.11|pseries-3.0]
-machine [help|?|none|pseries|pseries-2.11|pseries-3.0]
-M [help|?|none|pseries|pseries-2.11|pseries-3.1]
-machine [help|?|none|pseries|pseries-2.11|pseries-3.1]
-mem-path ...
-mem-prealloc
-mon ...
@ -306,7 +310,6 @@ QEMU Command-Line and Monitor Syntax and Support
-netdev [bridge|tap|user] ...
-nic ...
-nodefaults
-nodefconfig
-no-frame
-nographic
-no-quit
@ -504,6 +507,7 @@ QEMU Command-Line and Monitor Syntax and Support
query-cpu-model-expansion
query-cpus
query-cpus-fast
query-display-options
query-dump
query-dump-guest-memory-capability
query-events
@ -573,29 +577,29 @@ QEMU Command-Line and Monitor Syntax and Support
e500-spin|escc|esp|eTSEC|floppy|generic-sdhci|gus|grackle-pcihost|
host-spapr-cpu-core|hyperv-testdev|i8042|i82374|i82378|ib700|icp|
icp-kvm|ics|icskvm|igd-passthrough-isa-bridge|intel_iommu|
ipmi-bmc-extern|ipmi-bmc-sim|isa-applesmc|isa-cirrus-vga|isa-debugcon|
isa-debug-exit|isa-fdc|isa-ide|isa-ipmi-bt|isa-ipmi-kcs|isa-m48t59|
isa-parallel|isa-vga|isabus-bridge|kvm-openpic|loader|lsi53c810a|
macio-ide|macio-nvram|mpc8544-guts|mpc8xxx_gpio|ne2k_isa|nvdimm|
openpic|pc-dimm|pc-testdev|pc87312|piix3-ide|piix3-ide|piix3-ide-xen|
piix3-usb-uhci|platform-bus-device|pnv-lpc|powernv-chip-POWER8|
powernv-chip-POWER8E|powernv-chip-POWER8NVL|powernv-chip-POWER9|
powernv-cpu-core-POWER8|powernv-cpu-core-POWER8E|
powernv-cpu-core-POWER8NVL|powernv-cpu-core-POWER9|ppc4xx-pcihost|
prep-systemio|raven-pcihost|rs6000-mc|sb16|sdhci-pci|sga spapr-nvram|
spapr-rng|spapr-rtc|spapr-tce-table|spapr-vio-bridge|spapr-vlan|
spapr-vscsi|spapr-vty|sysbus-m48t02|sysbus-m48t08|sysbus-m48t59|
u3-agp-pcihost|uni-north-agp-pcihost|uni-north-internal-pci-pcihost|
uni-north-pci|uni-north-pci-pcihost|unimplemented-device|usb-redir|
vfio-pci-igd-lpc-bridge|vhost-vsock-device|vhost-vsock-pci|
virtconsole|virtio-crypto-device|virtio-crypto-pci|virtio-mmio|
virtio-vga|vmgenid|vmware-svga| xen-backend|xen-pci-passthrough|
xen-platform|xen-pvdevice|xen-sysdev|xlnx.xps-ethernetlite|
xlnx.xps-intc|xlnx.xps-timer|xlnx.xps-uartlite|*-i386-cpu|
*-powerpc64-cpu|*-spapr-cpu-core|*-x86_64-cpu|vmcoreinfo|sii3112|
vhost-user-blk|vhost-user-blk-pci|pvrdma|sungem|ccid-card-emulated|
ccid-card-passthru| bochs-display|isa-cirrus-vga|ramfb|at24c-eeprom|
i2c-ddc|kvaser_pci|m41t80|mioe3680_pci|pcm3680_pci]
ipmi-bmc-extern|ipmi-bmc-sim|isa-applesmc|isa-debugcon|isa-debug-exit|
isa-fdc|isa-ide|isa-ipmi-bt|isa-ipmi-kcs|isa-m48t59|isa-parallel|
isa-vga|isabus-bridge|kvm-openpic|loader|lsi53c810a|macio-ide|
macio-nvram|mpc8544-guts|mpc8xxx_gpio|ne2k_isa|nvdimm|openpic|pc-dimm|
pc-testdev|pc87312|piix3-ide|piix3-ide|piix3-ide-xen|piix3-usb-uhci|
platform-bus-device|pnv-lpc|powernv-chip-POWER8|powernv-chip-POWER8E|
powernv-chip-POWER8NVL|powernv-chip-POWER9|powernv-cpu-core-POWER8|
powernv-cpu-core-POWER8E|powernv-cpu-core-POWER8NVL|
powernv-cpu-core-POWER9|ppc4xx-pcihost|prep-systemio|raven-pcihost|
rs6000-mc|sb16|sdhci-pci|sga spapr-nvram|spapr-rng|spapr-rtc|
spapr-tce-table|spapr-vio-bridge|spapr-vlan|spapr-vscsi|spapr-vty|
sysbus-m48t02|sysbus-m48t08|sysbus-m48t59|u3-agp-pcihost|
uni-north-agp-pcihost|uni-north-internal-pci-pcihost|uni-north-pci|
uni-north-pci-pcihost|unimplemented-device|usb-redir|
vfio-pci-igd-lpc-bridge|vfio-pci-nohotplug|vfio-platform|
vhost-vsock-device|vhost-vsock-pci|virtconsole|virtio-crypto-device|
virtio-crypto-pci|virtio-mmio|virtio-vga|vmgenid|vmware-svga|
xen-backend|xen-pci-passthrough|xen-platform|xen-pvdevice|xen-sysdev|
xlnx.xps-ethernetlite|xlnx.xps-intc|xlnx.xps-timer|xlnx.xps-uartlite|
*-i386-cpu|*-powerpc64-cpu|*-spapr-cpu-core|*-x86_64-cpu|vmcoreinfo|
sii3112|vhost-user-blk|vhost-user-blk-pci|pvrdma|sungem|
ccid-card-emulated|ccid-card-passthru| bochs-display|isa-cirrus-vga|
at24c-eeprom|i2c-ddc|kvaser_pci|m41t80|mioe3680_pci|pcm3680_pci]
(the following are aliases of these unsupported devices: lsi|
virtio-input-host|virtio-keyboard|virtio-mouse|virtio-tablet|
virtio-gpu|piix-usb-uhci|mac-dbdma|ppc4xx-i2c)
@ -606,6 +610,7 @@ QEMU Command-Line and Monitor Syntax and Support
raw]
-dtb file
-enable-hax
-enable-sync-profile
-fda/-fdb ...
-g ...
-hda/-hdb/-hdc/-hdd ...
@ -614,11 +619,11 @@ QEMU Command-Line and Monitor Syntax and Support
-M [40p|bamboo|g3beige|mac99|mpc8544ds|powernv|ppce500|prep|pseries-2.1|
pseries-2.2|pseries-2.3|pseries-2.4|pseries-2.5|pseries-2.6|pseries-2.7|
pseries-2.8|pseries-2.9|pseries-2.10|pseries-2.12|pseries-2.12-sxxm|
ref405ep|sam460ex|taihu|virtex-ml507]
pseries-3.0|ref405ep|sam460ex|taihu|virtex-ml507]
-machine [40p|bamboo|g3beige|mac99|mpc8544ds|powernv|ppce500|prep|pseries-2.1|
pseries-2.2|pseries-2.3|pseries-2.4|pseries-2.5|pseries-2.6|
pseries-2.7|pseries-2.8|pseries-2.10|pseries-2.12|pseries-2.12-sxxm|
ref405ep|sam460ex|taihu|virtex-ml507]
pseries-3.0|ref405ep|sam460ex|taihu|virtex-ml507]
-mtdblock file
-net [dump|socket|vde] ...
-netdev [dump|hubport|l2tpv3|socket|vde] ...
@ -682,6 +687,7 @@ QEMU Command-Line and Monitor Syntax and Support
singlestep ...
snapshot_blkdev ...
stopcapture ...
sync-profile ...
wavcapture ...
x_colo_lost_heartbeat
@ -701,6 +707,7 @@ QEMU Command-Line and Monitor Syntax and Support
nbd-server-add
nbd-server-start
nbd-server-stop
query-colo-status
query-sev
query-sev-launch-measure
x-block-dirty-bitmap-disable

View File

@ -165,10 +165,8 @@ Deprecated, Superseded, Modified and Dropped Features
acpitable, boot, and smp respectively.
- These previously supported command line options are now considered deprecated:
-balloon (use -device virtio-balloon instead)
-clock
-device ivshmem (use ivshmem-doorbell or ivshmem-plain instead)
-nodefconfig (use -no-user-config instead)
-no-frame
-virtioconsole (use -device virtconsole instead)
@ -176,9 +174,11 @@ Deprecated, Superseded, Modified and Dropped Features
<previously mentioned items have been moved to another category>
- These previously supported command line options are no longer recognized:
-balloon (use -device virtio-balloon instead)
-device pc-sysfw (no longer needed)
-device pci-assign, -device kvm-pci-assign (use -device vfio-pci instead)
-display sdl
-nodefconfig (use -no-user-config instead)
-sdl
- Specifying a cpu feature with both "+feature/-feature" and "feature=on/off"
@ -191,9 +191,12 @@ Deprecated, Superseded, Modified and Dropped Features
and could possibly change syntax in the future.
- These previously unsupported command line options are now deprecated:
-bt
-enable-hax
- These previously unsupported command line options are no longer recognized:
-device mmio_interface
-device ramfb
-tdf
- This previously supported QMP command is now deprecated:
@ -237,7 +240,7 @@ QEMU Command-Line and Monitor Syntax and Support
problems or even bugs in older interfaces cannot be fixed due to functional
expectations, but are resolved in the newer interface or option.
This advice includes moving to the most recent machine type (eg
s390-ccw-virtio-3.0 instead of s390-ccw-virtio-2.11) if possible.
s390-ccw-virtio-3.1 instead of s390-ccw-virtio-2.11) if possible.
- The following command line options are supported:
-accel ...
@ -245,7 +248,6 @@ QEMU Command-Line and Monitor Syntax and Support
-alt-grab
-append ...
-audio-help
-balloon ...
-bios ...
-blockdev ...
-boot ...
@ -286,9 +288,9 @@ QEMU Command-Line and Monitor Syntax and Support
-loadvm ...
-m ...
-M [help|?|none|s390-ccw-virtio|s390-ccw-virtio-2.6|s390-ccw-virtio-2.9|
s390-ccw-virtio-2.11|s390-ccw-virtio-3.0]
s390-ccw-virtio-2.11|s390-ccw-virtio-3.1]
-machine [help|?|none|s390-ccw-virtio|s390-ccw-virtio-2.6|s390-ccw-virtio-2.9|
s390-ccw-virtio-2.11|s390-ccw-virtio-3.0]
s390-ccw-virtio-2.11|s390-ccw-virtio-3.1]
-mem-path ...
-mem-prealloc
-mon ...
@ -300,7 +302,6 @@ QEMU Command-Line and Monitor Syntax and Support
-netdev [bridge|tap|user] ...
-nic ...
-nodefaults
-nodefconfig
-no-frame
-nographic
-no-quit
@ -500,6 +501,7 @@ QEMU Command-Line and Monitor Syntax and Support
query-cpu-model-expansion
query-cpus
query-cpus-fast
query-display-options
query-dump
query-dump-guest-memory-capability
query-events
@ -571,43 +573,44 @@ QEMU Command-Line and Monitor Syntax and Support
igd-passthrough-isa-bridge|intel-hda|intel_iommu|ioh3420|
ipmi-bmc-extern|ipmi-bmc-sim|ipoctal232|isa-applesmc|isa-cirrus-vga|
isa-debugcon|isa-debug-exit|isa-fdc|isa-ide|isa-ipmi-bt|isa-ipmi-kcs|
isa-parallel|isa-serial|isa-vga|lsi53c810|lsi53c810a|megasas|
mmio_interface|mptsas1068|ne2k_isa|ne2k_pci|nec-usb-xhci|nvdimm|nvme|
pc-dimm|pci-testdev|pcnet|pc-testdev|piix3-ide|piix3-ide|
piix3-ide-xen|piix4-usb-uhci|pvrdma|pvscsi|pxb|pxb-host|pxb-pcie|
qemu-s390-cpu|ramfb|rocker|s390-flic|s390-flic-qemu|s390-ipl|
s390-pcihost|s390-sclp-event-facility|s390-skeys-qemu|sb16|sclp|
sclpconsole|sclp-cpu-hotplug|sclplmconsole|sclp-memory-hotplug-dev|
sclpquiesce|sd-card|sdhci-pci|secondary-vga|sga|smbus-eeprom|tpci200|
usb-audio|usb-bot|usb-bt-dongle|usb-ccid|usb-mtp|usb-uas|
vhost-scsi-ccw|vhost-user-blk|vhost-user-blk-pci|vhost-user-scsi|
vhost-user-scsi-pci|vhost-vsock-ccw|virtio-9p-device|
virtio-balloon-ccw|virtio-blk-ccw|virtio-crypto-ccw|virtio-net-ccw|
virtio-rng-ccw|virtio-scsi-ccw|virtio-serial-ccw|virtio-vga|
virtual-css-bridge|vmcoreinfo|vmgenid|vmware-svga|vmxnet3|
vt82c686b-usb-uhci|x3130-upstream|*-x86_64-cpu|xen-backend|
xen-pci-passthrough|xen-platform|xen-pvdevice|xio3130-downstream|
z10BC.2-base-s390x-cpu|z10BC.2-s390x-cpu|z10BC-base-s390x-cpu|
z10BC-s390x-cpu|z10EC.2-base-s390x-cpu|z10EC.2-s390x-cpu|
z10EC.3-base-s390x-cpu|z10EC.3-s390x-cpu|z10EC-base-s390x-cpu|
z10EC-s390x-cpu|z114-base-s390x-cpu|z114-s390x-cpu|
z13.2-base-s390x-cpu|z13.2-s390x-cpu|z13-base-s390x-cpu|z13-s390x-cpu|
z13s-base-s390x-cpu|z13s-s390x-cpu|z196.2-base-s390x-cpu|
z196.2-s390x-cpu|z196-base-s390x-cpu|z196-s390x-cpu|
z800-base-s390x-cpu|z800-s390x-cpu|z890.2-base-s390x-cpu|
z890.2-s390x-cpu|z890.3-base-s390x-cpu|z890.3-s390x-cpu|
z890-base-s390x-cpu|z890-s390x-cpu|z900.2-base-s390x-cpu|
z900.2-s390x-cpu|z900.3-base-s390x-cpu|z900.3-s390x-cpu|
z900-base-s390x-cpu|z900-s390x-cpu|z990.2-base-s390x-cpu|
z990.2-s390x-cpu|z990.3-base-s390x-cpu|z990.3-s390x-cpu|
z990.4-base-s390x-cpu|z990.4-s390x-cpu|z990.5-base-s390x-cpu|
z990.5-s390x-cpu|z990-base-s390x-cpu|z990-s390x-cpu|
z9BC.2-base-s390x-cpu|z9BC.2-s390x-cpu|z9BC-base-s390x-cpu|
z9BC-s390x-cpu|z9EC.2-base-s390x-cpu|z9EC.2-s390x-cpu|
z9EC.3-base-s390x-cpu|z9EC.3-s390x-cpu|z9EC-base-s390x-cpu|
z9EC-s390x-cpu|z14ZR1-base-s390x-cpu|z14ZR1-s390x-cpu|
zBC12-base-s390x-cpu|zBC12-s390x-cpu|zEC12.2-base-s390x-cpu|
zEC12.2-s390x-cpu|zEC12-base-s390x-cpu|zEC12-s390x-cpu]
isa-parallel|isa-serial|isa-vga|lsi53c810|lsi53c810a|max-s390x-cpu|
megasas|mptsas1068|ne2k_isa|ne2k_pci|nec-usb-xhci|nvdimm|nvme|pc-dimm|
pci-testdev|pcnet|pc-testdev|piix3-ide|piix3-ide|piix3-ide-xen|
piix4-usb-uhci|pvrdma|pvscsi|pxb|pxb-host|pxb-pcie|qemu-s390-cpu|
rocker|s390-flic|s390-flic-qemu|s390-ipl|s390-pcihost|
s390-sclp-event-facility|s390-skeys-qemu|sb16|sclp|sclpconsole|
sclp-cpu-hotplug|sclplmconsole|sclp-memory-hotplug-dev|sclpquiesce|
sd-card|sdhci-pci|secondary-vga|sga|smbus-eeprom|tpci200|usb-audio|
usb-bot|usb-bt-dongle|usb-ccid|usb-mtp|usb-uas|vfio-ap|
vfio-pci-nohotplug|vfio-platform|vhost-scsi-ccw|vhost-user-blk|
vhost-user-blk-pci|vhost-user-scsi|vhost-user-scsi-pci|
vhost-vsock-ccw|virtio-9p-device|virtio-balloon-ccw|virtio-blk-ccw|
virtio-crypto-ccw|virtio-net-ccw|virtio-rng-ccw|virtio-scsi-ccw|
virtio-serial-ccw|virtio-vga|virtual-css-bridge|vmcoreinfo|vmgenid|
vmware-svga|vmxnet3|vt82c686b-usb-uhci|x3130-upstream|*-x86_64-cpu|
xen-backend|xen-pci-passthrough|xen-platform|xen-pvdevice|
xio3130-downstream|z10BC.2-base-s390x-cpu|z10BC.2-s390x-cpu|
z10BC-base-s390x-cpu|z10BC-s390x-cpu|z10EC.2-base-s390x-cpu|
z10EC.2-s390x-cpu|z10EC.3-base-s390x-cpu|z10EC.3-s390x-cpu|
z10EC-base-s390x-cpu|z10EC-s390x-cpu|z114-base-s390x-cpu|
z114-s390x-cpu|z13.2-base-s390x-cpu|z13.2-s390x-cpu|
z13-base-s390x-cpu|z13-s390x-cpu|z13s-base-s390x-cpu|z13s-s390x-cpu|
z196.2-base-s390x-cpu|z196.2-s390x-cpu|z196-base-s390x-cpu|
z196-s390x-cpu|z800-base-s390x-cpu|z800-s390x-cpu|
z890.2-base-s390x-cpu|z890.2-s390x-cpu|z890.3-base-s390x-cpu|
z890.3-s390x-cpu|z890-base-s390x-cpu|z890-s390x-cpu|
z900.2-base-s390x-cpu|z900.2-s390x-cpu|z900.3-base-s390x-cpu|
z900.3-s390x-cpu|z900-base-s390x-cpu|z900-s390x-cpu|
z990.2-base-s390x-cpu|z990.2-s390x-cpu|z990.3-base-s390x-cpu|
z990.3-s390x-cpu|z990.4-base-s390x-cpu|z990.4-s390x-cpu|
z990.5-base-s390x-cpu|z990.5-s390x-cpu|z990-base-s390x-cpu|
z990-s390x-cpu|z9BC.2-base-s390x-cpu|z9BC.2-s390x-cpu|
z9BC-base-s390x-cpu|z9BC-s390x-cpu|z9EC.2-base-s390x-cpu|
z9EC.2-s390x-cpu|z9EC.3-base-s390x-cpu|z9EC.3-s390x-cpu|
z9EC-base-s390x-cpu|z9EC-s390x-cpu|z14ZR1-base-s390x-cpu|
z14ZR1-s390x-cpu|zBC12-base-s390x-cpu|zBC12-s390x-cpu|
zEC12.2-base-s390x-cpu|zEC12.2-s390x-cpu|zEC12-base-s390x-cpu|
zEC12-s390x-cpu]
(the following are aliases of these unsupported devices: lsi|
virtio-input-host|virtio-keyboard|virtio-mouse|virtio-tablet|
virtio-gpu|virtio-9p|ahci|e1000-82540em|vfio-ccw)
@ -618,15 +621,18 @@ QEMU Command-Line and Monitor Syntax and Support
raw]
-dtb file
-enable-hax
-enable-sync-profile
-fda/-fdb ...
-g ...
-hda/-hdb/-hdc/-hdd ...
-icount ...
-L ...
-M [s390-ccw-virtio-2.4|s390-ccw-virtio-2.5|s390-ccw-virtio-2.7|
s390-ccw-virtio-2.8|s390-ccw-virtio-2.10|s390-ccw-virtio-2.12]
s390-ccw-virtio-2.8|s390-ccw-virtio-2.10|s390-ccw-virtio-2.12|
s390-ccw-virtio-3.0]
-machine [s390-ccw-virtio-2.4|s390-ccw-virtio-2.5|s390-ccw-virtio-2.7|
s390-ccw-virtio-2.8|s390-ccw-virtio-2.10|s390-ccw-virtio-2.12]
s390-ccw-virtio-2.8|s390-ccw-virtio-2.10|s390-ccw-virtio-2.12|
s390-ccw-virtio-3.0]
-mtdblock file
-net [dump|socket|vde] ...
-netdev [dump|hubport|l2tpv3|socket|vde] ...
@ -699,6 +705,7 @@ QEMU Command-Line and Monitor Syntax and Support
singlestep ...
snapshot_blkdev ...
stopcapture ...
sync-profile ...
wavcapture ...
x_colo_lost_heartbeat
@ -717,6 +724,7 @@ QEMU Command-Line and Monitor Syntax and Support
nbd-server-add
nbd-server-start
nbd-server-stop
query-colo-status
query-sev
query-sev-launch-measure
query-tpm

View File

@ -205,10 +205,8 @@ Deprecated, Superseded, Modified and Dropped Features
versions.
- These previously supported command line options are now considered deprecated:
-balloon (use -device virtio-balloon instead)
-clock
-device ivshmem (use ivshmem-doorbell or ivshmem-plain instead)
-nodefconfig (use -no-user-config instead)
-no-frame
-virtioconsole (use -device virtconsole instead)
@ -216,9 +214,11 @@ Deprecated, Superseded, Modified and Dropped Features
<previously mentioned items have been moved to another category>
- These previously supported command line options are no longer recognized:
-balloon (use -device virtio-balloon instead)
-device pc-sysfw (no longer needed)
-device pci-assign, -device kvm-pci-assign (use -device vfio-pci instead)
-display sdl
-nodefconfig (use -no-user-config instead)
-sdl
- Specifying a cpu feature with both "+feature/-feature" and "feature=on/off"
@ -231,6 +231,7 @@ Deprecated, Superseded, Modified and Dropped Features
and could possibly change syntax in the future.
- These previously unsupported command line options are now deprecated:
-bt
-enable-hax (used -accel hax instead)
-no-kvm-pit
@ -241,6 +242,7 @@ Deprecated, Superseded, Modified and Dropped Features
vcpu count.
- These previously unsupported command line options are no longer recognized:
-device at24c-eeprom
-device ccid-card-passthru
-device cfi.pflash01
-device esp
@ -249,6 +251,7 @@ Deprecated, Superseded, Modified and Dropped Features
-device icc-bridge
-device q35-pcihost
-device mch
-device mmio_interface
-device smbus-eeprom
-device SUNW,fdtwo
-device sysbus-ahci
@ -301,6 +304,9 @@ Deprecated, Superseded, Modified and Dropped Features
supported and it is highly discouraged to continue using existing qed images.
They should instead be converted to another supported format.
- If KVM Intel nested virtualization is enabled, and the guest is passed the vmx
feature, then live migration or save/restore is prohibited.
QEMU Command-Line and Monitor Syntax and Support
------------------------------------------------
@ -322,7 +328,7 @@ QEMU Command-Line and Monitor Syntax and Support
better functionality and usability going forward. In some cases existing
problems or even bugs in older interfaces cannot be fixed due to functional
expectations, but are resolved in the newer interface or option.
This advice includes moving to the most recent machine type (eg pc-i440fx-3.0
This advice includes moving to the most recent machine type (eg pc-i440fx-3.1
instead of pc-i440fx-2.11) if possible.
- The following command line options are supported:
@ -331,7 +337,6 @@ QEMU Command-Line and Monitor Syntax and Support
-alt-grab
-append ...
-audio-help
-balloon ...
-bios ...
-blockdev ...
-boot ...
@ -383,11 +388,11 @@ QEMU Command-Line and Monitor Syntax and Support
-m ...
-M [help|?|none|pc|pc-0.12|pc-0.14|pc-0.15|pc-i440fx-1.4|pc-i440fx-1.7|
pc-i440fx-2.0|pc-i440fx-2.3|pc-i440fx-2.6|pc-i440fx-2.9|pc-i440fx-2.11|
pc-i440fx-3.0|q35|pc-q35-2.6|pc-q35-2.9|pc-q35-2.11|pc-q35-3.0|xenfv|xenpv]
pc-i440fx-3.0|q35|pc-q35-2.6|pc-q35-2.9|pc-q35-2.11|pc-q35-3.1|xenfv|xenpv]
-machine [help|?|none|pc|pc-0.12|pc-0.14|pc-0.15|pc-i440fx-1.4|pc-i440fx-1.7|
pc-i440fx-2.0|pc-i440fx-2.3|pc-440fx-2.6|pc-i440fx-2.9|
pc-i440fx-2.11|pc-i440fx-3.0|q35|pc-q35-2.6|pc-q35-2.9|pc-q35-2.11|
pc-q35-3.0|xenfv|xenpv]
pc-q35-3.1|xenfv|xenpv]
-mem-path ...
-mem-prealloc
-mon ...
@ -400,7 +405,6 @@ QEMU Command-Line and Monitor Syntax and Support
-nic ...
-no-acpi
-nodefaults
-nodefconfig
-no-fd-bootchk
-no-frame
-nographic
@ -614,6 +618,7 @@ QEMU Command-Line and Monitor Syntax and Support
query-cpu-model-expansion
query-cpus
query-cpus-fast
query-display-options
query-dump
query-dump-guest-memory-capability
query-events
@ -705,10 +710,10 @@ QEMU Command-Line and Monitor Syntax and Support
virtio-gpu-device|amd-iommu|AMDVI-PCI|vhost-vsock-device|
vhost-vsock-pci|virtio-crypto-device|virtio-crypto-pci|
vfio-pci-igd-lpc-bridge|pcie-root-port|qemu-xhci|*-i386-cpu|
*-x86_64-cpu|vhost-user-scsi|vhost-user-scsi-pci|mmio_interface|
vhost-user-blk|vhost-user-blk-pci|pvrdma|bochs-display|ramfb|
ccid-card-emulated|ccid-card-passthru|at24c-eeprom|kvaser_pci|tpm-crb|
mioe3680_pci|pcm3680_pci]
*-x86_64-cpu|vhost-user-scsi|vhost-user-scsi-pci|vhost-user-blk|
vhost-user-blk-pci|pvrdma|bochs-display|ramfb|ccid-card-emulated|
ccid-card-passthru|kvaser_pci|tpm-crb|mioe3680_pci|pcm3680_pci|
hyperv-synic|vfio-pci-nohotplug|vfio-platform]
(the following are aliases of these unsupported devices: lsi|
virtio-input-host|virtio-keyboard|virtio-mouse|virtio-tablet|
virtio-gpu)
@ -719,21 +724,22 @@ QEMU Command-Line and Monitor Syntax and Support
raw]
-dtb file
-enable-hax
-enable-sync-profile
-g ...
-icount ...
-L ...
-M [isapc|pc-0.10|pc-0.11|pc-0.13|pc-1.0|pc-1.1|pc-1.2|pc-1.3|pc-i440fx-1.5|
pc-i440fx-1.6|pc-i440fx-2.1|pc-i440fx-2.2|pc-i440fx-2.4|pc-i440fx-2.5|
pc-i440fx-2.7|pc-i440fx-2.8|pc-i440fx-2.10|pc-i440fx-2.12|pc-q35-1.4|
pc-q35-1.5|pc-q35-1.6|pc-q35-1.7|pc-q35-2.0|pc-q35-2.1|pc-q35-2.2|
pc-q35-2.3|pc-q35-2.4|pc-q35-2.5|pc-q35-2.7|pc-q35-2.8|pc-q35-2.10|
pc-q35-2.12]
pc-i440fx-2.7|pc-i440fx-2.8|pc-i440fx-2.10|pc-i440fx-2.12|pc-i440fx-3.0|
pc-q35-1.4|pc-q35-1.5|pc-q35-1.6|pc-q35-1.7|pc-q35-2.0|pc-q35-2.1|
pc-q35-2.2|pc-q35-2.3|pc-q35-2.4|pc-q35-2.5|pc-q35-2.7|pc-q35-2.8|
pc-q35-2.10|pc-q35-2.12|pc-q35-3.0]
-machine [isapc|pc-0.10|pc-0.11|pc-0.13|pc-1.0|pc-1.1|pc-1.2|pc-1.3|
pc-i440fx-1.5|pc-i440fx-1.6|pc-i440fx-2.1|pc-i440fx-2.2|
pc-i440fx-2.4|pc-i440fx-2.5|pc-i440fx-2.7|pc-i440fx-2.8|
pc-i440fx-2.10|pc-i440fx-2.12|pc-q35-1.4|pc-q35-1.5|pc-q35-1.6|
pc-q35-1.7|pc-q35-2.0|pc-q35-2.1|pc-q35-2.2|pc-q35-2.3|pc-q35-2.4|
pc-q35-2.5|pc-q35-2.7|pc-q35-2.8|pc-q35-2.10|pc-q35-2.12]
pc-i440fx-2.10|pc-i440fx-2.12|pc-i440fx-3.0|pc-q35-1.4|pc-q35-1.5|
pc-q35-1.6|pc-q35-1.7|pc-q35-2.0|pc-q35-2.1|pc-q35-2.2|pc-q35-2.3|
pc-q35-2.4|pc-q35-2.5|pc-q35-2.7|pc-q35-2.8|pc-q35-2.10|pc-q35-2.12]
-mtdblock file
-net [dump|socket|vde] ...
-netdev [dump|hubport|l2tpv3|socket|vde] ...
@ -789,6 +795,7 @@ QEMU Command-Line and Monitor Syntax and Support
singlestep ...
snapshot_blkdev ...
stopcapture ...
sync-profile ...
wavcapture ...
x_colo_lost_heartbeat
@ -807,6 +814,7 @@ QEMU Command-Line and Monitor Syntax and Support
nbd-server-add
nbd-server-start
nbd-server-stop
query-colo-status
query-sev
query-sev-launch-measure
x-block-dirty-bitmap-disable

View File

@ -1,7 +1,7 @@
#!/bin/bash
#
# Instead of a quilt workflow, we use a git tree that contains
# all the commits on top of a stable tarball.
# all the commits on top of a qemu source tarball.
#
# When updating this package, just either update the git tree
# below (use rebase!) or change the tree path and use your own
@ -11,43 +11,220 @@
set -e
GIT_TREE=git://github.com/openSUSE/qemu.git
# The next few VARIABLES may be edited (or uncommented) as required:
# Here is where we manage the patchqueue on top of what comes from upstream
GIT_LOCAL_TREE=~/git/qemu-opensuse
GIT_BRANCH=opensuse-3.0
GIT_UPSTREAM_TAG=v3.0.0
# The commit upon which our patchqueue gets rebased. The special value LATEST
# may be used to "automatically" track the upstream development tree in the
# master branch
GIT_UPSTREAM_COMMIT_ISH=v3.1.0
if [ "$GIT_UPSTREAM_COMMIT_ISH" = "LATEST" ]; then
echo "Using LATEST upstream commit as base for tarball and patch queue"
GIT_BRANCH=master
fi
# otherwise we specify the branch to use, eg:
# WARNING: If transitioning from using LATEST to not, MANUALLY re-set the
# tarball present
GIT_BRANCH=opensuse-3.1
# This is used for the automated development branch tracking
NEXT_RELEASE_IS_MAJOR=0
# The shared openSUSE specific git repo, on which $GIT_LOCAL_TREE is based
GIT_TREE=git://github.com/openSUSE/qemu.git
# Temporary directories used by this script
GIT_DIR=/dev/shm/qemu-factory-git-dir
CMP_DIR=/dev/shm/qemu-factory-cmp-dir
rm -rf $GIT_DIR
rm -rf $CMP_DIR
rm -f checkpatch.log
if [ -d "$GIT_LOCAL_TREE" ]; then
echo "Processing $GIT_BRANCH branch of local git tree, using tag:" \
"$GIT_UPSTREAM_TAG"
if ! (cd $GIT_LOCAL_TREE && git show-branch $GIT_BRANCH &>/dev/null); then
echo "Error: Branch $GIT_BRANCH not found - please create a remote" \
if [ "$GIT_UPSTREAM_COMMIT_ISH" = "LATEST" ]; then
# This is just a safety valve in case the above gets edited wrong:
if ! [ "$GIT_BRANCH" = "master" ]; then
echo "LATEST implies master branch, please fix configuration"
exit
fi
(cd $GIT_LOCAL_TREE && git remote update upstream)
fi
BASE_RE="qemu-[[:digit:]]+(\.[[:digit:]]+){2}(-rc[[:digit:]])?"
EXTRA_RE="\+git\.[[:digit:]]+\.([[:xdigit:]]+)"
SUFFIX_RE="\.tar\.xz"
SIG_SUFFIX_RE="\.tar\.xz\.sig"
QEMU_TARBALL=($(find -maxdepth 1 -type f -regextype posix-extended -regex \
"\./$BASE_RE($EXTRA_RE)?$SUFFIX_RE" -printf "%f "))
QEMU_TARBALL_SIG=($(find -maxdepth 1 -type f -regextype posix-extended -regex \
"\./$BASE_RE($EXTRA_RE)?$SIG_SUFFIX_RE" -printf "%f "))
if [ ${#QEMU_TARBALL[@]} -gt 1 ]; then
echo "Multiple qemu tarballs detected. Please clean up"
exit
fi
if [ ${#QEMU_TARBALL_SIG[@]} -gt 1 ]; then
echo "Multiple qemu tarballs signature files detected. Please clean up"
exit
fi
# It's ok for either of these to be empty when using "LATEST"
OLD_SOURCE_VERSION_AND_EXTRA=$(echo $QEMU_TARBALL 2>/dev/null | head --bytes=-8\
| cut --bytes=6-)
VERSION_EXTRA=$(echo $OLD_SOURCE_VERSION_AND_EXTRA|awk -F+ '{if ($2) print \
"+"$2}')
if [ "$OLD_SOURCE_VERSION_AND_EXTRA" = "" ]; then
echo "Warning: No tarball found"
fi
if [[ $QEMU_TARBALL =~ $BASE_RE$EXTRA_RE$SUFFIX_RE ]]; then
OLD_COMMIT_ISH=${BASH_REMATCH[3]}
else
#Assume release (or release candidate) tarball with equivalent tag:
OLD_COMMIT_ISH=$(cd $GIT_LOCAL_TREE && git rev-list --abbrev-commit \
--abbrev=9 -1 v$OLD_SOURCE_VERSION_AND_EXTRA)
fi
if [ "$GIT_UPSTREAM_COMMIT_ISH" = "LATEST" ]; then
if [ ${#QEMU_TARBALL_SIG[@]} -ne 0 ]; then
echo "INFO: Ignoring signature file: $QEMU_TARBALL_SIG"
QEMU_TARBALL_SIG=
fi
NEW_COMMIT_ISH=$(cd $GIT_LOCAL_TREE && git rev-parse --short=9 \
upstream/$GIT_BRANCH)
NOW_SECONDS=$(date +%s)
git clone -ls $GIT_LOCAL_TREE $GIT_DIR -b $GIT_BRANCH &>/dev/null
if [ "$OLD_COMMIT_ISH" != "$NEW_COMMIT_ISH" ]; then
echo "Please wait..."
(cd $GIT_DIR && git remote add upstream \
git://git.qemu-project.org/qemu.git &>/dev/null)
(cd $GIT_DIR && git remote update upstream &>/dev/null)
(cd $GIT_DIR && git checkout $NEW_COMMIT_ISH &>/dev/null)
# TODO: starting patch number for submodules are as follows:
# 1100: roms/seabios
# 1200: roms/ipxe
# 1300: roms/sgabios
# 1400: roms/SLOF
# 1500: roms/skiboot
# 1600: ui/keycodemapdb
# 1700: roms/openbios
(cd $GIT_DIR && git submodule update --init --recursive &>/dev/null)
VERSION_EXTRA=+git.$NOW_SECONDS.$NEW_COMMIT_ISH
fi
QEMU_VERSION=$(cat $GIT_DIR/VERSION)
MAJOR_VERSION=$(echo $QEMU_VERSION|awk -F. '{print $1}')
MINOR_VERSION=$(echo $QEMU_VERSION|awk -F. '{print $2}')
X=$(echo $QEMU_VERSION|awk -F. '{print $3}')
# 0 = release, 50 = development cycle, 90..99 equate to release candidates
if [ "$X" != "0" -a "$X" != "50" ]; then
if [ "$NEXT_RELEASE_IS_MAJOR" == "0" ]; then
SOURCE_VERSION=$MAJOR_VERSION.$[$MINOR_VERSION+1].0-rc$[X-90]
else
SOURCE_VERSION=$[$MAJOR_VERSION+1].0.0-rc$[X-90]
fi
else
SOURCE_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$X
fi
if [ "$OLD_COMMIT_ISH" != "$NEW_COMMIT_ISH" ]; then
if (cd $GIT_LOCAL_TREE && git describe --exact-match $NEW_COMMIT_ISH \
&>/dev/null); then
if [ "$X" = "50" ]; then
echo "Ignoring non-standard tag"
else
# there is no VERSION_EXTRA
VERSION_EXTRA=
fi
fi
(cd $GIT_DIR/roms/seabios && git describe --tags --long --dirty > \
.version)
(cd $GIT_DIR/roms/skiboot && ./make_version.sh > .version)
tar -C $GIT_DIR/roms --exclude=.git -cjf $GIT_DIR/roms/u-boot.tar.bz2 \
u-boot && rm -rf $GIT_DIR/roms/u-boot
echo "Almost there..."
tar --exclude=.git --transform "s,$GIT_DIR,qemu-$SOURCE_VERSION," \
-Pcf qemu-$SOURCE_VERSION$VERSION_EXTRA.tar $GIT_DIR
echo "New tarball created. Attempting rebase..."
if ! (cd $GIT_DIR && git rebase upstream/$GIT_BRANCH $GIT_BRANCH); then
echo "rebasing master on upstream/master needs human assistance." \
"Exiting"
(cd $GIT_DIR && git rebase --abort)
rm qemu-$SOURCE_VERSION$VERSION_EXTRA.tar
exit
fi
echo "WARNING: To rebase, master is being checked out"
if ! (cd $GIT_LOCAL_TREE && git rebase upstream/$GIT_BRANCH \
$GIT_BRANCH); then
echo "WARNING: Script error? rebasing master on upstream/master" \
"succeeded in temp"
echo "dir but failed in local tree! Please investigate"
(cd $GIT_LOCAL_TREE && git rebase --abort)
rm qemu-$SOURCE_VERSION$VERSION_EXTRA.tar
exit
fi
echo "Rebase successful"
osc rm --force qemu-$OLD_SOURCE_VERSION_AND_EXTRA.tar.xz &>/dev/null ||\
true
osc rm --force qemu-$OLD_SOURCE_VERSION_AND_EXTRA.tar.xz.sig \
&>/dev/null || true
unset QEMU_TARBALL_SIG
xz -T 0 qemu-$SOURCE_VERSION$VERSION_EXTRA.tar
osc add qemu-$SOURCE_VERSION$VERSION_EXTRA.tar.xz
fi
# We're done with GIT_UPSTREAM_COMMIT_ISH carrying the special value LATEST
GIT_UPSTREAM_COMMIT_ISH=$NEW_COMMIT_ISH
WRITE_LOG=0
else # not based on LATEST upstream master, rather any upstream commitish
if [ "$OLD_SOURCE_VERSION_AND_EXTRA" = "" ]; then
echo "Failure: tarball required which corresponds to commitish:" \
"$GIT_UPSTREAM_COMMITISH"
exit
fi
if [ -d "$GIT_LOCAL_TREE" ]; then
echo "Processing local git tree branch: $GIT_BRANCH, using commitish:"\
"$GIT_UPSTREAM_COMMIT_ISH"
if ! (cd $GIT_LOCAL_TREE && git show-branch $GIT_BRANCH &>/dev/null)
then
echo "Error: Branch $GIT_BRANCH not found - please create a remote"\
"tracking branch of origin/$GIT_BRANCH"
exit
fi
git clone -ls $GIT_LOCAL_TREE $GIT_DIR -b $GIT_BRANCH
# check if we should also do submodule's here as well
git clone -ls $GIT_LOCAL_TREE $GIT_DIR -b $GIT_BRANCH &>/dev/null
if ! (cd $GIT_LOCAL_TREE && git remote show upstream &>/dev/null); then
echo "Remote for upstream git tree not found. Next time add remote" \
echo "Remote for upstream git tree not found. Next time add remote"\
"named upstream for git://git.qemu.org/qemu.git and update"
(cd $GIT_DIR && git remote add upstream git://git.qemu-project.org/qemu.git)
(cd $GIT_DIR && git remote add upstream \
git://git.qemu-project.org/qemu.git)
(cd $GIT_DIR && git remote update)
fi
else
echo "Processing $GIT_BRANCH branch of remote git tree, using tag:" \
"$GIT_UPSTREAM_TAG"
echo "(For much fast processing, consider establishing a local git tree" \
else
echo "Processing $GIT_BRANCH branch of remote git tree, using"\
"commitish: $GIT_UPSTREAM_COMMIT_ISH"
echo "(For fast processing, consider establishing a local git tree"\
"at $GIT_LOCAL_TREE)"
git clone $GIT_TREE $GIT_DIR -b $GIT_BRANCH
(cd $GIT_DIR && git remote add upstream git://git.qemu-project.org/qemu.git)
(cd $GIT_DIR && git remote add upstream \
git://git.qemu-project.org/qemu.git)
(cd $GIT_DIR && git remote update)
fi
QEMU_VERSION=$(cat $GIT_DIR/VERSION)
SOURCE_VERSION=$OLD_SOURCE_VERSION_AND_EXTRA
NEW_COMMIT_ISH=
WRITE_LOG=1
fi
(cd $GIT_DIR && git format-patch -N --stat=72 --indent-heuristic $GIT_UPSTREAM_TAG --suffix= -o $CMP_DIR --no-renames >/dev/null)
QEMU_VERSION=`cat $GIT_DIR/VERSION`
echo "QEMU version: $QEMU_VERSION"
(cd $GIT_DIR && git format-patch -N --stat=72 --indent-heuristic \
$GIT_UPSTREAM_COMMIT_ISH --suffix= -o $CMP_DIR --no-renames >/dev/null)
check_patch()
{
if [ ! -e checkpatch.pl ]; then
tar Jxf qemu-$SOURCE_VERSION$VERSION_EXTRA.tar.xz \
qemu-$SOURCE_VERSION/scripts/checkpatch.pl --strip-components=2
fi
./checkpatch.pl --no-tree --terse --no-summary --summary-file --patch $1 >>\
checkpatch.log || true
}
rm -rf $GIT_DIR
@ -56,14 +233,16 @@ rm -rf $GIT_DIR
UNCHANGED_COUNT=0
DELETED_COUNT=0
ADDED_COUNT=0
TOTAL_COUNT=0
shopt -s nullglob
# Process patches to eliminate useless differences: limit file names to 40 chars
# before extension and remove git signature. ('30' below gets us past dir prefix)
# Process patches to eliminate useless differences: limit file names to 40
# chars before extension and remove git signature. ('30' below gets us past
# dir prefix)
for i in $CMP_DIR/*; do
# format-patch may append a signature, which per default contains the git version
# wipe everything starting from the signature tag
# format-patch may append a signature, which per default contains the
# git version. wipe everything starting from the signature tag
sed '/^-- $/Q' $i > $CMP_DIR/${i:30:40}.patch
rm $i
done
@ -75,21 +254,48 @@ rm -rf $GIT_DIR
let UNCHANGED_COUNT+=1
else
mv $CMP_DIR/$i .
check_patch $i
let CHANGED_COUNT+=1
let TOTAL_COUNT+=1
fi
else
osc rm --force $i
let DELETED_COUNT+=1
echo " ${i##*/}" >> qemu.changes.deleted
let DELETED_COUNT+=1
let TOTAL_COUNT+=1
fi
done
for i in $CMP_DIR/*; do
mv $i .
osc add ${i##*/}
let ADDED_COUNT+=1
check_patch ${i##*/}
echo " ${i##*/}" >> qemu.changes.added
let ADDED_COUNT+=1
let TOTAL_COUNT+=1
done
rm -f checkpatch.pl
if [ -s checkpatch.log ]; then
echo "WARNING: Issues reported by qemu patch checker. Please handle" \
"ERRORS now:"
cat checkpatch.log
fi
rm -f checkpatch.log
if [ "$TOTAL_COUNT" != "0" -a "$VERSION_EXTRA" != "" -a "$OLD_COMMIT_ISH" =\
"$NEW_COMMIT_ISH" ]; then
# Patches changed, so update the version using current time
VERSION_EXTRA=+git.$NOW_SECONDS.$OLD_COMMIT_ISH
osc mv qemu-$OLD_SOURCE_VERSION_AND_EXTRA.tar.xz \
qemu-$SOURCE_VERSION$VERSION_EXTRA.tar.xz
osc add qemu-$SOURCE_VERSION$VERSION_EXTRA.tar.xz
fi
echo "QEMU version file: $QEMU_VERSION"
echo "QEMU source version: $SOURCE_VERSION"
echo "QEMU version extra: $VERSION_EXTRA"
SEABIOS_VERSION=$(tar JxfO qemu-$SOURCE_VERSION$VERSION_EXTRA.tar.xz \
qemu-$SOURCE_VERSION/roms/seabios/.version | cut -d '-' -f 2)
for package in qemu qemu-linux-user; do
while IFS= read -r line; do
@ -104,24 +310,34 @@ rm -rf $GIT_DIR
echo "%patch$NUM -p1"
done
elif [ "$line" = "QEMU_VERSION" ]; then
echo "Version: $QEMU_VERSION"
echo "%define qemuver $QEMU_VERSION"
echo "%define qemuver $QEMU_VERSION$VERSION_EXTRA"
echo "%define srcver $SOURCE_VERSION$VERSION_EXTRA"
echo "Version: %qemuver"
elif [[ "$line" =~ ^Source: ]]; then
QEMU_TARBALL=qemu-$QEMU_VERSION.tar.xz
VERSION_FILE=${QEMU_TARBALL%.tar.xz}/roms/seabios/.version
SEABIOS_VERSION=`tar JxfO "$QEMU_TARBALL" "$VERSION_FILE"`
SEABIOS_VERSION=`echo $SEABIOS_VERSION | cut -d '-' -f 2`
echo "$line"
if [ ${#QEMU_TARBALL_SIG[@]} -eq 1 ]; then
# We assume the signature file is right
echo "$(echo $line|sed 's/^Source*/&99/').sig"
fi
elif [ "$line" = "SEABIOS_VERSION" ]; then
echo "Version: $SEABIOS_VERSION"
else
echo "$line"
fi
done < $package.spec.in > $package.spec
done < $package.spec.in > $CMP_DIR/$package.spec
if cmp -s $package.spec $CMP_DIR/$package.spec; then
echo "$package.spec unchanged"
else
mv $CMP_DIR/$package.spec $package.spec
echo "$package.spec regenerated"
let PACKAGE_CHANGED_COUNT+=1
fi
if [ "$WRITE_LOG" = "1" ]; then
# Factory requires all deleted and added patches to be mentioned
if [ -e qemu.changes.deleted ] || [ -e qemu.changes.added ]; then
echo "Patch queue updated from ${GIT_TREE} ${GIT_BRANCH}" > $package.changes.proposed
echo "Patch queue updated from ${GIT_TREE} ${GIT_BRANCH}" > \
$package.changes.proposed
fi
if [ -e qemu.changes.deleted ]; then
echo "* Patches dropped:" >> $package.changes.proposed
@ -135,6 +351,7 @@ rm -rf $GIT_DIR
osc vc --file=$package.changes.proposed $package
rm -f $package.changes.proposed
fi
fi
done
if [ -e qemu.changes.deleted ]; then
rm -f qemu.changes.deleted