Accepting request 416920 from Virtualization

1

OBS-URL: https://build.opensuse.org/request/show/416920
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/qemu?expand=0&rev=119
This commit is contained in:
Dominique Leuenberger 2016-08-12 13:36:52 +00:00 committed by Git OBS Bridge
commit bf226e2700
85 changed files with 2578 additions and 606 deletions

View File

@ -1,242 +0,0 @@
From 44e9a6c05ea73441354e54b0029cdf0e835ed735 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Thu, 1 Dec 2011 19:00:01 +0100
Subject: [PATCH] XXX work around SA_RESTART race with boehm-gc (ARM only)
[AF: CPUState -> CPUArchState, adapt to reindentation]
[AF: CPUArchState::opaque -> CPUState::opaque]
---
linux-user/main.c | 25 +++++++++------
linux-user/qemu.h | 3 ++
linux-user/signal.c | 22 +++++++++++++
linux-user/syscall.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++-
4 files changed, 130 insertions(+), 10 deletions(-)
diff --git a/linux-user/main.c b/linux-user/main.c
index 5f3ec97..7b28d93 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -853,15 +853,22 @@ void cpu_loop(CPUARMState *env)
break;
}
} else {
- env->regs[0] = do_syscall(env,
- n,
- env->regs[0],
- env->regs[1],
- env->regs[2],
- env->regs[3],
- env->regs[4],
- env->regs[5],
- 0, 0);
+ TaskState *ts = cs->opaque;
+ target_ulong r;
+ r = do_syscall(env, n, env->regs[0], env->regs[1],
+ env->regs[2], env->regs[3], env->regs[4],
+ env->regs[5], 0, 0);
+ if ((r == -EINTR) && ts->signal_restart &&
+ syscall_restartable(n)) {
+ if (env->thumb) {
+ env->regs[15] -= 2;
+ } else {
+ env->regs[15] -= 4;
+ }
+ } else {
+ env->regs[0] = r;
+ }
+ ts->signal_restart = 0;
}
} else {
goto error;
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
index 26b0ba2..b55a9d2 100644
--- a/linux-user/qemu.h
+++ b/linux-user/qemu.h
@@ -130,6 +130,8 @@ typedef struct TaskState {
struct sigqueue sigqueue_table[MAX_SIGQUEUE_SIZE]; /* siginfo queue */
struct sigqueue *first_free; /* first free siginfo queue entry */
int signal_pending; /* non zero if a signal may be pending */
+ int signal_in_syscall; /* non zero if we are in do_syscall() */
+ int signal_restart; /* non zero if we need to restart a syscall */
} __attribute__((aligned(16))) TaskState;
extern char *exec_path;
@@ -188,6 +190,7 @@ int get_osversion(void);
void init_qemu_uname_release(void);
void fork_start(void);
void fork_end(int child);
+int syscall_restartable(int syscall_nr);
/* Creates the initial guest address space in the host memory space using
* the given host start address hint and size. The guest_start parameter
diff --git a/linux-user/signal.c b/linux-user/signal.c
index d422aeb..eab88a9 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -19,6 +19,7 @@
#include "qemu/osdep.h"
#include <sys/ucontext.h>
#include <sys/resource.h>
+#include <sched.h>
#include "qemu.h"
#include "qemu-common.h"
@@ -563,6 +564,11 @@ int queue_signal(CPUArchState *env, int sig, target_siginfo_t *info)
k->pending = 1;
/* signal that a new signal is pending */
ts->signal_pending = 1;
+ /* check if we have to restart the current syscall */
+ if ((sigact_table[sig - 1].sa_flags & SA_RESTART) &&
+ ts->signal_in_syscall) {
+ ts->signal_restart = 1;
+ }
return 1; /* indicates that the signal was queued */
}
}
@@ -703,8 +709,24 @@ int do_sigaction(int sig, const struct target_sigaction *act,
if (host_sig != SIGSEGV && host_sig != SIGBUS) {
sigfillset(&act1.sa_mask);
act1.sa_flags = SA_SIGINFO;
+#ifdef TARGET_ARM
+ /* Breaks boehm-gc, we have to do this manually */
+ /*
+ * Unfortunately our hacks only work as long as we don't do parallel
+ * signal delivery and futexes, so let's do a dirty hack here to
+ * pin our guest process to a single host CPU if we're using the
+ * boehm-gc.
+ */
+ if ((k->sa_flags & TARGET_SA_RESTART) && host_sig == SIGPWR) {
+ cpu_set_t mask;
+ CPU_ZERO(&mask);
+ CPU_SET(0, &mask);
+ sched_setaffinity(0, sizeof(mask), &mask);
+ }
+#else
if (k->sa_flags & TARGET_SA_RESTART)
act1.sa_flags |= SA_RESTART;
+#endif
/* NOTE: it is important to update the host kernel signal
ignore state to avoid getting unexpected interrupted
syscalls */
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 032d338..fe0dbd6 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5847,6 +5847,87 @@ static target_timer_t get_timer_id(abi_long arg)
return timerid;
}
+int syscall_restartable(int syscall_nr)
+{
+ switch (syscall_nr) {
+#ifdef TARGET_NR_sigsuspend
+ case TARGET_NR_sigsuspend:
+#endif
+#ifdef TARGET_NR_pause
+ case TARGET_NR_pause:
+#endif
+#ifdef TARGET_NR_setsockopt
+ case TARGET_NR_setsockopt:
+#endif
+#ifdef TARGET_NR_accept
+ case TARGET_NR_accept:
+#endif
+#ifdef TARGET_NR_recv
+ case TARGET_NR_recv:
+#endif
+#ifdef TARGET_NR_recvfrom
+ case TARGET_NR_recvfrom:
+#endif
+#ifdef TARGET_NR_recvmsg
+ case TARGET_NR_recvmsg:
+#endif
+#ifdef TARGET_NR_socketcall
+ case TARGET_NR_socketcall:
+#endif
+#ifdef TARGET_NR_connect
+ case TARGET_NR_connect:
+#endif
+#ifdef TARGET_NR_send
+ case TARGET_NR_send:
+#endif
+#ifdef TARGET_NR_sendmsg
+ case TARGET_NR_sendmsg:
+#endif
+#ifdef TARGET_NR_sendto
+ case TARGET_NR_sendto:
+#endif
+#ifdef TARGET_NR_poll
+ case TARGET_NR_poll:
+#endif
+#ifdef TARGET_NR_ppoll
+ case TARGET_NR_ppoll:
+#endif
+#if defined(TARGET_NR_select)
+ case TARGET_NR_select:
+#endif
+#ifdef TARGET_NR_pselect6
+ case TARGET_NR_pselect6:
+#endif
+#ifdef TARGET_NR__newselect
+ case TARGET_NR__newselect:
+#endif
+#ifdef TARGET_NR_msgrcv
+ case TARGET_NR_msgrcv:
+#endif
+#ifdef TARGET_NR_msgsnd
+ case TARGET_NR_msgsnd:
+#endif
+#ifdef TARGET_NR_semop
+ case TARGET_NR_semop:
+#endif
+#ifdef TARGET_NR_ipc
+ case TARGET_NR_ipc:
+#endif
+#ifdef TARGET_NR_clock_nanosleep
+ case TARGET_NR_clock_nanosleep:
+#endif
+ case TARGET_NR_rt_sigsuspend:
+ case TARGET_NR_rt_sigtimedwait:
+ case TARGET_NR_nanosleep:
+ case TARGET_NR_close:
+ /* can not be restarted */
+ return 0;
+ }
+
+ /* every other syscall can be restarted */
+ return 1;
+}
+
/* 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>. */
@@ -5860,6 +5941,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
struct stat st;
struct statfs stfs;
void *p;
+ TaskState *ts = cpu->opaque;
+
+ if (!ts->signal_restart) {
+ /* remember syscall info for restart */
+ ts->signal_in_syscall = 1;
+ }
#ifdef DEBUG
gemu_log("syscall %d", num);
@@ -9211,7 +9298,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
cmd = target_to_host_fcntl_cmd(arg2);
if (cmd == -TARGET_EINVAL) {
ret = cmd;
- break;
+ goto fail;
}
switch(arg2) {
@@ -10255,6 +10342,7 @@ fail:
#endif
if(do_strace)
print_syscall_ret(num, ret);
+ ts->signal_in_syscall = 0;
return ret;
efault:
ret = -TARGET_EFAULT;

View File

@ -1,4 +1,4 @@
From 2d978c9adfe0bb7dadbb21e9f606f33b9f70bf1c Mon Sep 17 00:00:00 2001
From 25da05b51950cf639c26ca5f1e47fcfdfb588ab2 Mon Sep 17 00:00:00 2001
From: Ulrich Hecht <uli@suse.de>
Date: Tue, 14 Apr 2009 16:18:44 +0200
Subject: [PATCH] qemu-0.9.0.cvs-binfmt

View File

@ -1,4 +1,4 @@
From 68b848ab76ac2d150b4ed899d46dabac85b248a2 Mon Sep 17 00:00:00 2001
From 307dc6c6bde4ec04b9efd6f27db0295e349bf573 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 14 Apr 2009 16:20:50 +0200
Subject: [PATCH] qemu-cvs-alsa_bitfield

View File

@ -1,4 +1,4 @@
From 12ea4c0a49f8fd0b3b594f80fa78bf943b7d3c20 Mon Sep 17 00:00:00 2001
From 42ec5aa5b6abb395b894311702cec8c09ec44263 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 14 Apr 2009 16:23:27 +0200
Subject: [PATCH] qemu-cvs-alsa_ioctl

View File

@ -1,4 +1,4 @@
From f66983c05b20792b6bf5690bc46a4a60618b0425 Mon Sep 17 00:00:00 2001
From d899ab90ddfcf5c6efe45f9008cd2c498d368ac9 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 14 Apr 2009 16:24:15 +0200
Subject: [PATCH] qemu-cvs-alsa_mmap

View File

@ -1,4 +1,4 @@
From cda1328ad68fbb163f786e4ad5dd818c3a54bc4e Mon Sep 17 00:00:00 2001
From eaa8f697ccd1320f9ce432588beef2d341bc5a18 Mon Sep 17 00:00:00 2001
From: Ulrich Hecht <uli@suse.de>
Date: Tue, 14 Apr 2009 16:25:41 +0200
Subject: [PATCH] qemu-cvs-gettimeofday
@ -9,10 +9,10 @@ No clue what this is for.
1 file changed, 2 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index fe0dbd6..b5e6598 100644
index 032d338..d231758 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -7072,6 +7072,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
@@ -6985,6 +6985,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
case TARGET_NR_gettimeofday:
{
struct timeval tv;

View File

@ -1,4 +1,4 @@
From 02d53ba7f7e370b1b67f6adc9b5497b4a262503a Mon Sep 17 00:00:00 2001
From 5fabc9a72b03eca20cda87e0bb35a92aaa3d4dbf Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 14 Apr 2009 16:26:33 +0200
Subject: [PATCH] qemu-cvs-ioctl_debug
@ -12,7 +12,7 @@ Signed-off-by: Ulrich Hecht <uli@suse.de>
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index b5e6598..7a589cb 100644
index d231758..d693f9d 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -4022,7 +4022,12 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)

View File

@ -1,4 +1,4 @@
From 720dcded9e7c7ebce002e562644bf0b8896f5869 Mon Sep 17 00:00:00 2001
From 31a5e0ab101e1549d534a63fb5e9e94007e812f8 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 14 Apr 2009 16:27:36 +0200
Subject: [PATCH] qemu-cvs-ioctl_nodirection
@ -15,7 +15,7 @@ Signed-off-by: Ulrich Hecht <uli@suse.de>
1 file changed, 6 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 7a589cb..1afd3b9 100644
index d693f9d..0858920 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -4055,6 +4055,11 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)

View File

@ -1,4 +1,4 @@
From 592fcd424bad943c37f895f98e873fff69763709 Mon Sep 17 00:00:00 2001
From 7164cadf6a1f23d2b931f34c78d3707207306cfb Mon Sep 17 00:00:00 2001
From: Ulrich Hecht <uli@suse.de>
Date: Tue, 14 Apr 2009 16:37:42 +0200
Subject: [PATCH] block/vmdk: Support creation of SCSI VMDK images in qemu-img

View File

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

View File

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

View File

@ -1,4 +1,4 @@
From d308696040ad59d4418b398512bd6ca1a072a215 Mon Sep 17 00:00:00 2001
From 6b4338150763e8241cec19846a48a132d60fe75f Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Fri, 13 Jan 2012 17:05:41 +0100
Subject: [PATCH] linux-user: fix segfault deadlock

View File

@ -1,4 +1,4 @@
From 88f40fc3cbb0608938135e66f84a054e4c71f3e4 Mon Sep 17 00:00:00 2001
From 02e298aafcb7bb11036cabec82da958f7d860ac8 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 338fec615a0deb8c3fced6a0f50fa8df40f136b3 Mon Sep 17 00:00:00 2001
From 64acfd49e9721a17c610cc54a92efe8ec3170698 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 12 Jun 2012 04:41:10 +0200
Subject: [PATCH] linux-user: Ignore broken loop ioctl
@ -46,7 +46,7 @@ index 8974caa..810ae61 100644
#endif
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 1afd3b9..32f7290 100644
index 0858920..758f747 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -3999,6 +3999,13 @@ static abi_long do_ioctl_kdsigaccept(const IOCTLEntry *ie, uint8_t *buf_temp,

View File

@ -1,4 +1,4 @@
From f70582028f2a2da536e05f059cb82a6dcdcce2cb Mon Sep 17 00:00:00 2001
From f34632424427a2387a9275133c3cb4a8ad4f9d31 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Thu, 5 Jul 2012 17:31:39 +0200
Subject: [PATCH] linux-user: lock tcg

View File

@ -1,4 +1,4 @@
From 63f9ad9031029a99e2207ce13af0c3888bdc3c77 Mon Sep 17 00:00:00 2001
From a2f095e01371ff9d00524fb4c0e7d3bd941227da Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 10 Jul 2012 20:40:55 +0200
Subject: [PATCH] linux-user: Run multi-threaded code on a single core
@ -19,7 +19,7 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
1 file changed, 9 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 32f7290..780f760 100644
index 758f747..b36273d 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -4704,6 +4704,15 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,

View File

@ -1,4 +1,4 @@
From 8de35823c9f03e06ce40870e6cd04ce1c0a44be2 Mon Sep 17 00:00:00 2001
From 80465393b0e7a888125378567cc69a6cc190b8ff Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Wed, 11 Jul 2012 16:47:42 +0200
Subject: [PATCH] linux-user: lock tb flushing too

View File

@ -1,4 +1,4 @@
From e5ecc65e4ae5d85fd0645eacfed60757cef04c1a Mon Sep 17 00:00:00 2001
From cac0ebd114044343f3d0e6a1ae0b455949db0a5d 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,7 +22,7 @@ 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 780f760..7350980 100644
index b36273d..7476689 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5697,6 +5697,25 @@ static int open_self_stat(void *cpu_env, int fd)

View File

@ -1,4 +1,4 @@
From f2bf40c52ebd8618da52c0ab89e38737170d34ec Mon Sep 17 00:00:00 2001
From a61e366827ca2b159b515e760742bc6dee26169f Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Mon, 20 Aug 2012 00:02:52 +0200
Subject: [PATCH] linux-user: implement FS_IOC_GETFLAGS ioctl

View File

@ -1,4 +1,4 @@
From 7e407d22128dac3b6dae0393a2173e6ee4878abd Mon Sep 17 00:00:00 2001
From 39e6dbd24f5a872c5c37b0c1ddd31fe00b74c3ca Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Mon, 20 Aug 2012 00:07:13 +0200
Subject: [PATCH] linux-user: implement FS_IOC_SETFLAGS ioctl

View File

@ -1,4 +1,4 @@
From 416732418f358a876ee8406eb12925e198155e49 Mon Sep 17 00:00:00 2001
From fb0a1cd7b3e0ab5908607da0b704f749a3f9cd36 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 21 Aug 2012 14:20:40 +0200
Subject: [PATCH] linux-user: XXX disable fiemap
@ -9,7 +9,7 @@ agraf: fiemap breaks in libarchive. Disable it for now.
1 file changed, 5 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 7350980..90b1698 100644
index 7476689..7b72784 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -3494,6 +3494,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry *ie, uint8_t *buf_temp,

View File

@ -1,4 +1,4 @@
From 76603c63b15b71597d8d232d9c8f590598939cb2 Mon Sep 17 00:00:00 2001
From d839baef69733ff67df56abd52bf01b13c2adc80 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Wed, 29 Aug 2012 18:42:56 +0200
Subject: [PATCH] slirp: -nooutgoing

View File

@ -1,4 +1,4 @@
From 1e6837a4cf1e2c757a9ee61f99ffd90dc97e3067 Mon Sep 17 00:00:00 2001
From c15dcea01fb9d84e583abe7d558d7a31a937ddc3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Wed, 29 Aug 2012 20:06:01 +0200
Subject: [PATCH] vnc: password-file= and incoming-connections=

View File

@ -1,4 +1,4 @@
From 4910a63b38b4b6cd811d59ccf239423f8f6998fc Mon Sep 17 00:00:00 2001
From 5ab7c0967d239f3cab043461952f9d0b9015a617 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Wed, 10 Oct 2012 10:21:20 +0200
Subject: [PATCH] linux-user: add more blk ioctls

View File

@ -1,4 +1,4 @@
From 4a2a102bf012ec39a75498e79d18d7e1cb703bd3 Mon Sep 17 00:00:00 2001
From 616807e473c21cdf231eed07b87ec287cfdfb528 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
@ -17,10 +17,10 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
index b55a9d2..be9c21c 100644
index 26b0ba2..b9a7123 100644
--- a/linux-user/qemu.h
+++ b/linux-user/qemu.h
@@ -178,10 +178,10 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src,
@@ -176,10 +176,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,10 +36,10 @@ index b55a9d2..be9c21c 100644
extern THREAD CPUState *thread_cpu;
void cpu_loop(CPUArchState *env);
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 90b1698..2048082 100644
index 7b72784..ebeab57 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5983,10 +5983,10 @@ int syscall_restartable(int syscall_nr)
@@ -5902,10 +5902,10 @@ static target_timer_t get_timer_id(abi_long arg)
/* do_syscall() should always have a single exit point at the end so
that actions, such as logging of syscall results, can be performed.
All errnos that do_syscall() returns must be -TARGET_<errcode>. */

View File

@ -1,4 +1,4 @@
From e457395b8a52702b4866234bbe641d6044d725e6 Mon Sep 17 00:00:00 2001
From 04eba9254338949db56a01bed42bc3ef187a1f04 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Wed, 5 Aug 2009 09:49:37 +0200
Subject: [PATCH] block: Add support for DictZip enabled gzip files

View File

@ -1,4 +1,4 @@
From 5e55ea4fdd7fcb2dad3ea1c59889390fe94e38bc Mon Sep 17 00:00:00 2001
From 0c107d353084a3a15c1281c7e1385ee5ccd5da5f Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Wed, 5 Aug 2009 17:28:38 +0200
Subject: [PATCH] block: Add tar container format

View File

@ -1,4 +1,4 @@
From e25606c433e170cb966f2ec6a0e88c9160684d54 Mon Sep 17 00:00:00 2001
From 5c25d47e2378efdbd72c49827252741b46ebacff Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Wed, 12 Dec 2012 19:11:30 +0100
Subject: [PATCH] Legacy Patch kvm-qemu-preXX-dictzip3.patch

View File

@ -1,4 +1,4 @@
From 543e99f83c5c7aff0675f430f0b7ff6e9e43472d Mon Sep 17 00:00:00 2001
From ea20aa50570a68fd2ccda17adfea0f32c71694dc Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Mon, 6 Jun 2011 06:53:52 +0200
Subject: [PATCH] console: add question-mark escape operator

View File

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

View File

@ -1,4 +1,4 @@
From 5ac9c6a5e5acfc0ce7b61783533ce3a866d85ec3 Mon Sep 17 00:00:00 2001
From 1e5020a27bf52c24abb9272f9ba605959e8771e8 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Thu, 13 Dec 2012 14:29:22 +0100
Subject: [PATCH] linux-user: lseek: explicitly cast non-set offsets to signed
@ -16,10 +16,10 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 2048082..00c075d 100644
index ebeab57..c084f38 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -6320,9 +6320,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1,
@@ -6233,9 +6233,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1,
case TARGET_NR_oldstat:
goto unimplemented;
#endif

View File

@ -1,4 +1,4 @@
From 0ae16f3d2670b4bd86595f6b9f2b5bd7b6faa438 Mon Sep 17 00:00:00 2001
From 01aa7df9b3b82e8d16b3dda2e092dff89c15fa82 Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Thu, 16 May 2013 12:39:10 +0200
Subject: [PATCH] virtfs-proxy-helper: Provide __u64 for broken

View File

@ -1,4 +1,4 @@
From 96642b20aa9624ffa934c24c22da03b184ee2c9f Mon Sep 17 00:00:00 2001
From 71bb8109caee6f4192237b2fad7db748ac50760d Mon Sep 17 00:00:00 2001
From: Dinar Valeev <k0da@opensuse.org>
Date: Wed, 2 Oct 2013 17:56:03 +0200
Subject: [PATCH] configure: Enable PIE for ppc and ppc64 hosts

View File

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

View File

@ -1,4 +1,4 @@
From b70818ca8b9ca9ea88460c97b59c8e73e0c96bc8 Mon Sep 17 00:00:00 2001
From 7f1e160917ebff1a756d08c9b07b88452a68387f 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 b44837ddb7fe9d43d70dc4260e4e9561d68ebc04 Mon Sep 17 00:00:00 2001
From 88508c66e9403bb708a1ef186e66f5d45801cdd8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Tue, 14 Apr 2015 18:42:06 +0200
Subject: [PATCH] configure: Enable libseccomp for ppc

View File

@ -1,4 +1,4 @@
From ab4667c328ab637aabd54364658e8d047297eb54 Mon Sep 17 00:00:00 2001
From 3fafdf24acf45df69523e266a38f3c0ca220e9a9 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Mon, 15 Jun 2015 17:36:32 +0200
Subject: [PATCH] dictzip: Fix on big endian systems

View File

@ -1,4 +1,4 @@
From 33fcb26d3770b6ff5019d796595675a3275bfe46 Mon Sep 17 00:00:00 2001
From adc543748b20def826281f9e6fda52f026dc099d Mon Sep 17 00:00:00 2001
From: Olaf Hering <olaf@aepfle.de>
Date: Thu, 24 Mar 2016 14:32:39 +0100
Subject: [PATCH] block: split large discard requests from block frontend

View File

@ -1,4 +1,4 @@
From 529b4b3328e96f55ae0a44d1293616f426077a0b Mon Sep 17 00:00:00 2001
From 43fdf04d426f4738aec0d349662a780906268590 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

View File

@ -1,4 +1,4 @@
From 260d6920548a51e773c2bdca0a2770a3083404a2 Mon Sep 17 00:00:00 2001
From 936efd7b1f317b574dbedf08e69e4206f16ac39f Mon Sep 17 00:00:00 2001
From: Olaf Hering <olaf@aepfle.de>
Date: Fri, 1 Apr 2016 12:27:16 +0200
Subject: [PATCH] build: link with libatomic on powerpc-linux

View File

@ -1,4 +1,4 @@
From 53260b0f3e1426185786f5fe45f99ca1ded84062 Mon Sep 17 00:00:00 2001
From a4cae4158cc271ed4d55bc2e237030022f8edc16 Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Thu, 7 Apr 2016 04:27:00 -0600
Subject: [PATCH] net: mipsnet: check packet length against buffer

View File

@ -1,4 +1,4 @@
From 4c2fce28b205a0912f1224bdb8dbba2a0d7bf593 Mon Sep 17 00:00:00 2001
From 481b43bcc3e920bbe48801a7ad2489260747e8b9 Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Thu, 7 Apr 2016 12:50:08 +0530
Subject: [PATCH] i386: kvmvapic: initialise imm32 variable

View File

@ -1,4 +1,4 @@
From 4a36592c8982234afc9591adb50684c2daed0fbd Mon Sep 17 00:00:00 2001
From 26e782bead654b0415a46c9a019c54b56488519b Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Thu, 19 May 2016 16:09:30 +0530
Subject: [PATCH] esp: check command buffer length before write(CVE-2016-4439)

View File

@ -1,4 +1,4 @@
From 648083b0e53202c883906a5d57d420a9c6411c89 Mon Sep 17 00:00:00 2001
From ff65fa87b6d7d4e7dbda895181c9afc80b07c5e3 Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Thu, 19 May 2016 16:09:31 +0530
Subject: [PATCH] esp: check dma length before reading scsi

View File

@ -1,4 +1,4 @@
From 2f492d1dceb93302ae10a97ea799e344e52e1a89 Mon Sep 17 00:00:00 2001
From 8c2fc88049f351c67bd82c6f61c54111eb088e69 Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Mon, 23 May 2016 04:49:00 -0600
Subject: [PATCH] scsi: pvscsi: check command descriptor ring buffer size

View File

@ -1,4 +1,4 @@
From 62f461d944c764953299772d72892daca092fe3f Mon Sep 17 00:00:00 2001
From 9e91782f3582e12f5c41e64f70e5c53f0e7b9f2a Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Tue, 24 May 2016 02:10:00 -0600
Subject: [PATCH] scsi: mptsas: infinite loop while fetching requests

View File

@ -1,4 +1,4 @@
From b360e87d80afa47ab5e1aaa2d58aac0a83047277 Mon Sep 17 00:00:00 2001
From d8d0d22b88ceaf7f9ce8e01eb2842b8daf2aa34e Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Tue, 17 May 2016 10:54:54 +0200
Subject: [PATCH] vga: add sr_vbe register set

View File

@ -1,4 +1,4 @@
From d884938c3eab2ca005180941c1dacf6e95f630cc Mon Sep 17 00:00:00 2001
From f7901e3ec072d45629284c91300bf5ad21b36908 Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Wed, 25 May 2016 16:01:29 +0530
Subject: [PATCH] scsi: megasas: use appropriate property buffer size

View File

@ -1,4 +1,4 @@
From 09b7b3b4bf5463c411a0e4f442db3cf09ec33cbe Mon Sep 17 00:00:00 2001
From e9910b20f94d3683d4d8895136583529cf7c313f Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Wed, 25 May 2016 17:55:10 +0530
Subject: [PATCH] scsi: megasas: check 'read_queue_head' index value

View File

@ -1,4 +1,4 @@
From 81ed91f0c8e7ba89afd4718129065c920b3923f0 Mon Sep 17 00:00:00 2001
From e7b653272e0242843f39b9b8d65694c29028fdf5 Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Tue, 7 Jun 2016 16:44:03 +0530
Subject: [PATCH] scsi: megasas: null terminate bios version buffer

View File

@ -1,4 +1,4 @@
From 5f76584dd7ee7b300a52f57e5a66b667cd3d5faa Mon Sep 17 00:00:00 2001
From 74a7469799521413262d7571b7092f859ed32121 Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Mon, 30 May 2016 09:09:18 +0200
Subject: [PATCH] vmsvga: move fifo sanity checks to vmsvga_fifo_length

View File

@ -1,4 +1,4 @@
From 29983512d22362d394c01377fd9b0974865da1b4 Mon Sep 17 00:00:00 2001
From 51a212ea5bb9d958e0fd59d9e975685a8b9e62d0 Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Mon, 30 May 2016 09:09:21 +0200
Subject: [PATCH] vmsvga: don't process more than 1024 fifo commands at once

View File

@ -1,4 +1,4 @@
From 30f011dc5ea3328e6bef4923f60e03a5664425f9 Mon Sep 17 00:00:00 2001
From 75e2bbd9eb1645c7acb1929ca700913a6e2f54d6 Mon Sep 17 00:00:00 2001
From: Peter Lieven <pl@kamp.de>
Date: Tue, 24 May 2016 10:59:28 +0200
Subject: [PATCH] block/iscsi: avoid potential overflow of acb->task->cdb

View File

@ -1,4 +1,4 @@
From e53e6fe07906e619b25fc1eb120b7a07b541bcb8 Mon Sep 17 00:00:00 2001
From 40b9ce117b5a3aced6e1b88ea0e2619170b202f6 Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Mon, 6 Jun 2016 22:04:43 +0530
Subject: [PATCH] scsi: esp: check TI buffer index before read/write

View File

@ -1,4 +1,4 @@
From 6eaa3deb4b8e3f101f9b4487b786c34394486d72 Mon Sep 17 00:00:00 2001
From d7476f32d84a256e683d20db0cdd0d3676fa2a62 Mon Sep 17 00:00:00 2001
From: Juergen Gross <jgross@suse.com>
Date: Thu, 12 May 2016 16:13:39 +0200
Subject: [PATCH] xen: introduce dummy system device

View File

@ -1,4 +1,4 @@
From 40f5afa5ebaf4b6fba5a4d002a013d4e5aae7156 Mon Sep 17 00:00:00 2001
From 7647bc34d77f7e67a88e88a7f09c314a3a5c7da8 Mon Sep 17 00:00:00 2001
From: Juergen Gross <jgross@suse.com>
Date: Thu, 12 May 2016 16:13:40 +0200
Subject: [PATCH] xen: write information about supported backends

View File

@ -1,4 +1,4 @@
From 12492549d007b13f9b23b16a5bb7a156918cf299 Mon Sep 17 00:00:00 2001
From 9c573c905a6cc3b4dbf931c64e554a20683807b9 Mon Sep 17 00:00:00 2001
From: Juergen Gross <jgross@suse.com>
Date: Thu, 12 May 2016 16:13:41 +0200
Subject: [PATCH] xen: add pvUSB backend

View File

@ -0,0 +1,161 @@
From ee2225e5f531d965aed352bf99ba339969216144 Mon Sep 17 00:00:00 2001
From: Juergen Gross <jgross@suse.com>
Date: Mon, 13 Jun 2016 11:12:21 +0200
Subject: [PATCH] xen: move xen_sysdev to xen_backend.c
Commit 9432e53a5bc88681b2d3aec4dac9db07c5476d1b added xen_sysdev as a
system device to serve as an anchor for removable virtual buses. This
introduced a build failure for non-x86 builds with CONFIG_XEN_BACKEND
set, as xen_sysdev was defined in a x86 specific file while being
consumed in an architecture independent source.
Move the xen_sysdev definition and initialization to xen_backend.c to
avoid the build failure.
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
---
hw/xen/xen_backend.c | 41 +++++++++++++++++++++++++++++++++++++++++
hw/xenpv/xen_machine_pv.c | 40 ----------------------------------------
2 files changed, 41 insertions(+), 40 deletions(-)
diff --git a/hw/xen/xen_backend.c b/hw/xen/xen_backend.c
index c63f9df..6e52474 100644
--- a/hw/xen/xen_backend.c
+++ b/hw/xen/xen_backend.c
@@ -27,12 +27,17 @@
#include <sys/signal.h>
#include "hw/hw.h"
+#include "hw/sysbus.h"
#include "sysemu/char.h"
#include "qemu/log.h"
#include "hw/xen/xen_backend.h"
#include <xen/grant_table.h>
+#define TYPE_XENSYSDEV "xensysdev"
+
+DeviceState *xen_sysdev;
+
/* ------------------------------------------------------------- */
/* public */
@@ -763,6 +768,10 @@ int xen_be_init(void)
/* Check if xen_init() have been called */
goto err;
}
+
+ xen_sysdev = qdev_create(NULL, TYPE_XENSYSDEV);
+ qdev_init_nofail(xen_sysdev);
+
return 0;
err:
@@ -863,3 +872,35 @@ void xen_be_printf(struct XenDevice *xendev, int msg_level, const char *fmt, ...
}
qemu_log_flush();
}
+
+static int xen_sysdev_init(SysBusDevice *dev)
+{
+ return 0;
+}
+
+static Property xen_sysdev_properties[] = {
+ {/* end of property list */},
+};
+
+static void xen_sysdev_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
+
+ k->init = xen_sysdev_init;
+ dc->props = xen_sysdev_properties;
+}
+
+static const TypeInfo xensysdev_info = {
+ .name = TYPE_XENSYSDEV,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(SysBusDevice),
+ .class_init = xen_sysdev_class_init,
+};
+
+static void xenbe_register_types(void)
+{
+ type_register_static(&xensysdev_info);
+}
+
+type_init(xenbe_register_types);
diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c
index f68cf48..48f725c 100644
--- a/hw/xenpv/xen_machine_pv.c
+++ b/hw/xenpv/xen_machine_pv.c
@@ -25,15 +25,10 @@
#include "qemu/osdep.h"
#include "hw/hw.h"
#include "hw/boards.h"
-#include "hw/sysbus.h"
#include "hw/xen/xen_backend.h"
#include "xen_domainbuild.h"
#include "sysemu/block-backend.h"
-#define TYPE_XENSYSDEV "xensysdev"
-
-DeviceState *xen_sysdev;
-
static void xen_init_pv(MachineState *machine)
{
DriveInfo *dinfo;
@@ -72,9 +67,6 @@ static void xen_init_pv(MachineState *machine)
break;
}
- xen_sysdev = qdev_create(NULL, TYPE_XENSYSDEV);
- qdev_init_nofail(xen_sysdev);
-
xen_be_register("console", &xen_console_ops);
xen_be_register("vkbd", &xen_kbdmouse_ops);
xen_be_register("vfb", &xen_framebuffer_ops);
@@ -112,38 +104,6 @@ static void xen_init_pv(MachineState *machine)
xen_init_display(xen_domid);
}
-static int xen_sysdev_init(SysBusDevice *dev)
-{
- return 0;
-}
-
-static Property xen_sysdev_properties[] = {
- {/* end of property list */},
-};
-
-static void xen_sysdev_class_init(ObjectClass *klass, void *data)
-{
- DeviceClass *dc = DEVICE_CLASS(klass);
- SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
-
- k->init = xen_sysdev_init;
- dc->props = xen_sysdev_properties;
-}
-
-static const TypeInfo xensysdev_info = {
- .name = TYPE_XENSYSDEV,
- .parent = TYPE_SYS_BUS_DEVICE,
- .instance_size = sizeof(SysBusDevice),
- .class_init = xen_sysdev_class_init,
-};
-
-static void xenpv_register_types(void)
-{
- type_register_static(&xensysdev_info);
-}
-
-type_init(xenpv_register_types);
-
static void xenpv_machine_init(MachineClass *mc)
{
mc->desc = "Xen Para-virtualized PC";

View File

@ -1,28 +0,0 @@
From 9ddd9862dbc30107d2315f0b858e32cd0c90db8a Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Fri, 10 Jun 2016 07:12:15 -0600
Subject: [PATCH] usb: Fix conditions that xen-usb.c is used
When non-x86 arch targets are built on x86 we have a mismatched
between what is built in support of xen. xen-usb.c is conditioned
upon CONFIG_USB_LIBUSB and CONFIG_XEN_BACKEND, but it relies on
an external reference that is instead controlled by CONFIG_XEN.
Add a dependency on CONFIG_XEN as well.
[BR: FATE#316612]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
hw/usb/Makefile.objs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs
index 98b5c9d..2db2fa1 100644
--- a/hw/usb/Makefile.objs
+++ b/hw/usb/Makefile.objs
@@ -39,6 +39,6 @@ common-obj-$(CONFIG_USB_REDIR) += redirect.o quirks.o
# usb pass-through
common-obj-y += $(patsubst %,host-%.o,$(HOST_USB))
-ifeq ($(CONFIG_USB_LIBUSB),y)
+ifeq ($(CONFIG_XEN)$(CONFIG_USB_LIBUSB),yy)
common-obj-$(CONFIG_XEN_BACKEND) += xen-usb.o
endif

View File

@ -1,4 +1,4 @@
From 464539abcc33f2d8465dead1555de169b87239b9 Mon Sep 17 00:00:00 2001
From 6a788961dd16f558d78ab7313f0b297409f37af7 Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Wed, 1 Jun 2016 08:22:30 +0200
Subject: [PATCH] vnc: add configurable keyboard delay

View File

@ -1,4 +1,4 @@
From 9770400f8184e43d9370ec97e15c6fcaccc381d1 Mon Sep 17 00:00:00 2001
From 702d446c9378b6d8415599780cf9f8bfb4c7cb9a Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Wed, 25 May 2016 17:41:44 +0530
Subject: [PATCH] scsi: megasas: initialise local configuration data buffer

View File

@ -0,0 +1,61 @@
From 83775fe297c7cc8dae0d46c22accc2d7eb78c4a0 Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Fri, 6 May 2016 14:03:09 -0400
Subject: [PATCH] configure: add echo_version helper
Simplifies printing library versions, dependent on if the library
was even found
Signed-off-by: Cole Robinson <crobinso@redhat.com>
Message-id: 3c9ab16123e06bb4109771ef6ee8acd82d449ba0.1462557436.git.crobinso@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
(cherry picked from commit 02d34f62fdecb54637e5a66d254bd68fcbfa397f)
[BR: BSC#988855]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
configure | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/configure b/configure
index b455035..767658e 100755
--- a/configure
+++ b/configure
@@ -4748,6 +4748,12 @@ EOF
fi
fi
+echo_version() {
+ if test "$1" = "yes" ; then
+ echo "($2)"
+ fi
+}
+
# prepend pixman and ftd flags after all config tests are done
QEMU_CFLAGS="$pixman_cflags $fdt_cflags $QEMU_CFLAGS"
libs_softmmu="$pixman_libs $libs_softmmu"
@@ -4805,11 +4811,7 @@ echo "GNUTLS hash $gnutls_hash"
echo "GNUTLS rnd $gnutls_rnd"
echo "libgcrypt $gcrypt"
echo "libgcrypt kdf $gcrypt_kdf"
-if test "$nettle" = "yes"; then
- echo "nettle $nettle ($nettle_version)"
-else
- echo "nettle $nettle"
-fi
+echo "nettle $nettle `echo_version $nettle $nettle_version`"
echo "nettle kdf $nettle_kdf"
echo "libtasn1 $tasn1"
echo "VTE support $vte"
@@ -4861,11 +4863,7 @@ echo "Trace backends $trace_backends"
if have_backend "simple"; then
echo "Trace output file $trace_file-<pid>"
fi
-if test "$spice" = "yes"; then
-echo "spice support $spice ($spice_protocol_version/$spice_server_version)"
-else
-echo "spice support $spice"
-fi
+echo "spice support $spice `echo_version $spice $spice_protocol_version/$spice_server_version`"
echo "rbd support $rbd"
echo "xfsctl support $xfs"
echo "smartcard support $smartcard"

View File

@ -0,0 +1,70 @@
From b673055ec7e4eda0454aacc2d042bd53405f85e6 Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Fri, 6 May 2016 14:03:12 -0400
Subject: [PATCH] configure: support vte-2.91
vte >= 0.37 expores API version 2.91, which is where all the active
development is. qemu builds and runs fine with that version, so use it
if it's available.
Signed-off-by: Cole Robinson <crobinso@redhat.com>
Message-id: b4f0375647f7b368d3dbd3834aee58cb0253566a.1462557436.git.crobinso@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
(cherry picked from commit c6feff9e09aa999b77a37f532adbb89682ecb1b6)
[BR: BSC#988855]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
configure | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/configure b/configure
index 767658e..f32cff5 100755
--- a/configure
+++ b/configure
@@ -2395,20 +2395,25 @@ fi
if test "$vte" != "no"; then
if test "$gtkabi" = "3.0"; then
- vtepackage="vte-2.90"
- vteversion="0.32.0"
+ vteminversion="0.32.0"
+ if $pkg_config --exists "vte-2.91"; then
+ vtepackage="vte-2.91"
+ else
+ vtepackage="vte-2.90"
+ fi
else
vtepackage="vte"
- vteversion="0.24.0"
+ vteminversion="0.24.0"
fi
- if $pkg_config --exists "$vtepackage >= $vteversion"; then
+ if $pkg_config --exists "$vtepackage >= $vteminversion"; then
vte_cflags=`$pkg_config --cflags $vtepackage`
vte_libs=`$pkg_config --libs $vtepackage`
+ vteversion=`$pkg_config --modversion $vtepackage`
libs_softmmu="$vte_libs $libs_softmmu"
vte="yes"
elif test "$vte" = "yes"; then
if test "$gtkabi" = "3.0"; then
- feature_not_found "vte" "Install libvte-2.90 devel"
+ feature_not_found "vte" "Install libvte-2.90/2.91 devel"
else
feature_not_found "vte" "Install libvte devel"
fi
@@ -4806,6 +4811,7 @@ echo "pixman $pixman"
echo "SDL support $sdl"
echo "GTK support $gtk"
echo "GTK GL support $gtk_gl"
+echo "VTE support $vte `echo_version $vte $vteversion`"
echo "GNUTLS support $gnutls"
echo "GNUTLS hash $gnutls_hash"
echo "GNUTLS rnd $gnutls_rnd"
@@ -4814,7 +4820,6 @@ echo "libgcrypt kdf $gcrypt_kdf"
echo "nettle $nettle `echo_version $nettle $nettle_version`"
echo "nettle kdf $nettle_kdf"
echo "libtasn1 $tasn1"
-echo "VTE support $vte"
echo "curses support $curses"
echo "virgl support $virglrenderer"
echo "curl support $curl"

View File

@ -0,0 +1,38 @@
From ced63da3c840792292a6ee8201c3f7789b80b7eb Mon Sep 17 00:00:00 2001
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Date: Mon, 4 Jul 2016 13:06:36 +0100
Subject: [PATCH] hw/arm/virt: mark the PCIe host controller as DMA coherent in
the DT
Since QEMU performs cacheable accesses to guest memory when doing DMA
as part of the implementation of emulated PCI devices, guest drivers
should use cacheable accesses as well when running under KVM. Since this
essentially means that emulated PCI devices are DMA coherent, set the
'dma-coherent' DT property on the PCIe host controller DT node.
This brings the DT description into line with the ACPI description,
which already marks the PCI bridge as cache coherent (see commit
bc64b96c984abf).
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Message-id: 1467134090-5099-1-git-send-email-ard.biesheuvel@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
(cherry picked from commit 5d636e21c44ecf982a22a7bc4ca89186079ac283)
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/arm/virt.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 56d35c7..9d015d5 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -950,6 +950,7 @@ static void create_pcie(const VirtBoardInfo *vbi, qemu_irq *pic,
qemu_fdt_setprop_cell(vbi->fdt, nodename, "#size-cells", 2);
qemu_fdt_setprop_cells(vbi->fdt, nodename, "bus-range", 0,
nr_pcie_buses - 1);
+ qemu_fdt_setprop(vbi->fdt, nodename, "dma-coherent", NULL, 0);
if (vbi->v2m_phandle) {
qemu_fdt_setprop_cells(vbi->fdt, nodename, "msi-parent",

View File

@ -0,0 +1,47 @@
From 1caba48fc19de7cdceda7577ccf6970d4eb7ed75 Mon Sep 17 00:00:00 2001
From: Olaf Hering <ohering@suse.de>
Date: Tue, 21 Jun 2016 18:42:45 +0200
Subject: [PATCH] xen: SUSE xenlinux unplug for emulated PCI
Implement SUSE specific unplug protocol for emulated PCI devices
in PVonHVM guests
(bsc#953339, bsc#953362, bsc#953518, bsc#984981)
Signed-off-by: Olaf Hering <ohering@suse.de>
---
hw/i386/xen/xen_platform.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c
index aa78393..48800c1 100644
--- a/hw/i386/xen/xen_platform.c
+++ b/hw/i386/xen/xen_platform.c
@@ -314,6 +314,28 @@ static void xen_platform_ioport_writeb(void *opaque, hwaddr addr,
case 0: /* Platform flags */
platform_fixed_ioport_writeb(opaque, 0, (uint32_t)val);
break;
+ case 4:
+ if (val == 1 && size == 1) {
+ /*
+ * SUSE unplug for Xenlinux
+ * xen-kmp used this since xen-3.0.4, instead the official protocol from xen-3.3+
+ * It did an unconditional "outl(1, (ioaddr + 4));"
+ * This approach was used until openSUSE 12.3, up to SLE11SP3 and in SLE10.
+ * Starting with openSUSE 13.1, SLE11SP4 and SLE12 the official protocol is used.
+ * pre VMDP 1.7 made use of 4 and 8 depending on how vmdp was configured.
+ * If VMDP was to control both disk and LAN it would use 4.
+ * If it controlled just disk or just LAN, it would use 8 below.
+ */
+ PCIDevice *pci_dev = PCI_DEVICE(s);
+ DPRINTF("unplug disks\n");
+ blk_drain_all();
+ blk_flush_all();
+ pci_unplug_disks(pci_dev->bus);
+ DPRINTF("unplug nics\n");
+ pci_unplug_nics(pci_dev->bus);
+ DPRINTF("done\n");
+ }
+ break;
case 8:
log_writeb(s, (uint32_t)val);
break;

View File

@ -0,0 +1,36 @@
From 440a840f30f2439aece31ae59a5ee91675a78bb1 Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Tue, 31 May 2016 23:23:27 +0530
Subject: [PATCH] scsi: esp: check buffer length before reading scsi command
The 53C9X Fast SCSI Controller(FSC) comes with an internal 16-byte
FIFO buffer. It is used to handle command and data transfer.
Routine get_cmd() in non-DMA mode, uses 'ti_size' to read scsi
command into a buffer. Add check to validate command length against
buffer size to avoid any overrun.
Reported-by: Li Qiang <liqiang6-s@360.cn>
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Message-Id: <1464717207-7549-1-git-send-email-ppandit@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit d3cdc49138c30be1d3c2f83d18f85d9fdee95f1a)
[BR: CVE-2016-5238 BSC#982959]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
hw/scsi/esp.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
index 3adb685..4b94bbc 100644
--- a/hw/scsi/esp.c
+++ b/hw/scsi/esp.c
@@ -98,6 +98,9 @@ static uint32_t get_cmd(ESPState *s, uint8_t *buf, uint8_t buflen)
s->dma_memory_read(s->dma_opaque, buf, dmalen);
} else {
dmalen = s->ti_size;
+ if (dmalen > TI_BUFSZ) {
+ return 0;
+ }
memcpy(buf, s->ti_buf, dmalen);
buf[0] = buf[2] >> 5;
}

View File

@ -0,0 +1,29 @@
From 9b2c1b6e771f01757b93cc92625ef48903786291 Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <pbonzini@redhat.com>
Date: Tue, 14 Jun 2016 15:10:24 +0200
Subject: [PATCH] scsi: esp: respect FIFO invariant after message phase
The FIFO contains two bytes; hence the write ptr should be two bytes ahead
of the read pointer.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit d020aa504cec8f525b55ba2ef982c09dc847c72e)
[BR: CVE-2016-5238 BSC#982959]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
hw/scsi/esp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
index 4b94bbc..3f08598 100644
--- a/hw/scsi/esp.c
+++ b/hw/scsi/esp.c
@@ -222,7 +222,7 @@ static void write_response(ESPState *s)
} else {
s->ti_size = 2;
s->ti_rptr = 0;
- s->ti_wptr = 0;
+ s->ti_wptr = 2;
s->rregs[ESP_RFLAGS] = 2;
}
esp_raise_irq(s);

View File

@ -0,0 +1,52 @@
From f4fe76597dccb9017be71983c4204f21877fc69f Mon Sep 17 00:00:00 2001
From: Lin Ma <lma@suse.com>
Date: Thu, 16 Jun 2016 01:05:27 +0800
Subject: [PATCH] pci-assign: Move "Invalid ROM" error message to
pci-assign-load-rom.c
In function pci_assign_dev_load_option_rom, For those pci devices don't
have 'rom' file under sysfs or if loading ROM from external file, The
function returns NULL, and won't set the passed 'size' variable.
In these 2 cases, qemu still reports "Invalid ROM" error message, Users
may be confused by it.
Signed-off-by: Lin Ma <lma@suse.com>
Message-Id: <1466010327-22368-1-git-send-email-lma@suse.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit be968c721ee9df49708691ab58f0e66b394dea82)
[BR: BSC#982927]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
hw/i386/kvm/pci-assign.c | 4 ----
hw/i386/pci-assign-load-rom.c | 3 +++
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/hw/i386/kvm/pci-assign.c b/hw/i386/kvm/pci-assign.c
index bf425a2..8abce52 100644
--- a/hw/i386/kvm/pci-assign.c
+++ b/hw/i386/kvm/pci-assign.c
@@ -1891,8 +1891,4 @@ static void assigned_dev_load_option_rom(AssignedDevice *dev)
pci_assign_dev_load_option_rom(&dev->dev, OBJECT(dev), &size,
dev->host.domain, dev->host.bus,
dev->host.slot, dev->host.function);
-
- if (!size) {
- error_report("pci-assign: Invalid ROM.");
- }
}
diff --git a/hw/i386/pci-assign-load-rom.c b/hw/i386/pci-assign-load-rom.c
index 4bbb08c..0d8e4b2 100644
--- a/hw/i386/pci-assign-load-rom.c
+++ b/hw/i386/pci-assign-load-rom.c
@@ -40,6 +40,9 @@ void *pci_assign_dev_load_option_rom(PCIDevice *dev, struct Object *owner,
domain, bus, slot, function);
if (stat(rom_file, &st)) {
+ if (errno != ENOENT) {
+ error_report("pci-assign: Invalid ROM.");
+ }
return NULL;
}

View File

@ -0,0 +1,29 @@
From a4b6bbf1139ebc70375c48afe99fccdd9dcaa501 Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Tue, 26 Jul 2016 16:42:45 -0600
Subject: [PATCH] Xen PCI passthrough: fix passthrough failure when no
interrupt pin
Commit 5a11d0f7 mistakenly converted a log message into an error
condition when no pin interrupt is found for the pci device being
passed through. Revert that part of the commit.
[BR: BSC#981925, BSC#989250]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
hw/xen/xen_pt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
index f593b04..b6d71bb 100644
--- a/hw/xen/xen_pt.c
+++ b/hw/xen/xen_pt.c
@@ -842,7 +842,7 @@ static void xen_pt_realize(PCIDevice *d, Error **errp)
goto err_out;
}
if (!scratch) {
- error_setg(errp, "no pin interrupt");
+ XEN_PT_LOG(d, "no pin interrupt\n");
goto out;
}

View File

@ -0,0 +1,73 @@
From 20a82db8677dfb40288953ba296c372b66146f4d Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Thu, 16 Jun 2016 00:22:35 +0200
Subject: [PATCH] scsi: esp: make cmdbuf big enough for maximum CDB size
While doing DMA read into ESP command buffer 's->cmdbuf', it could
write past the 's->cmdbuf' area, if it was transferring more than 16
bytes. Increase the command buffer size to 32, which is maximum when
's->do_cmd' is set, and add a check on 'len' to avoid OOB access.
Reported-by: Li Qiang <liqiang6-s@360.cn>
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit 926cde5f3e4d2504ed161ed0cb771ac7cad6fd11)
[BR: CVE-2016-6351 BSC#990835]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
hw/scsi/esp.c | 6 ++++--
include/hw/scsi/esp.h | 3 ++-
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
index 3f08598..9e318fd 100644
--- a/hw/scsi/esp.c
+++ b/hw/scsi/esp.c
@@ -249,6 +249,8 @@ static void esp_do_dma(ESPState *s)
len = s->dma_left;
if (s->do_cmd) {
trace_esp_do_dma(s->cmdlen, len);
+ assert (s->cmdlen <= sizeof(s->cmdbuf) &&
+ len <= sizeof(s->cmdbuf) - s->cmdlen);
s->dma_memory_read(s->dma_opaque, &s->cmdbuf[s->cmdlen], len);
s->ti_size = 0;
s->cmdlen = 0;
@@ -348,7 +350,7 @@ static void handle_ti(ESPState *s)
s->dma_counter = dmalen;
if (s->do_cmd)
- minlen = (dmalen < 32) ? dmalen : 32;
+ minlen = (dmalen < ESP_CMDBUF_SZ) ? dmalen : ESP_CMDBUF_SZ;
else if (s->ti_size < 0)
minlen = (dmalen < -s->ti_size) ? dmalen : -s->ti_size;
else
@@ -452,7 +454,7 @@ void esp_reg_write(ESPState *s, uint32_t saddr, uint64_t val)
break;
case ESP_FIFO:
if (s->do_cmd) {
- if (s->cmdlen < TI_BUFSZ) {
+ if (s->cmdlen < ESP_CMDBUF_SZ) {
s->cmdbuf[s->cmdlen++] = val & 0xff;
} else {
trace_esp_error_fifo_overrun();
diff --git a/include/hw/scsi/esp.h b/include/hw/scsi/esp.h
index 6c79527..d2c4886 100644
--- a/include/hw/scsi/esp.h
+++ b/include/hw/scsi/esp.h
@@ -14,6 +14,7 @@ void esp_init(hwaddr espaddr, int it_shift,
#define ESP_REGS 16
#define TI_BUFSZ 16
+#define ESP_CMDBUF_SZ 32
typedef struct ESPState ESPState;
@@ -31,7 +32,7 @@ struct ESPState {
SCSIBus bus;
SCSIDevice *current_dev;
SCSIRequest *current_req;
- uint8_t cmdbuf[TI_BUFSZ];
+ uint8_t cmdbuf[ESP_CMDBUF_SZ];
uint32_t cmdlen;
uint32_t do_cmd;

View File

@ -0,0 +1,58 @@
From a4c62237f33857750850ef30066a5ae5d4d1194e Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <pbonzini@redhat.com>
Date: Mon, 20 Jun 2016 16:32:39 +0200
Subject: [PATCH] scsi: esp: fix migration
Commit 926cde5 ("scsi: esp: make cmdbuf big enough for maximum CDB size",
2016-06-16) changed the size of a migrated field. Split it in two
parts, and only migrate the second part in a new vmstate version.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit cc96677469388bad3d66479379735cf75db069e3)
[BR: CVE-2016-6351 BSC#990835]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
hw/scsi/esp.c | 5 +++--
include/migration/vmstate.h | 5 ++++-
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
index 9e318fd..25c547c 100644
--- a/hw/scsi/esp.c
+++ b/hw/scsi/esp.c
@@ -577,7 +577,7 @@ static bool esp_mem_accepts(void *opaque, hwaddr addr,
const VMStateDescription vmstate_esp = {
.name ="esp",
- .version_id = 3,
+ .version_id = 4,
.minimum_version_id = 3,
.fields = (VMStateField[]) {
VMSTATE_BUFFER(rregs, ESPState),
@@ -588,7 +588,8 @@ const VMStateDescription vmstate_esp = {
VMSTATE_BUFFER(ti_buf, ESPState),
VMSTATE_UINT32(status, ESPState),
VMSTATE_UINT32(dma, ESPState),
- VMSTATE_BUFFER(cmdbuf, ESPState),
+ VMSTATE_PARTIAL_BUFFER(cmdbuf, ESPState, 16),
+ VMSTATE_BUFFER_START_MIDDLE_V(cmdbuf, ESPState, 16, 4),
VMSTATE_UINT32(cmdlen, ESPState),
VMSTATE_UINT32(do_cmd, ESPState),
VMSTATE_UINT32(dma_left, ESPState),
diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
index 84ee355..853a2bd 100644
--- a/include/migration/vmstate.h
+++ b/include/migration/vmstate.h
@@ -888,8 +888,11 @@ extern const VMStateInfo vmstate_info_bitmap;
#define VMSTATE_PARTIAL_BUFFER(_f, _s, _size) \
VMSTATE_STATIC_BUFFER(_f, _s, 0, NULL, 0, _size)
+#define VMSTATE_BUFFER_START_MIDDLE_V(_f, _s, _start, _v) \
+ VMSTATE_STATIC_BUFFER(_f, _s, _v, NULL, _start, sizeof(typeof_field(_s, _f)))
+
#define VMSTATE_BUFFER_START_MIDDLE(_f, _s, _start) \
- VMSTATE_STATIC_BUFFER(_f, _s, 0, NULL, _start, sizeof(typeof_field(_s, _f)))
+ VMSTATE_BUFFER_START_MIDDLE_V(_f, _s, _start, 0)
#define VMSTATE_PARTIAL_VBUFFER(_f, _s, _size) \
VMSTATE_VBUFFER(_f, _s, 0, NULL, 0, _size)

View File

@ -0,0 +1,65 @@
From d9c626e4ede58130f64f24f4f9ca1140e4102a70 Mon Sep 17 00:00:00 2001
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Tue, 19 Jul 2016 13:07:13 +0100
Subject: [PATCH] virtio: error out if guest exceeds virtqueue size
A broken or malicious guest can submit more requests than the virtqueue
size permits, causing unbounded memory allocation in QEMU.
The guest can submit requests without bothering to wait for completion
and is therefore not bound by virtqueue size. This requires reusing
vring descriptors in more than one request, which is not allowed by the
VIRTIO 1.0 specification.
In "3.2.1 Supplying Buffers to The Device", the VIRTIO 1.0 specification
says:
1. The driver places the buffer into free descriptor(s) in the
descriptor table, chaining as necessary
and
Note that the above code does not take precautions against the
available ring buffer wrapping around: this is not possible since the
ring buffer is the same size as the descriptor table, so step (1) will
prevent such a condition.
This implies that placing more buffers into the virtqueue than the
descriptor table size is not allowed.
QEMU is missing the check to prevent this case. Processing a request
allocates a VirtQueueElement leading to unbounded memory allocation
controlled by the guest.
Exit with an error if the guest provides more requests than the
virtqueue size permits. This bounds memory allocation and makes the
buggy guest visible to the user.
This patch fixes CVE-2016-5403 and was reported by Zhenhao Hong from 360
Marvel Team, China.
Reported-by: Zhenhao Hong <hongzhenhao@360.cn>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit afd9096eb1882f23929f5b5c177898ed231bac66)
[BR: CVE-2016-5403 BSC#991080]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
hw/virtio/virtio.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 30ede3d..e5ead0d 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -561,6 +561,11 @@ void *virtqueue_pop(VirtQueue *vq, size_t sz)
max = vq->vring.num;
+ if (vq->inuse >= vq->vring.num) {
+ error_report("Virtqueue size exceeded");
+ exit(1);
+ }
+
i = head = virtqueue_get_head(vq, vq->last_avail_idx++);
if (virtio_vdev_has_feature(vdev, VIRTIO_RING_F_EVENT_IDX)) {
vring_set_avail_event(vq, vq->last_avail_idx);

View File

@ -0,0 +1,103 @@
From 0d4ea8a7847a76415ed0d0db0392be5b7d1b71a6 Mon Sep 17 00:00:00 2001
From: Juergen Gross <jgross@suse.com>
Date: Fri, 29 Jul 2016 12:51:53 +0200
Subject: [PATCH] xen: when removing a backend don't remove many of them
When a Xenstore watch fires indicating a backend has to be removed
don't remove all backends for that domain with the specified device
index, but just the one which has the correct type.
The easiest way to achieve this is to use the already determined
xendev as parameter for xen_be_del_xendev() instead of only the domid
and device index.
This at once removes the open coded QTAILQ_FOREACH_SAVE() in
xen_be_del_xendev() as there is no need to search for the correct
xendev any longer.
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
hw/xen/xen_backend.c | 58 +++++++++++++++++-----------------------------------
1 file changed, 19 insertions(+), 39 deletions(-)
diff --git a/hw/xen/xen_backend.c b/hw/xen/xen_backend.c
index 6e52474..8f347da 100644
--- a/hw/xen/xen_backend.c
+++ b/hw/xen/xen_backend.c
@@ -322,48 +322,28 @@ static struct XenDevice *xen_be_get_xendev(const char *type, int dom, int dev,
/*
* release xen backend device.
*/
-static struct XenDevice *xen_be_del_xendev(int dom, int dev)
+static void xen_be_del_xendev(struct XenDevice *xendev)
{
- struct XenDevice *xendev, *xnext;
-
- /*
- * This is pretty much like QTAILQ_FOREACH(xendev, &xendevs, next) but
- * we save the next pointer in xnext because we might free xendev.
- */
- xnext = xendevs.tqh_first;
- while (xnext) {
- xendev = xnext;
- xnext = xendev->next.tqe_next;
-
- if (xendev->dom != dom) {
- continue;
- }
- if (xendev->dev != dev && dev != -1) {
- continue;
- }
-
- if (xendev->ops->free) {
- xendev->ops->free(xendev);
- }
-
- if (xendev->fe) {
- char token[XEN_BUFSIZE];
- snprintf(token, sizeof(token), "fe:%p", xendev);
- xs_unwatch(xenstore, xendev->fe, token);
- g_free(xendev->fe);
- }
+ if (xendev->ops->free) {
+ xendev->ops->free(xendev);
+ }
- if (xendev->evtchndev != NULL) {
- xenevtchn_close(xendev->evtchndev);
- }
- if (xendev->gnttabdev != NULL) {
- xengnttab_close(xendev->gnttabdev);
- }
+ if (xendev->fe) {
+ char token[XEN_BUFSIZE];
+ snprintf(token, sizeof(token), "fe:%p", xendev);
+ xs_unwatch(xenstore, xendev->fe, token);
+ g_free(xendev->fe);
+ }
- QTAILQ_REMOVE(&xendevs, xendev, next);
- g_free(xendev);
+ if (xendev->evtchndev != NULL) {
+ xenevtchn_close(xendev->evtchndev);
}
- return NULL;
+ if (xendev->gnttabdev != NULL) {
+ xengnttab_close(xendev->gnttabdev);
+ }
+
+ QTAILQ_REMOVE(&xendevs, xendev, next);
+ g_free(xendev);
}
/*
@@ -683,7 +663,7 @@ static void xenstore_update_be(char *watch, char *type, int dom,
if (xendev != NULL) {
bepath = xs_read(xenstore, 0, xendev->be, &len);
if (bepath == NULL) {
- xen_be_del_xendev(dom, dev);
+ xen_be_del_xendev(xendev);
} else {
free(bepath);
xen_be_backend_changed(xendev, path);

View File

@ -0,0 +1,210 @@
From afb94bcc5bbb8b58f8c96821caaab268f96cabdb Mon Sep 17 00:00:00 2001
From: Juergen Gross <jgross@suse.com>
Date: Wed, 27 Jul 2016 08:17:41 +0200
Subject: [PATCH] xen: drain submit queue in xen-usb before removing device
When unplugging a device in the Xen pvusb backend drain the submit
queue before deallocation of the control structures. Otherwise there
will be bogus memory accesses when I/O contracts are finished.
Correlated to this issue is the handling of cancel requests: a packet
cancelled will still lead to the call of complete, so add a flag
to the request indicating it should be just dropped on complete.
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
hw/usb/xen-usb.c | 95 ++++++++++++++++++++++++++++++++++++--------------------
1 file changed, 61 insertions(+), 34 deletions(-)
diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
index 664df04..6f4b99d 100644
--- a/hw/usb/xen-usb.c
+++ b/hw/usb/xen-usb.c
@@ -94,6 +94,8 @@ struct usbback_req {
void *buffer;
void *isoc_buffer;
struct libusb_transfer *xfer;
+
+ bool cancelled;
};
struct usbback_hotplug {
@@ -304,20 +306,23 @@ static void usbback_do_response(struct usbback_req *usbback_req, int32_t status,
usbback_req->isoc_buffer = NULL;
}
- res = RING_GET_RESPONSE(&usbif->urb_ring, usbif->urb_ring.rsp_prod_pvt);
- res->id = usbback_req->req.id;
- res->status = status;
- res->actual_length = actual_length;
- res->error_count = error_count;
- res->start_frame = 0;
- usbif->urb_ring.rsp_prod_pvt++;
- RING_PUSH_RESPONSES_AND_CHECK_NOTIFY(&usbif->urb_ring, notify);
-
- if (notify) {
- xen_be_send_notify(xendev);
+ if (usbif->urb_sring) {
+ res = RING_GET_RESPONSE(&usbif->urb_ring, usbif->urb_ring.rsp_prod_pvt);
+ res->id = usbback_req->req.id;
+ res->status = status;
+ res->actual_length = actual_length;
+ res->error_count = error_count;
+ res->start_frame = 0;
+ usbif->urb_ring.rsp_prod_pvt++;
+ RING_PUSH_RESPONSES_AND_CHECK_NOTIFY(&usbif->urb_ring, notify);
+
+ if (notify) {
+ xen_be_send_notify(xendev);
+ }
}
- usbback_put_req(usbback_req);
+ if (!usbback_req->cancelled)
+ usbback_put_req(usbback_req);
}
static void usbback_do_response_ret(struct usbback_req *usbback_req,
@@ -369,15 +374,14 @@ static void usbback_set_address(struct usbback_info *usbif,
}
}
-static bool usbback_cancel_req(struct usbback_req *usbback_req)
+static void usbback_cancel_req(struct usbback_req *usbback_req)
{
- bool ret = false;
-
if (usb_packet_is_inflight(&usbback_req->packet)) {
usb_cancel_packet(&usbback_req->packet);
- ret = true;
+ QTAILQ_REMOVE(&usbback_req->stub->submit_q, usbback_req, q);
+ usbback_req->cancelled = true;
+ usbback_do_response_ret(usbback_req, -EPROTO);
}
- return ret;
}
static void usbback_process_unlink_req(struct usbback_req *usbback_req)
@@ -394,7 +398,7 @@ static void usbback_process_unlink_req(struct usbback_req *usbback_req)
devnum = usbif_pipedevice(usbback_req->req.pipe);
if (unlikely(devnum == 0)) {
usbback_req->stub = usbif->ports +
- usbif_pipeportnum(usbback_req->req.pipe);
+ usbif_pipeportnum(usbback_req->req.pipe) - 1;
if (unlikely(!usbback_req->stub)) {
ret = -ENODEV;
goto fail_response;
@@ -409,9 +413,7 @@ static void usbback_process_unlink_req(struct usbback_req *usbback_req)
QTAILQ_FOREACH(unlink_req, &usbback_req->stub->submit_q, q) {
if (unlink_req->req.id == id) {
- if (usbback_cancel_req(unlink_req)) {
- usbback_do_response_ret(unlink_req, -EPROTO);
- }
+ usbback_cancel_req(unlink_req);
break;
}
}
@@ -684,6 +686,31 @@ static void usbback_hotplug_enq(struct usbback_info *usbif, unsigned port)
usbback_hotplug_notify(usbif);
}
+static void usbback_portid_drain(struct usbback_info *usbif, unsigned port)
+{
+ struct usbback_req *req, *tmp;
+ bool sched = false;
+
+ QTAILQ_FOREACH_SAFE(req, &usbif->ports[port - 1].submit_q, q, tmp) {
+ usbback_cancel_req(req);
+ sched = true;
+ }
+
+ if (sched)
+ qemu_bh_schedule(usbif->bh);
+}
+
+static void usbback_portid_detach(struct usbback_info *usbif, unsigned port)
+{
+ if (!usbif->ports[port - 1].attached)
+ return;
+
+ usbif->ports[port - 1].speed = USBIF_SPEED_NONE;
+ usbif->ports[port - 1].attached = false;
+ usbback_portid_drain(usbif, port);
+ usbback_hotplug_enq(usbif, port);
+}
+
static void usbback_portid_remove(struct usbback_info *usbif, unsigned port)
{
USBPort *p;
@@ -697,9 +724,7 @@ static void usbback_portid_remove(struct usbback_info *usbif, unsigned port)
object_unparent(OBJECT(usbif->ports[port - 1].dev));
usbif->ports[port - 1].dev = NULL;
- usbif->ports[port - 1].speed = USBIF_SPEED_NONE;
- usbif->ports[port - 1].attached = false;
- usbback_hotplug_enq(usbif, port);
+ usbback_portid_detach(usbif, port);
TR_BUS(&usbif->xendev, "port %d removed\n", port);
}
@@ -804,7 +829,6 @@ static void usbback_process_port(struct usbback_info *usbif, unsigned port)
static void usbback_disconnect(struct XenDevice *xendev)
{
struct usbback_info *usbif;
- struct usbback_req *req, *tmp;
unsigned int i;
TR_BUS(xendev, "start\n");
@@ -823,12 +847,8 @@ static void usbback_disconnect(struct XenDevice *xendev)
}
for (i = 0; i < usbif->num_ports; i++) {
- if (!usbif->ports[i].dev) {
- continue;
- }
- QTAILQ_FOREACH_SAFE(req, &usbif->ports[i].submit_q, q, tmp) {
- usbback_cancel_req(req);
- }
+ if (usbif->ports[i].dev)
+ usbback_portid_drain(usbif, i + 1);
}
TR_BUS(xendev, "finished\n");
@@ -947,8 +967,7 @@ static void xen_bus_detach(USBPort *port)
usbif = port->opaque;
TR_BUS(&usbif->xendev, "\n");
- usbif->ports[port->index].attached = false;
- usbback_hotplug_enq(usbif, port->index + 1);
+ usbback_portid_detach(usbif, port->index + 1);
}
static void xen_bus_child_detach(USBPort *port, USBDevice *child)
@@ -961,9 +980,16 @@ static void xen_bus_child_detach(USBPort *port, USBDevice *child)
static void xen_bus_complete(USBPort *port, USBPacket *packet)
{
+ struct usbback_req *usbback_req;
struct usbback_info *usbif;
- usbif = port->opaque;
+ usbback_req = container_of(packet, struct usbback_req, packet);
+ if (usbback_req->cancelled) {
+ g_free(usbback_req);
+ return;
+ }
+
+ usbif = usbback_req->usbif;
TR_REQ(&usbif->xendev, "\n");
usbback_packet_complete(packet);
}
@@ -1040,6 +1066,7 @@ static int usbback_free(struct XenDevice *xendev)
}
usb_bus_release(&usbif->bus);
+ object_unparent(OBJECT(&usbif->bus));
TR_BUS(xendev, "finished\n");

View File

@ -0,0 +1,104 @@
From 197d526012602fbac75392a86e991539e4400bf0 Mon Sep 17 00:00:00 2001
From: "Denis V. Lunev" <den@openvz.org>
Date: Thu, 2 Jun 2016 18:58:15 +0300
Subject: [PATCH] qcow2: avoid extra flushes in qcow2
The problem with excessive flushing was found by a couple of performance
tests:
- parallel directory tree creation (from 2 processes)
- 32 cached writes + fsync at the end in a loop
For the first one results improved from 2.6 loops/sec to 3.5 loops/sec.
Each loop creates 10^3 directories with 10 files in each.
For the second one results improved from ~600 fsync/sec to ~1100
fsync/sec. Though, it was run on SSD so it probably won't show such
performance gain on rotational media.
qcow2_cache_flush() calls bdrv_flush() unconditionally after writing
cache entries of a particular cache. This can lead to as many as
2 additional fdatasyncs inside bdrv_flush.
We can simply skip all fdatasync calls inside qcow2_co_flush_to_os
as bdrv_flush for sure will do the job. These flushes are necessary to
keep the right order of writes to the different caches. Though this is
not necessary in the current code base as this ordering is ensured through
the flush in qcow2_cache_flush_dependency().
Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: Pavel Borzenkov <pborzenkov@virtuozzo.com>
CC: Kevin Wolf <kwolf@redhat.com>
CC: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit f3c3b87dae44ac6c82246ceb3953793951800a9a)
[BR: BSC#991296]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
block/qcow2-cache.c | 11 +++++++++--
block/qcow2.c | 4 ++--
block/qcow2.h | 1 +
3 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/block/qcow2-cache.c b/block/qcow2-cache.c
index 0fe8eda..208a060 100644
--- a/block/qcow2-cache.c
+++ b/block/qcow2-cache.c
@@ -226,7 +226,7 @@ static int qcow2_cache_entry_flush(BlockDriverState *bs, Qcow2Cache *c, int i)
return 0;
}
-int qcow2_cache_flush(BlockDriverState *bs, Qcow2Cache *c)
+int qcow2_cache_write(BlockDriverState *bs, Qcow2Cache *c)
{
BDRVQcow2State *s = bs->opaque;
int result = 0;
@@ -242,8 +242,15 @@ int qcow2_cache_flush(BlockDriverState *bs, Qcow2Cache *c)
}
}
+ return result;
+}
+
+int qcow2_cache_flush(BlockDriverState *bs, Qcow2Cache *c)
+{
+ int result = qcow2_cache_write(bs, c);
+
if (result == 0) {
- ret = bdrv_flush(bs->file->bs);
+ int ret = bdrv_flush(bs->file->bs);
if (ret < 0) {
result = ret;
}
diff --git a/block/qcow2.c b/block/qcow2.c
index 470734b..dc609a1 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -2774,14 +2774,14 @@ static coroutine_fn int qcow2_co_flush_to_os(BlockDriverState *bs)
int ret;
qemu_co_mutex_lock(&s->lock);
- ret = qcow2_cache_flush(bs, s->l2_table_cache);
+ ret = qcow2_cache_write(bs, s->l2_table_cache);
if (ret < 0) {
qemu_co_mutex_unlock(&s->lock);
return ret;
}
if (qcow2_need_accurate_refcounts(s)) {
- ret = qcow2_cache_flush(bs, s->refcount_block_cache);
+ ret = qcow2_cache_write(bs, s->refcount_block_cache);
if (ret < 0) {
qemu_co_mutex_unlock(&s->lock);
return ret;
diff --git a/block/qcow2.h b/block/qcow2.h
index a063a3c..7db9795 100644
--- a/block/qcow2.h
+++ b/block/qcow2.h
@@ -583,6 +583,7 @@ int qcow2_cache_destroy(BlockDriverState* bs, Qcow2Cache *c);
void qcow2_cache_entry_mark_dirty(BlockDriverState *bs, Qcow2Cache *c,
void *table);
int qcow2_cache_flush(BlockDriverState *bs, Qcow2Cache *c);
+int qcow2_cache_write(BlockDriverState *bs, Qcow2Cache *c);
int qcow2_cache_set_dependency(BlockDriverState *bs, Qcow2Cache *c,
Qcow2Cache *dependency);
void qcow2_cache_depends_on_flush(Qcow2Cache *c);

View File

@ -0,0 +1,83 @@
From 4bbd77b07de2f0df2e8a0dba9c4ca51299ee2518 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
Change from using glib alloc and free routines to those
from libc. Also perform safety measure of dropping privs
to user if configured no-caps.
[BR: BOO#988279]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
qemu-bridge-helper.c | 29 ++++++++++++++++++++++++-----
1 file changed, 24 insertions(+), 5 deletions(-)
diff --git a/qemu-bridge-helper.c b/qemu-bridge-helper.c
index 830fb9e..73ac49b 100644
--- a/qemu-bridge-helper.c
+++ b/qemu-bridge-helper.c
@@ -15,8 +15,6 @@
#include "qemu/osdep.h"
-#include <glib.h>
-
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <sys/un.h>
@@ -111,7 +109,12 @@ static int parse_acl_file(const char *filename, ACLList *acl_list)
*argend = 0;
if (strcmp(cmd, "deny") == 0) {
- acl_rule = g_malloc(sizeof(*acl_rule));
+ acl_rule = calloc(1, sizeof(*acl_rule));
+ if (!acl_rule) {
+ fclose(f);
+ errno = ENOMEM;
+ return -1;
+ }
if (strcmp(arg, "all") == 0) {
acl_rule->type = ACL_DENY_ALL;
} else {
@@ -120,7 +123,12 @@ static int parse_acl_file(const char *filename, ACLList *acl_list)
}
QSIMPLEQ_INSERT_TAIL(acl_list, acl_rule, entry);
} else if (strcmp(cmd, "allow") == 0) {
- acl_rule = g_malloc(sizeof(*acl_rule));
+ acl_rule = calloc(1, sizeof(*acl_rule));
+ if (!acl_rule) {
+ fclose(f);
+ errno = ENOMEM;
+ return -1;
+ }
if (strcmp(arg, "all") == 0) {
acl_rule->type = ACL_ALLOW_ALL;
} else {
@@ -414,6 +422,17 @@ int main(int argc, char **argv)
goto cleanup;
}
+#ifndef CONFIG_LIBCAP
+ /* avoid sending the fd as root user if running suid to not fool
+ * peer credentials to daemons that dont expect that
+ */
+ if (setuid(getuid()) < 0) {
+ fprintf(stderr, "Failed to drop privileges.\n");
+ ret = EXIT_FAILURE;
+ goto cleanup;
+ }
+#endif
+
/* write fd to the domain socket */
if (send_fd(unixfd, fd) == -1) {
fprintf(stderr, "failed to write fd to unix socket: %s\n",
@@ -435,7 +454,7 @@ cleanup:
}
while ((acl_rule = QSIMPLEQ_FIRST(&acl_list)) != NULL) {
QSIMPLEQ_REMOVE_HEAD(&acl_list, entry);
- g_free(acl_rule);
+ free(acl_rule);
}
return ret;

View File

@ -0,0 +1,95 @@
From ddbfdd2c5396aa810a789f5cb681879f78cb693f Mon Sep 17 00:00:00 2001
From: Juergen Gross <jgross@suse.com>
Date: Tue, 2 Aug 2016 08:32:32 +0200
Subject: [PATCH] xen: use a common function for pv and hvm guest backend
register calls
Instead of calling xen_be_register() for each supported backend type
for hvm and pv guests in their machine init functions use a common
function in order not to have to add new backends twice.
This at once fixes the error that hvm domains couldn't use the qusb
backend.
Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
Message-id: 1470119552-16170-1-git-send-email-jgross@suse.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
(cherry picked from commit 0e39bb022b5fa8c11964968885f3263c02ce42b0)
[BR: BSC#991785]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
hw/xen/xen_backend.c | 10 ++++++++++
hw/xenpv/xen_machine_pv.c | 7 +------
include/hw/xen/xen_backend.h | 1 +
xen-hvm.c | 4 +---
4 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/hw/xen/xen_backend.c b/hw/xen/xen_backend.c
index 8f347da..f4d302d 100644
--- a/hw/xen/xen_backend.c
+++ b/hw/xen/xen_backend.c
@@ -781,6 +781,16 @@ int xen_be_register(const char *type, struct XenDevOps *ops)
return xenstore_scan(type, xen_domid, ops);
}
+void xen_be_register_common(void)
+{
+ xen_be_register("console", &xen_console_ops);
+ xen_be_register("vkbd", &xen_kbdmouse_ops);
+ xen_be_register("qdisk", &xen_blkdev_ops);
+#ifdef CONFIG_USB_LIBUSB
+ xen_be_register("qusb", &xen_usb_ops);
+#endif
+}
+
int xen_be_bind_evtchn(struct XenDevice *xendev)
{
if (xendev->local_port != -1) {
diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c
index 48f725c..79aef4e 100644
--- a/hw/xenpv/xen_machine_pv.c
+++ b/hw/xenpv/xen_machine_pv.c
@@ -67,14 +67,9 @@ static void xen_init_pv(MachineState *machine)
break;
}
- xen_be_register("console", &xen_console_ops);
- xen_be_register("vkbd", &xen_kbdmouse_ops);
+ xen_be_register_common();
xen_be_register("vfb", &xen_framebuffer_ops);
- xen_be_register("qdisk", &xen_blkdev_ops);
xen_be_register("qnic", &xen_netdev_ops);
-#ifdef CONFIG_USB_LIBUSB
- xen_be_register("qusb", &xen_usb_ops);
-#endif
/* configure framebuffer */
if (xenfb_enabled) {
diff --git a/include/hw/xen/xen_backend.h b/include/hw/xen/xen_backend.h
index 6e18a46..0e9af28 100644
--- a/include/hw/xen/xen_backend.h
+++ b/include/hw/xen/xen_backend.h
@@ -87,6 +87,7 @@ void xen_be_check_state(struct XenDevice *xendev);
/* xen backend driver bits */
int xen_be_init(void);
+void xen_be_register_common(void);
int xen_be_register(const char *type, struct XenDevOps *ops);
int xen_be_set_state(struct XenDevice *xendev, enum xenbus_state state);
int xen_be_bind_evtchn(struct XenDevice *xendev);
diff --git a/xen-hvm.c b/xen-hvm.c
index 039680a..93c958a 100644
--- a/xen-hvm.c
+++ b/xen-hvm.c
@@ -1305,9 +1305,7 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory)
error_report("xen backend core setup failed");
goto err;
}
- xen_be_register("console", &xen_console_ops);
- xen_be_register("vkbd", &xen_kbdmouse_ops);
- xen_be_register("qdisk", &xen_blkdev_ops);
+ xen_be_register_common();
xen_read_physmap(state);
return;

3
kvm.conf Normal file
View File

@ -0,0 +1,3 @@
# load kvm module at boot time
kvm

View File

@ -1,3 +1,173 @@
-------------------------------------------------------------------
Wed Aug 3 17:09:11 UTC 2016 - brogers@suse.com
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6
* Patches dropped:
0058-usb-Fix-conditions-that-xen-usb.c-i.patch
* Patches added:
0058-xen-move-xen_sysdev-to-xen_backend..patch
-------------------------------------------------------------------
Wed Aug 3 13:51:47 UTC 2016 - brogers@suse.com
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6
* Patches added:
0064-xen-SUSE-xenlinux-unplug-for-emulat.patch
0065-scsi-esp-check-buffer-length-before.patch
0066-scsi-esp-respect-FIFO-invariant-aft.patch
0067-pci-assign-Move-Invalid-ROM-error-m.patch
0068-Xen-PCI-passthrough-fix-passthrough.patch
0069-scsi-esp-make-cmdbuf-big-enough-for.patch
0070-scsi-esp-fix-migration.patch
0071-virtio-error-out-if-guest-exceeds-v.patch
0072-xen-when-removing-a-backend-don-t-r.patch
0073-xen-drain-submit-queue-in-xen-usb-b.patch
0074-qcow2-avoid-extra-flushes-in-qcow2.patch
0075-qemu-bridge-helper-reduce-security-.patch
0076-xen-use-a-common-function-for-pv-an.patch
-------------------------------------------------------------------
Thu Jul 28 10:53:18 UTC 2016 - agraf@suse.com
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6
* Patches added:
0063-hw-arm-virt-mark-the-PCIe-host-cont.patch
-------------------------------------------------------------------
Thu Jul 14 19:38:39 UTC 2016 - brogers@suse.com
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6
* Patches added:
0061-configure-add-echo_version-helper.patch
0062-configure-support-vte-2.91.patch
-------------------------------------------------------------------
Thu Jul 7 16:16:40 UTC 2016 - agraf@suse.com
- Remove deprecated patch "work-around-SA_RESTART-race" (boo#982208)
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6
* Patches dropped:
0002-XXX-work-around-SA_RESTART-race-wit.patch
0003-qemu-0.9.0.cvs-binfmt.patch
0004-qemu-cvs-alsa_bitfield.patch
0005-qemu-cvs-alsa_ioctl.patch
0006-qemu-cvs-alsa_mmap.patch
0007-qemu-cvs-gettimeofday.patch
0008-qemu-cvs-ioctl_debug.patch
0009-qemu-cvs-ioctl_nodirection.patch
0010-block-vmdk-Support-creation-of-SCSI.patch
0011-linux-user-add-binfmt-wrapper-for-a.patch
0012-PPC-KVM-Disable-mmu-notifier-check.patch
0013-linux-user-fix-segfault-deadlock.patch
0014-linux-user-binfmt-support-host-bina.patch
0015-linux-user-Ignore-broken-loop-ioctl.patch
0016-linux-user-lock-tcg.patch
0017-linux-user-Run-multi-threaded-code-.patch
0018-linux-user-lock-tb-flushing-too.patch
0019-linux-user-Fake-proc-cpuinfo.patch
0020-linux-user-implement-FS_IOC_GETFLAG.patch
0021-linux-user-implement-FS_IOC_SETFLAG.patch
0022-linux-user-XXX-disable-fiemap.patch
0023-slirp-nooutgoing.patch
0024-vnc-password-file-and-incoming-conn.patch
0025-linux-user-add-more-blk-ioctls.patch
0026-linux-user-use-target_ulong.patch
0027-block-Add-support-for-DictZip-enabl.patch
0028-block-Add-tar-container-format.patch
0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
0030-console-add-question-mark-escape-op.patch
0031-Make-char-muxer-more-robust-wrt-sma.patch
0032-linux-user-lseek-explicitly-cast-no.patch
0033-virtfs-proxy-helper-Provide-__u64-f.patch
0034-configure-Enable-PIE-for-ppc-and-pp.patch
0035-qtest-Increase-socket-timeout.patch
0036-AIO-Reduce-number-of-threads-for-32.patch
0037-configure-Enable-libseccomp-for-ppc.patch
0038-dictzip-Fix-on-big-endian-systems.patch
0039-block-split-large-discard-requests-.patch
0040-xen_disk-Add-suse-specific-flush-di.patch
0041-build-link-with-libatomic-on-powerp.patch
0042-net-mipsnet-check-packet-length-aga.patch
0043-i386-kvmvapic-initialise-imm32-vari.patch
0044-esp-check-command-buffer-length-bef.patch
0045-esp-check-dma-length-before-reading.patch
0046-scsi-pvscsi-check-command-descripto.patch
0047-scsi-mptsas-infinite-loop-while-fet.patch
0048-vga-add-sr_vbe-register-set.patch
0049-scsi-megasas-use-appropriate-proper.patch
0050-scsi-megasas-check-read_queue_head-.patch
0051-scsi-megasas-null-terminate-bios-ve.patch
0052-vmsvga-move-fifo-sanity-checks-to-v.patch
0053-vmsvga-don-t-process-more-than-1024.patch
0054-block-iscsi-avoid-potential-overflo.patch
0055-scsi-esp-check-TI-buffer-index-befo.patch
0056-xen-introduce-dummy-system-device.patch
0057-xen-write-information-about-support.patch
0058-xen-add-pvUSB-backend.patch
0059-usb-Fix-conditions-that-xen-usb.c-i.patch
0060-vnc-add-configurable-keyboard-delay.patch
0061-scsi-megasas-initialise-local-confi.patch
* Patches added:
0002-qemu-0.9.0.cvs-binfmt.patch
0003-qemu-cvs-alsa_bitfield.patch
0004-qemu-cvs-alsa_ioctl.patch
0005-qemu-cvs-alsa_mmap.patch
0006-qemu-cvs-gettimeofday.patch
0007-qemu-cvs-ioctl_debug.patch
0008-qemu-cvs-ioctl_nodirection.patch
0009-block-vmdk-Support-creation-of-SCSI.patch
0010-linux-user-add-binfmt-wrapper-for-a.patch
0011-PPC-KVM-Disable-mmu-notifier-check.patch
0012-linux-user-fix-segfault-deadlock.patch
0013-linux-user-binfmt-support-host-bina.patch
0014-linux-user-Ignore-broken-loop-ioctl.patch
0015-linux-user-lock-tcg.patch
0016-linux-user-Run-multi-threaded-code-.patch
0017-linux-user-lock-tb-flushing-too.patch
0018-linux-user-Fake-proc-cpuinfo.patch
0019-linux-user-implement-FS_IOC_GETFLAG.patch
0020-linux-user-implement-FS_IOC_SETFLAG.patch
0021-linux-user-XXX-disable-fiemap.patch
0022-slirp-nooutgoing.patch
0023-vnc-password-file-and-incoming-conn.patch
0024-linux-user-add-more-blk-ioctls.patch
0025-linux-user-use-target_ulong.patch
0026-block-Add-support-for-DictZip-enabl.patch
0027-block-Add-tar-container-format.patch
0028-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
0029-console-add-question-mark-escape-op.patch
0030-Make-char-muxer-more-robust-wrt-sma.patch
0031-linux-user-lseek-explicitly-cast-no.patch
0032-virtfs-proxy-helper-Provide-__u64-f.patch
0033-configure-Enable-PIE-for-ppc-and-pp.patch
0034-qtest-Increase-socket-timeout.patch
0035-AIO-Reduce-number-of-threads-for-32.patch
0036-configure-Enable-libseccomp-for-ppc.patch
0037-dictzip-Fix-on-big-endian-systems.patch
0038-block-split-large-discard-requests-.patch
0039-xen_disk-Add-suse-specific-flush-di.patch
0040-build-link-with-libatomic-on-powerp.patch
0041-net-mipsnet-check-packet-length-aga.patch
0042-i386-kvmvapic-initialise-imm32-vari.patch
0043-esp-check-command-buffer-length-bef.patch
0044-esp-check-dma-length-before-reading.patch
0045-scsi-pvscsi-check-command-descripto.patch
0046-scsi-mptsas-infinite-loop-while-fet.patch
0047-vga-add-sr_vbe-register-set.patch
0048-scsi-megasas-use-appropriate-proper.patch
0049-scsi-megasas-check-read_queue_head-.patch
0050-scsi-megasas-null-terminate-bios-ve.patch
0051-vmsvga-move-fifo-sanity-checks-to-v.patch
0052-vmsvga-don-t-process-more-than-1024.patch
0053-block-iscsi-avoid-potential-overflo.patch
0054-scsi-esp-check-TI-buffer-index-befo.patch
0055-xen-introduce-dummy-system-device.patch
0056-xen-write-information-about-support.patch
0057-xen-add-pvUSB-backend.patch
0058-usb-Fix-conditions-that-xen-usb.c-i.patch
0059-vnc-add-configurable-keyboard-delay.patch
0060-scsi-megasas-initialise-local-confi.patch
-------------------------------------------------------------------
Fri Jun 10 20:25:33 UTC 2016 - brogers@suse.com

View File

@ -26,66 +26,81 @@ Release: 0
Source: http://wiki.qemu.org/download/qemu-2.6.0.tar.bz2
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch
Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch
Patch0003: 0003-qemu-0.9.0.cvs-binfmt.patch
Patch0004: 0004-qemu-cvs-alsa_bitfield.patch
Patch0005: 0005-qemu-cvs-alsa_ioctl.patch
Patch0006: 0006-qemu-cvs-alsa_mmap.patch
Patch0007: 0007-qemu-cvs-gettimeofday.patch
Patch0008: 0008-qemu-cvs-ioctl_debug.patch
Patch0009: 0009-qemu-cvs-ioctl_nodirection.patch
Patch0010: 0010-block-vmdk-Support-creation-of-SCSI.patch
Patch0011: 0011-linux-user-add-binfmt-wrapper-for-a.patch
Patch0012: 0012-PPC-KVM-Disable-mmu-notifier-check.patch
Patch0013: 0013-linux-user-fix-segfault-deadlock.patch
Patch0014: 0014-linux-user-binfmt-support-host-bina.patch
Patch0015: 0015-linux-user-Ignore-broken-loop-ioctl.patch
Patch0016: 0016-linux-user-lock-tcg.patch
Patch0017: 0017-linux-user-Run-multi-threaded-code-.patch
Patch0018: 0018-linux-user-lock-tb-flushing-too.patch
Patch0019: 0019-linux-user-Fake-proc-cpuinfo.patch
Patch0020: 0020-linux-user-implement-FS_IOC_GETFLAG.patch
Patch0021: 0021-linux-user-implement-FS_IOC_SETFLAG.patch
Patch0022: 0022-linux-user-XXX-disable-fiemap.patch
Patch0023: 0023-slirp-nooutgoing.patch
Patch0024: 0024-vnc-password-file-and-incoming-conn.patch
Patch0025: 0025-linux-user-add-more-blk-ioctls.patch
Patch0026: 0026-linux-user-use-target_ulong.patch
Patch0027: 0027-block-Add-support-for-DictZip-enabl.patch
Patch0028: 0028-block-Add-tar-container-format.patch
Patch0029: 0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
Patch0030: 0030-console-add-question-mark-escape-op.patch
Patch0031: 0031-Make-char-muxer-more-robust-wrt-sma.patch
Patch0032: 0032-linux-user-lseek-explicitly-cast-no.patch
Patch0033: 0033-virtfs-proxy-helper-Provide-__u64-f.patch
Patch0034: 0034-configure-Enable-PIE-for-ppc-and-pp.patch
Patch0035: 0035-qtest-Increase-socket-timeout.patch
Patch0036: 0036-AIO-Reduce-number-of-threads-for-32.patch
Patch0037: 0037-configure-Enable-libseccomp-for-ppc.patch
Patch0038: 0038-dictzip-Fix-on-big-endian-systems.patch
Patch0039: 0039-block-split-large-discard-requests-.patch
Patch0040: 0040-xen_disk-Add-suse-specific-flush-di.patch
Patch0041: 0041-build-link-with-libatomic-on-powerp.patch
Patch0042: 0042-net-mipsnet-check-packet-length-aga.patch
Patch0043: 0043-i386-kvmvapic-initialise-imm32-vari.patch
Patch0044: 0044-esp-check-command-buffer-length-bef.patch
Patch0045: 0045-esp-check-dma-length-before-reading.patch
Patch0046: 0046-scsi-pvscsi-check-command-descripto.patch
Patch0047: 0047-scsi-mptsas-infinite-loop-while-fet.patch
Patch0048: 0048-vga-add-sr_vbe-register-set.patch
Patch0049: 0049-scsi-megasas-use-appropriate-proper.patch
Patch0050: 0050-scsi-megasas-check-read_queue_head-.patch
Patch0051: 0051-scsi-megasas-null-terminate-bios-ve.patch
Patch0052: 0052-vmsvga-move-fifo-sanity-checks-to-v.patch
Patch0053: 0053-vmsvga-don-t-process-more-than-1024.patch
Patch0054: 0054-block-iscsi-avoid-potential-overflo.patch
Patch0055: 0055-scsi-esp-check-TI-buffer-index-befo.patch
Patch0056: 0056-xen-introduce-dummy-system-device.patch
Patch0057: 0057-xen-write-information-about-support.patch
Patch0058: 0058-xen-add-pvUSB-backend.patch
Patch0059: 0059-usb-Fix-conditions-that-xen-usb.c-i.patch
Patch0060: 0060-vnc-add-configurable-keyboard-delay.patch
Patch0061: 0061-scsi-megasas-initialise-local-confi.patch
Patch0002: 0002-qemu-0.9.0.cvs-binfmt.patch
Patch0003: 0003-qemu-cvs-alsa_bitfield.patch
Patch0004: 0004-qemu-cvs-alsa_ioctl.patch
Patch0005: 0005-qemu-cvs-alsa_mmap.patch
Patch0006: 0006-qemu-cvs-gettimeofday.patch
Patch0007: 0007-qemu-cvs-ioctl_debug.patch
Patch0008: 0008-qemu-cvs-ioctl_nodirection.patch
Patch0009: 0009-block-vmdk-Support-creation-of-SCSI.patch
Patch0010: 0010-linux-user-add-binfmt-wrapper-for-a.patch
Patch0011: 0011-PPC-KVM-Disable-mmu-notifier-check.patch
Patch0012: 0012-linux-user-fix-segfault-deadlock.patch
Patch0013: 0013-linux-user-binfmt-support-host-bina.patch
Patch0014: 0014-linux-user-Ignore-broken-loop-ioctl.patch
Patch0015: 0015-linux-user-lock-tcg.patch
Patch0016: 0016-linux-user-Run-multi-threaded-code-.patch
Patch0017: 0017-linux-user-lock-tb-flushing-too.patch
Patch0018: 0018-linux-user-Fake-proc-cpuinfo.patch
Patch0019: 0019-linux-user-implement-FS_IOC_GETFLAG.patch
Patch0020: 0020-linux-user-implement-FS_IOC_SETFLAG.patch
Patch0021: 0021-linux-user-XXX-disable-fiemap.patch
Patch0022: 0022-slirp-nooutgoing.patch
Patch0023: 0023-vnc-password-file-and-incoming-conn.patch
Patch0024: 0024-linux-user-add-more-blk-ioctls.patch
Patch0025: 0025-linux-user-use-target_ulong.patch
Patch0026: 0026-block-Add-support-for-DictZip-enabl.patch
Patch0027: 0027-block-Add-tar-container-format.patch
Patch0028: 0028-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
Patch0029: 0029-console-add-question-mark-escape-op.patch
Patch0030: 0030-Make-char-muxer-more-robust-wrt-sma.patch
Patch0031: 0031-linux-user-lseek-explicitly-cast-no.patch
Patch0032: 0032-virtfs-proxy-helper-Provide-__u64-f.patch
Patch0033: 0033-configure-Enable-PIE-for-ppc-and-pp.patch
Patch0034: 0034-qtest-Increase-socket-timeout.patch
Patch0035: 0035-AIO-Reduce-number-of-threads-for-32.patch
Patch0036: 0036-configure-Enable-libseccomp-for-ppc.patch
Patch0037: 0037-dictzip-Fix-on-big-endian-systems.patch
Patch0038: 0038-block-split-large-discard-requests-.patch
Patch0039: 0039-xen_disk-Add-suse-specific-flush-di.patch
Patch0040: 0040-build-link-with-libatomic-on-powerp.patch
Patch0041: 0041-net-mipsnet-check-packet-length-aga.patch
Patch0042: 0042-i386-kvmvapic-initialise-imm32-vari.patch
Patch0043: 0043-esp-check-command-buffer-length-bef.patch
Patch0044: 0044-esp-check-dma-length-before-reading.patch
Patch0045: 0045-scsi-pvscsi-check-command-descripto.patch
Patch0046: 0046-scsi-mptsas-infinite-loop-while-fet.patch
Patch0047: 0047-vga-add-sr_vbe-register-set.patch
Patch0048: 0048-scsi-megasas-use-appropriate-proper.patch
Patch0049: 0049-scsi-megasas-check-read_queue_head-.patch
Patch0050: 0050-scsi-megasas-null-terminate-bios-ve.patch
Patch0051: 0051-vmsvga-move-fifo-sanity-checks-to-v.patch
Patch0052: 0052-vmsvga-don-t-process-more-than-1024.patch
Patch0053: 0053-block-iscsi-avoid-potential-overflo.patch
Patch0054: 0054-scsi-esp-check-TI-buffer-index-befo.patch
Patch0055: 0055-xen-introduce-dummy-system-device.patch
Patch0056: 0056-xen-write-information-about-support.patch
Patch0057: 0057-xen-add-pvUSB-backend.patch
Patch0058: 0058-xen-move-xen_sysdev-to-xen_backend..patch
Patch0059: 0059-vnc-add-configurable-keyboard-delay.patch
Patch0060: 0060-scsi-megasas-initialise-local-confi.patch
Patch0061: 0061-configure-add-echo_version-helper.patch
Patch0062: 0062-configure-support-vte-2.91.patch
Patch0063: 0063-hw-arm-virt-mark-the-PCIe-host-cont.patch
Patch0064: 0064-xen-SUSE-xenlinux-unplug-for-emulat.patch
Patch0065: 0065-scsi-esp-check-buffer-length-before.patch
Patch0066: 0066-scsi-esp-respect-FIFO-invariant-aft.patch
Patch0067: 0067-pci-assign-Move-Invalid-ROM-error-m.patch
Patch0068: 0068-Xen-PCI-passthrough-fix-passthrough.patch
Patch0069: 0069-scsi-esp-make-cmdbuf-big-enough-for.patch
Patch0070: 0070-scsi-esp-fix-migration.patch
Patch0071: 0071-virtio-error-out-if-guest-exceeds-v.patch
Patch0072: 0072-xen-when-removing-a-backend-don-t-r.patch
Patch0073: 0073-xen-drain-submit-queue-in-xen-usb-b.patch
Patch0074: 0074-qcow2-avoid-extra-flushes-in-qcow2.patch
Patch0075: 0075-qemu-bridge-helper-reduce-security-.patch
Patch0076: 0076-xen-use-a-common-function-for-pv-an.patch
# Please do not add patches manually here, run update_git.sh.
# this is to make lint happy
Source300: qemu-rpmlintrc
@ -200,6 +215,21 @@ run cross-architecture builds.
%patch0059 -p1
%patch0060 -p1
%patch0061 -p1
%patch0062 -p1
%patch0063 -p1
%patch0064 -p1
%patch0065 -p1
%patch0066 -p1
%patch0067 -p1
%patch0068 -p1
%patch0069 -p1
%patch0070 -p1
%patch0071 -p1
%patch0072 -p1
%patch0073 -p1
%patch0074 -p1
%patch0075 -p1
%patch0076 -p1
%build
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \

View File

@ -1,3 +1,220 @@
-------------------------------------------------------------------
Wed Aug 3 21:36:14 UTC 2016 - brogers@suse.com
- Temporarily disable ceph (rbd) functionality in OBS due to staging
issues.
-------------------------------------------------------------------
Wed Aug 3 17:09:05 UTC 2016 - brogers@suse.com
- use upstream solution for building xen-usb.c correctly
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6
* Patches dropped:
0058-usb-Fix-conditions-that-xen-usb.c-i.patch
* Patches added:
0058-xen-move-xen_sysdev-to-xen_backend..patch
-------------------------------------------------------------------
Wed Aug 3 13:51:42 UTC 2016 - brogers@suse.com
- Incorporate patch carried in Xen's qemu to get same support
as Xen switches to use the qemu package (bsc#953339, bsc#953362,
bsc#953518, bsc#984981)
0064-xen-SUSE-xenlinux-unplug-for-emulat.patch
- Fix more potential OOB accesses in 53C9X emulation
(CVE-2016-5238 bsc#982959)
0065-scsi-esp-check-buffer-length-before.patch
0066-scsi-esp-respect-FIFO-invariant-aft.patch
- Avoid "Invalid ROM" error message when it is not appropriate
(bsc#982927)
0067-pci-assign-Move-Invalid-ROM-error-m.patch
- Fix failure in Xen HVM PCI passthrough (bsc#981925, bsc#989250)
0068-Xen-PCI-passthrough-fix-passthrough.patch
- Fix OOB access in 53C9X emulation (CVE-2016-6351 bsc#990835)
0069-scsi-esp-make-cmdbuf-big-enough-for.patch
0070-scsi-esp-fix-migration.patch
- Avoid potential for guest initiated OOM condition in qemu through
virtio interface (CVE-2016-5403 bsc#991080)
0071-virtio-error-out-if-guest-exceeds-v.patch
- Fix potential crashes in qemu from pvusb bugs (bsc#986156)
0072-xen-when-removing-a-backend-don-t-r.patch
0073-xen-drain-submit-queue-in-xen-usb-b.patch
- Avoid unneeded flushes in qcow2 which impact performance (bsc#991296)
0074-qcow2-avoid-extra-flushes-in-qcow2.patch
- Finally get qemu-bridge-helper the permissions it needs for non-
root usage. The kvm group is leveraged to control access. (boo#988279)
0075-qemu-bridge-helper-reduce-security-.patch
- Fix pvusb not working for HVM guests (bsc#991785)
0076-xen-use-a-common-function-for-pv-an.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6
- Minor spec file formatting fixes
-------------------------------------------------------------------
Thu Jul 28 10:53:14 UTC 2016 - agraf@suse.com
- Fix ARM PCIe DMA coherency bug (bsc#991034)
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6
* Patches added:
0063-hw-arm-virt-mark-the-PCIe-host-cont.patch
-------------------------------------------------------------------
Tue Jul 19 20:57:17 UTC 2016 - afaerber@suse.de
- Clean up the udev ifdeffery to cover systemd as well (boo#860275)
- Trigger udev rules also under systemd (boo#989655)
- Suppress s390x sysctl in chroot
- Ignore s390x sysctl failures (agraf)
-------------------------------------------------------------------
Thu Jul 14 19:38:39 UTC 2016 - brogers@suse.com
- Build SLOF for SLE12 now that we have gcc fix (bsc#949000)
- Add script for loading kvm module on s390x
- Enable seccomp and iscsi support in more configurations
- Enable more support for virtio-gpu
- Fix /dev/kvm permissions problem with package install and no
reboot (bnc#867867)
- Remove libtool dependency
- Disable more aggressive stack protector for performance reasons
- Enable vte to be used again in more configurations (bsc#988855)
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6
* Patches added:
0061-configure-add-echo_version-helper.patch
0062-configure-support-vte-2.91.patch
-------------------------------------------------------------------
Thu Jul 14 14:59:37 UTC 2016 - agraf@suse.com
- Remove deprecated patch "work-around-SA_RESTART-race" (boo#982208)
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6
* Patches dropped:
0002-XXX-work-around-SA_RESTART-race-wit.patch
0003-qemu-0.9.0.cvs-binfmt.patch
0004-qemu-cvs-alsa_bitfield.patch
0005-qemu-cvs-alsa_ioctl.patch
0006-qemu-cvs-alsa_mmap.patch
0007-qemu-cvs-gettimeofday.patch
0008-qemu-cvs-ioctl_debug.patch
0009-qemu-cvs-ioctl_nodirection.patch
0010-block-vmdk-Support-creation-of-SCSI.patch
0011-linux-user-add-binfmt-wrapper-for-a.patch
0012-PPC-KVM-Disable-mmu-notifier-check.patch
0013-linux-user-fix-segfault-deadlock.patch
0014-linux-user-binfmt-support-host-bina.patch
0015-linux-user-Ignore-broken-loop-ioctl.patch
0016-linux-user-lock-tcg.patch
0017-linux-user-Run-multi-threaded-code-.patch
0018-linux-user-lock-tb-flushing-too.patch
0019-linux-user-Fake-proc-cpuinfo.patch
0020-linux-user-implement-FS_IOC_GETFLAG.patch
0021-linux-user-implement-FS_IOC_SETFLAG.patch
0022-linux-user-XXX-disable-fiemap.patch
0023-slirp-nooutgoing.patch
0024-vnc-password-file-and-incoming-conn.patch
0025-linux-user-add-more-blk-ioctls.patch
0026-linux-user-use-target_ulong.patch
0027-block-Add-support-for-DictZip-enabl.patch
0028-block-Add-tar-container-format.patch
0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
0030-console-add-question-mark-escape-op.patch
0031-Make-char-muxer-more-robust-wrt-sma.patch
0032-linux-user-lseek-explicitly-cast-no.patch
0033-virtfs-proxy-helper-Provide-__u64-f.patch
0034-configure-Enable-PIE-for-ppc-and-pp.patch
0035-qtest-Increase-socket-timeout.patch
0036-AIO-Reduce-number-of-threads-for-32.patch
0037-configure-Enable-libseccomp-for-ppc.patch
0038-dictzip-Fix-on-big-endian-systems.patch
0039-block-split-large-discard-requests-.patch
0040-xen_disk-Add-suse-specific-flush-di.patch
0041-build-link-with-libatomic-on-powerp.patch
0042-net-mipsnet-check-packet-length-aga.patch
0043-i386-kvmvapic-initialise-imm32-vari.patch
0044-esp-check-command-buffer-length-bef.patch
0045-esp-check-dma-length-before-reading.patch
0046-scsi-pvscsi-check-command-descripto.patch
0047-scsi-mptsas-infinite-loop-while-fet.patch
0048-vga-add-sr_vbe-register-set.patch
0049-scsi-megasas-use-appropriate-proper.patch
0050-scsi-megasas-check-read_queue_head-.patch
0051-scsi-megasas-null-terminate-bios-ve.patch
0052-vmsvga-move-fifo-sanity-checks-to-v.patch
0053-vmsvga-don-t-process-more-than-1024.patch
0054-block-iscsi-avoid-potential-overflo.patch
0055-scsi-esp-check-TI-buffer-index-befo.patch
0056-xen-introduce-dummy-system-device.patch
0057-xen-write-information-about-support.patch
0058-xen-add-pvUSB-backend.patch
0059-usb-Fix-conditions-that-xen-usb.c-i.patch
0060-vnc-add-configurable-keyboard-delay.patch
0061-scsi-megasas-initialise-local-confi.patch
* Patches added:
0002-qemu-0.9.0.cvs-binfmt.patch
0003-qemu-cvs-alsa_bitfield.patch
0004-qemu-cvs-alsa_ioctl.patch
0005-qemu-cvs-alsa_mmap.patch
0006-qemu-cvs-gettimeofday.patch
0007-qemu-cvs-ioctl_debug.patch
0008-qemu-cvs-ioctl_nodirection.patch
0009-block-vmdk-Support-creation-of-SCSI.patch
0010-linux-user-add-binfmt-wrapper-for-a.patch
0011-PPC-KVM-Disable-mmu-notifier-check.patch
0012-linux-user-fix-segfault-deadlock.patch
0013-linux-user-binfmt-support-host-bina.patch
0014-linux-user-Ignore-broken-loop-ioctl.patch
0015-linux-user-lock-tcg.patch
0016-linux-user-Run-multi-threaded-code-.patch
0017-linux-user-lock-tb-flushing-too.patch
0018-linux-user-Fake-proc-cpuinfo.patch
0019-linux-user-implement-FS_IOC_GETFLAG.patch
0020-linux-user-implement-FS_IOC_SETFLAG.patch
0021-linux-user-XXX-disable-fiemap.patch
0022-slirp-nooutgoing.patch
0023-vnc-password-file-and-incoming-conn.patch
0024-linux-user-add-more-blk-ioctls.patch
0025-linux-user-use-target_ulong.patch
0026-block-Add-support-for-DictZip-enabl.patch
0027-block-Add-tar-container-format.patch
0028-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
0029-console-add-question-mark-escape-op.patch
0030-Make-char-muxer-more-robust-wrt-sma.patch
0031-linux-user-lseek-explicitly-cast-no.patch
0032-virtfs-proxy-helper-Provide-__u64-f.patch
0033-configure-Enable-PIE-for-ppc-and-pp.patch
0034-qtest-Increase-socket-timeout.patch
0035-AIO-Reduce-number-of-threads-for-32.patch
0036-configure-Enable-libseccomp-for-ppc.patch
0037-dictzip-Fix-on-big-endian-systems.patch
0038-block-split-large-discard-requests-.patch
0039-xen_disk-Add-suse-specific-flush-di.patch
0040-build-link-with-libatomic-on-powerp.patch
0041-net-mipsnet-check-packet-length-aga.patch
0042-i386-kvmvapic-initialise-imm32-vari.patch
0043-esp-check-command-buffer-length-bef.patch
0044-esp-check-dma-length-before-reading.patch
0045-scsi-pvscsi-check-command-descripto.patch
0046-scsi-mptsas-infinite-loop-while-fet.patch
0047-vga-add-sr_vbe-register-set.patch
0048-scsi-megasas-use-appropriate-proper.patch
0049-scsi-megasas-check-read_queue_head-.patch
0050-scsi-megasas-null-terminate-bios-ve.patch
0051-vmsvga-move-fifo-sanity-checks-to-v.patch
0052-vmsvga-don-t-process-more-than-1024.patch
0053-block-iscsi-avoid-potential-overflo.patch
0054-scsi-esp-check-TI-buffer-index-befo.patch
0055-xen-introduce-dummy-system-device.patch
0056-xen-write-information-about-support.patch
0057-xen-add-pvUSB-backend.patch
0058-usb-Fix-conditions-that-xen-usb.c-i.patch
0059-vnc-add-configurable-keyboard-delay.patch
0060-scsi-megasas-initialise-local-confi.patch
- Enable ceph (rbd) support for aarch64
-------------------------------------------------------------------
Tue Jul 12 18:20:24 UTC 2016 - brogers@suse.com
- Enable ceph (rbd) support
-------------------------------------------------------------------
Mon Jul 4 06:20:16 UTC 2016 - glin@suse.com

View File

@ -28,9 +28,7 @@
%define build_slof_from_source 1
%endif
%ifarch ppc64le
# Needs a compatible gcc (bsc#949000)
# TODO: include 1315 for SLE12 once possible
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315
%define build_slof_from_source 1
%endif
%endif
@ -46,6 +44,28 @@
%endif
%define noarch_supported 1110
%if 0%{?is_opensuse} == 0
%ifarch x86_64
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && ( 0%{?is_opensuse} == 0 || 0%{?sle_version} > 120100 ) )
%define with_rbd 1
%endif
%endif
%ifarch aarch64
%if 0%{?suse_version} > 1320 || ( 0%{?is_opensuse} == 0 && 0%{?sle_version} > 120100 )
%define with_rbd 1
%endif
%endif
%endif
%if 0%{?suse_version} > 1320
%define with_seccomp 1
%endif
%ifarch %ix86 x86_64
%define with_seccomp 1
%endif
Name: qemu-testsuite
Url: http://www.qemu.org/
Summary: Universal CPU emulator
@ -64,69 +84,85 @@ Source6: ksm.service
Source7: 60-kvm.x86.rules
Source8: 80-qemu-ga.rules
Source9: qemu-ga.service
Source10: kvm.conf
# Upstream First -- http://wiki.qemu-project.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-XXX-work-around-SA_RESTART-race-wit.patch
Patch0003: 0003-qemu-0.9.0.cvs-binfmt.patch
Patch0004: 0004-qemu-cvs-alsa_bitfield.patch
Patch0005: 0005-qemu-cvs-alsa_ioctl.patch
Patch0006: 0006-qemu-cvs-alsa_mmap.patch
Patch0007: 0007-qemu-cvs-gettimeofday.patch
Patch0008: 0008-qemu-cvs-ioctl_debug.patch
Patch0009: 0009-qemu-cvs-ioctl_nodirection.patch
Patch0010: 0010-block-vmdk-Support-creation-of-SCSI.patch
Patch0011: 0011-linux-user-add-binfmt-wrapper-for-a.patch
Patch0012: 0012-PPC-KVM-Disable-mmu-notifier-check.patch
Patch0013: 0013-linux-user-fix-segfault-deadlock.patch
Patch0014: 0014-linux-user-binfmt-support-host-bina.patch
Patch0015: 0015-linux-user-Ignore-broken-loop-ioctl.patch
Patch0016: 0016-linux-user-lock-tcg.patch
Patch0017: 0017-linux-user-Run-multi-threaded-code-.patch
Patch0018: 0018-linux-user-lock-tb-flushing-too.patch
Patch0019: 0019-linux-user-Fake-proc-cpuinfo.patch
Patch0020: 0020-linux-user-implement-FS_IOC_GETFLAG.patch
Patch0021: 0021-linux-user-implement-FS_IOC_SETFLAG.patch
Patch0022: 0022-linux-user-XXX-disable-fiemap.patch
Patch0023: 0023-slirp-nooutgoing.patch
Patch0024: 0024-vnc-password-file-and-incoming-conn.patch
Patch0025: 0025-linux-user-add-more-blk-ioctls.patch
Patch0026: 0026-linux-user-use-target_ulong.patch
Patch0027: 0027-block-Add-support-for-DictZip-enabl.patch
Patch0028: 0028-block-Add-tar-container-format.patch
Patch0029: 0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
Patch0030: 0030-console-add-question-mark-escape-op.patch
Patch0031: 0031-Make-char-muxer-more-robust-wrt-sma.patch
Patch0032: 0032-linux-user-lseek-explicitly-cast-no.patch
Patch0033: 0033-virtfs-proxy-helper-Provide-__u64-f.patch
Patch0034: 0034-configure-Enable-PIE-for-ppc-and-pp.patch
Patch0035: 0035-qtest-Increase-socket-timeout.patch
Patch0036: 0036-AIO-Reduce-number-of-threads-for-32.patch
Patch0037: 0037-configure-Enable-libseccomp-for-ppc.patch
Patch0038: 0038-dictzip-Fix-on-big-endian-systems.patch
Patch0039: 0039-block-split-large-discard-requests-.patch
Patch0040: 0040-xen_disk-Add-suse-specific-flush-di.patch
Patch0041: 0041-build-link-with-libatomic-on-powerp.patch
Patch0042: 0042-net-mipsnet-check-packet-length-aga.patch
Patch0043: 0043-i386-kvmvapic-initialise-imm32-vari.patch
Patch0044: 0044-esp-check-command-buffer-length-bef.patch
Patch0045: 0045-esp-check-dma-length-before-reading.patch
Patch0046: 0046-scsi-pvscsi-check-command-descripto.patch
Patch0047: 0047-scsi-mptsas-infinite-loop-while-fet.patch
Patch0048: 0048-vga-add-sr_vbe-register-set.patch
Patch0049: 0049-scsi-megasas-use-appropriate-proper.patch
Patch0050: 0050-scsi-megasas-check-read_queue_head-.patch
Patch0051: 0051-scsi-megasas-null-terminate-bios-ve.patch
Patch0052: 0052-vmsvga-move-fifo-sanity-checks-to-v.patch
Patch0053: 0053-vmsvga-don-t-process-more-than-1024.patch
Patch0054: 0054-block-iscsi-avoid-potential-overflo.patch
Patch0055: 0055-scsi-esp-check-TI-buffer-index-befo.patch
Patch0056: 0056-xen-introduce-dummy-system-device.patch
Patch0057: 0057-xen-write-information-about-support.patch
Patch0058: 0058-xen-add-pvUSB-backend.patch
Patch0059: 0059-usb-Fix-conditions-that-xen-usb.c-i.patch
Patch0060: 0060-vnc-add-configurable-keyboard-delay.patch
Patch0061: 0061-scsi-megasas-initialise-local-confi.patch
Patch0002: 0002-qemu-0.9.0.cvs-binfmt.patch
Patch0003: 0003-qemu-cvs-alsa_bitfield.patch
Patch0004: 0004-qemu-cvs-alsa_ioctl.patch
Patch0005: 0005-qemu-cvs-alsa_mmap.patch
Patch0006: 0006-qemu-cvs-gettimeofday.patch
Patch0007: 0007-qemu-cvs-ioctl_debug.patch
Patch0008: 0008-qemu-cvs-ioctl_nodirection.patch
Patch0009: 0009-block-vmdk-Support-creation-of-SCSI.patch
Patch0010: 0010-linux-user-add-binfmt-wrapper-for-a.patch
Patch0011: 0011-PPC-KVM-Disable-mmu-notifier-check.patch
Patch0012: 0012-linux-user-fix-segfault-deadlock.patch
Patch0013: 0013-linux-user-binfmt-support-host-bina.patch
Patch0014: 0014-linux-user-Ignore-broken-loop-ioctl.patch
Patch0015: 0015-linux-user-lock-tcg.patch
Patch0016: 0016-linux-user-Run-multi-threaded-code-.patch
Patch0017: 0017-linux-user-lock-tb-flushing-too.patch
Patch0018: 0018-linux-user-Fake-proc-cpuinfo.patch
Patch0019: 0019-linux-user-implement-FS_IOC_GETFLAG.patch
Patch0020: 0020-linux-user-implement-FS_IOC_SETFLAG.patch
Patch0021: 0021-linux-user-XXX-disable-fiemap.patch
Patch0022: 0022-slirp-nooutgoing.patch
Patch0023: 0023-vnc-password-file-and-incoming-conn.patch
Patch0024: 0024-linux-user-add-more-blk-ioctls.patch
Patch0025: 0025-linux-user-use-target_ulong.patch
Patch0026: 0026-block-Add-support-for-DictZip-enabl.patch
Patch0027: 0027-block-Add-tar-container-format.patch
Patch0028: 0028-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
Patch0029: 0029-console-add-question-mark-escape-op.patch
Patch0030: 0030-Make-char-muxer-more-robust-wrt-sma.patch
Patch0031: 0031-linux-user-lseek-explicitly-cast-no.patch
Patch0032: 0032-virtfs-proxy-helper-Provide-__u64-f.patch
Patch0033: 0033-configure-Enable-PIE-for-ppc-and-pp.patch
Patch0034: 0034-qtest-Increase-socket-timeout.patch
Patch0035: 0035-AIO-Reduce-number-of-threads-for-32.patch
Patch0036: 0036-configure-Enable-libseccomp-for-ppc.patch
Patch0037: 0037-dictzip-Fix-on-big-endian-systems.patch
Patch0038: 0038-block-split-large-discard-requests-.patch
Patch0039: 0039-xen_disk-Add-suse-specific-flush-di.patch
Patch0040: 0040-build-link-with-libatomic-on-powerp.patch
Patch0041: 0041-net-mipsnet-check-packet-length-aga.patch
Patch0042: 0042-i386-kvmvapic-initialise-imm32-vari.patch
Patch0043: 0043-esp-check-command-buffer-length-bef.patch
Patch0044: 0044-esp-check-dma-length-before-reading.patch
Patch0045: 0045-scsi-pvscsi-check-command-descripto.patch
Patch0046: 0046-scsi-mptsas-infinite-loop-while-fet.patch
Patch0047: 0047-vga-add-sr_vbe-register-set.patch
Patch0048: 0048-scsi-megasas-use-appropriate-proper.patch
Patch0049: 0049-scsi-megasas-check-read_queue_head-.patch
Patch0050: 0050-scsi-megasas-null-terminate-bios-ve.patch
Patch0051: 0051-vmsvga-move-fifo-sanity-checks-to-v.patch
Patch0052: 0052-vmsvga-don-t-process-more-than-1024.patch
Patch0053: 0053-block-iscsi-avoid-potential-overflo.patch
Patch0054: 0054-scsi-esp-check-TI-buffer-index-befo.patch
Patch0055: 0055-xen-introduce-dummy-system-device.patch
Patch0056: 0056-xen-write-information-about-support.patch
Patch0057: 0057-xen-add-pvUSB-backend.patch
Patch0058: 0058-xen-move-xen_sysdev-to-xen_backend..patch
Patch0059: 0059-vnc-add-configurable-keyboard-delay.patch
Patch0060: 0060-scsi-megasas-initialise-local-confi.patch
Patch0061: 0061-configure-add-echo_version-helper.patch
Patch0062: 0062-configure-support-vte-2.91.patch
Patch0063: 0063-hw-arm-virt-mark-the-PCIe-host-cont.patch
Patch0064: 0064-xen-SUSE-xenlinux-unplug-for-emulat.patch
Patch0065: 0065-scsi-esp-check-buffer-length-before.patch
Patch0066: 0066-scsi-esp-respect-FIFO-invariant-aft.patch
Patch0067: 0067-pci-assign-Move-Invalid-ROM-error-m.patch
Patch0068: 0068-Xen-PCI-passthrough-fix-passthrough.patch
Patch0069: 0069-scsi-esp-make-cmdbuf-big-enough-for.patch
Patch0070: 0070-scsi-esp-fix-migration.patch
Patch0071: 0071-virtio-error-out-if-guest-exceeds-v.patch
Patch0072: 0072-xen-when-removing-a-backend-don-t-r.patch
Patch0073: 0073-xen-drain-submit-queue-in-xen-usb-b.patch
Patch0074: 0074-qcow2-avoid-extra-flushes-in-qcow2.patch
Patch0075: 0075-qemu-bridge-helper-reduce-security-.patch
Patch0076: 0076-xen-use-a-common-function-for-pv-an.patch
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
@ -189,7 +225,7 @@ BuildRequires: libcacard-devel
BuildRequires: libcap-devel
BuildRequires: libcap-ng-devel
BuildRequires: libdrm-devel
%if 0%{?suse_version} >= 1320
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
BuildRequires: libepoxy-devel
%endif
%if 0%{?suse_version} >= 1310
@ -202,7 +238,14 @@ BuildRequires: libgnutls-devel
%if 0%{?suse_version} >= 1315
BuildRequires: libibverbs-devel
%endif
%if 0%{?suse_version} > 1320
%if 0%{?with_rbd}
%if 0%{?is_opensuse}
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
@ -225,13 +268,12 @@ BuildRequires: libpulse-devel
%if 0%{?suse_version} >= 1315
BuildRequires: librdmacm-devel
%endif
%if 0%{?suse_version} > 1320
%if 0%{?with_seccomp}
BuildRequires: libseccomp-devel
%endif
%if 0%{?suse_version} > 1140
BuildRequires: libssh2-devel
%endif
BuildRequires: libtool
%if 0%{?suse_version} > 1310
BuildRequires: libusb-1_0-devel
%endif
@ -240,6 +282,7 @@ BuildRequires: lzo-devel
%if 0%{?suse_version} > 1220
BuildRequires: makeinfo
%endif
BuildRequires: Mesa-devel
BuildRequires: mozilla-nss-devel
BuildRequires: ncurses-devel
%if 0%{?build_x86_fw_from_source}
@ -267,7 +310,7 @@ BuildRequires: pkgconfig(udev)
%if 0%{?sles_version} != 11
BuildRequires: usbredir-devel
%endif
%if 0%{?suse_version} >= 1320
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
BuildRequires: virglrenderer-devel >= 0.4.1
%endif
%if 0%{?suse_version} >= 1210
@ -332,9 +375,12 @@ Suggests: qemu-block-dmg
%if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315
Suggests: qemu-block-gluster
%endif
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
Suggests: qemu-block-iscsi
%endif
%if 0%{?with_rbd}
Suggests: qemu-block-rbd
%endif
%if 0%{?suse_version} > 1140
Suggests: qemu-block-ssh
%endif
@ -348,11 +394,11 @@ Recommends: qemu-ksm = %{version}
%define x86_64_only_b_f_f {efi-e1000.rom efi-eepro100.rom \
efi-pcnet.rom efi-ne2k_pci.rom efi-rtl8139.rom efi-virtio.rom}
%endif
%define built_firmware_files {bios.bin bios-256k.bin \
sgabios.bin vgabios.bin vgabios-cirrus.bin \
vgabios-stdvga.bin vgabios-virtio.bin vgabios-vmware.bin vgabios-qxl.bin \
optionrom/linuxboot.bin optionrom/multiboot.bin optionrom/kvmvapic.bin \
pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom %{?x86_64_only_b_f_f}}
%define built_firmware_files {bios.bin bios-256k.bin sgabios.bin vgabios.bin \
vgabios-cirrus.bin vgabios-stdvga.bin vgabios-virtio.bin vgabios-vmware.bin \
vgabios-qxl.bin optionrom/linuxboot.bin optionrom/multiboot.bin \
optionrom/kvmvapic.bin pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom \
pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom %{?x86_64_only_b_f_f}}
%description
QEMU is an extremely well-performing CPU emulator that allows you to
@ -533,7 +579,7 @@ This sub-package contains a module for accessing network-based image files
over a GlusterFS network connection from qemu-img tool and QEMU system emulation.
%endif
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
%package block-iscsi
Summary: Universal CPU emulator -- iSCSI block support
Group: System/Emulators/PC
@ -550,6 +596,23 @@ This sub-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%{?with_rbd}
%package block-rbd
Summary: Universal CPU emulator -- Ceph (rbd) block support
Group: System/Emulators/PC
%{qemu_module_conflicts}
%description block-rbd
QEMU is an extremely well-performing CPU emulator that allows you to
choose between simulating an entire system and running userspace
binaries for different architectures under your native operating
system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
as PC and PowerMac systems.
This sub-package contains a module for accessing ceph (rbd,rados)
image files.
%endif
%if 0%{?suse_version} > 1140
%package block-ssh
Summary: Universal CPU emulator -- SSH block support
@ -573,6 +636,9 @@ Group: System/Emulators/PC
Provides: qemu:%_libexecdir/qemu-bridge-helper
PreReq: permissions
Recommends: qemu-block-curl
%if 0%{?with_rbd}
Recommends: qemu-block-rbd
%endif
%description tools
QEMU is an extremely well-performing CPU emulator that allows you to
@ -738,6 +804,21 @@ This package provides a service file for starting and stopping KSM.
%patch0059 -p1
%patch0060 -p1
%patch0061 -p1
%patch0062 -p1
%patch0063 -p1
%patch0064 -p1
%patch0065 -p1
%patch0066 -p1
%patch0067 -p1
%patch0068 -p1
%patch0069 -p1
%patch0070 -p1
%patch0071 -p1
%patch0072 -p1
%patch0073 -p1
%patch0074 -p1
%patch0075 -p1
%patch0076 -p1
%if %{build_x86_fw_from_source}
pushd roms/seabios
@ -774,6 +855,7 @@ rm -f pc-bios/slof.bin
--libexecdir=%_libexecdir \
--localstatedir=%_localstatedir \
--extra-cflags="%{optflags}" \
--disable-stack-protector \
--disable-strip \
--with-pkgversion="%(echo '%{distribution}' | sed 's/ (.*)//')" \
--enable-system --disable-linux-user \
@ -818,7 +900,7 @@ rm -f pc-bios/slof.bin
%else
--disable-kvm \
%endif
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
--enable-libiscsi \
%else
--disable-libiscsi \
@ -850,7 +932,14 @@ rm -f pc-bios/slof.bin
--enable-numa \
%endif
%endif
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
--enable-opengl \
%endif
%if 0%{?with_rbd}
--enable-rbd \
%else
--disable-rbd \
%endif
%if 0%{?suse_version} >= 1315
--enable-rdma \
%else
@ -862,7 +951,7 @@ rm -f pc-bios/slof.bin
%else
--with-sdlabi=1.2 \
%endif
%if 0%{?suse_version} > 1320
%if 0%{?with_seccomp}
--enable-seccomp \
%else
--disable-seccomp \
@ -892,15 +981,17 @@ rm -f pc-bios/slof.bin
--enable-vde \
--enable-vhdx \
--enable-vhost-net \
%if 0%{?suse_version} >= 1320
--enable-virglrenderer \
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
--enable-virglrenderer \
%endif
--enable-virtfs \
--enable-vnc \
--enable-vnc-jpeg \
--enable-vnc-png \
--enable-vnc-sasl \
%if 0%{?suse_version} == 1310 || (0%{?suse_version} == 1315 && 0%{?is_opensuse} == 0)
%if 0%{?suse_version} == 1320
--disable-vte \
%else
--enable-vte \
%endif
%ifarch x86_64
@ -910,7 +1001,7 @@ rm -f pc-bios/slof.bin
%else
--disable-xen \
%endif
--enable-xfsctl \
--enable-xfsctl \
%if "%{name}" != "qemu-testsuite"
@ -951,7 +1042,7 @@ for conf in default-configs/*-softmmu.mak; do
done
# Compile the QOM test binary first, so that ...
make tests/qom-test %{?_smp_mflags} V=1
make tests/qom-test %{?_smp_mflags} V=1
# ... make comes in fresh and has lots of address space (needed for 32bit, bsc#957379)
%if 0%{?suse_version} >= 1310
make check-report.html V=1
@ -1049,6 +1140,9 @@ install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_udevrulesdir}/80-qemu-ga.rules
%if 0%{?with_systemd}
install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service
install -D -p -m 0644 %{SOURCE9} %{buildroot}%{_unitdir}/qemu-ga.service
%ifarch s390x
install -D -m 0644 %{SOURCE10} %{buildroot}%{_libexecdir}/modules-load.d/kvm.conf
%endif
%endif
%fdupes -s $RPM_BUILD_ROOT
@ -1072,17 +1166,20 @@ install -D -m 644 check-report.xml %{buildroot}%{_datadir}/qemu/check-report.xml
%if %{kvm_available}
%post
# Do not execute operations affecting host devices while running in a chroot
if [ $(stat -L -c "%i" /proc/1/root/) = $(stat -L -c "%i" /) ]; then
setfacl --remove-all /dev/kvm &> /dev/null || :
%if 0%{?with_systemd}
%udev_rules_update
%udev_rules_update
%_bindir/udevadm trigger || :
%else
if [ "$(readlink -f /proc/1/root)" = "/" ]; then
/sbin/udevadm control --reload-rules || :
/sbin/udevadm trigger || :
fi
%endif
%ifarch s390x
sysctl vm.allocate_pgste=1
sysctl vm.allocate_pgste=1 || :
%endif
fi
%endif
%if 0%{?suse_version} >= 1130
@ -1146,6 +1243,9 @@ fi
%endif
%ifarch s390x
%{_sysconfdir}/sysctl.d/50-allow-kvm-on-s390x
%if 0%{?with_systemd}
%_libexecdir/modules-load.d/kvm.conf
%endif
%endif
%endif
@ -1232,12 +1332,19 @@ fi
%_libdir/%name/block-gluster.so
%endif
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
%files block-iscsi
%defattr(-, root, root)
%_libdir/%name/block-iscsi.so
%endif
%if 0%{?with_rbd}
%files block-rbd
%defattr(-, root, root)
%dir %_libdir/%name
%_libdir/%name/block-rbd.so
%endif
%if 0%{?suse_version} > 1140
%files block-ssh
%defattr(-, root, root)
@ -1295,7 +1402,7 @@ fi
%_bindir/qemu-nbd
%_bindir/virtfs-proxy-helper
#%_bindir/vscclient
%verify(not mode) %_libexecdir/qemu-bridge-helper
%verify(not mode) %attr(4750,root,kvm) %_libexecdir/qemu-bridge-helper
%dir %_sysconfdir/%name
%config %_sysconfdir/%name/bridge.conf
%dir %_libdir/%name

View File

@ -1,3 +1,220 @@
-------------------------------------------------------------------
Wed Aug 3 21:36:14 UTC 2016 - brogers@suse.com
- Temporarily disable ceph (rbd) functionality in OBS due to staging
issues.
-------------------------------------------------------------------
Wed Aug 3 17:09:05 UTC 2016 - brogers@suse.com
- use upstream solution for building xen-usb.c correctly
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6
* Patches dropped:
0058-usb-Fix-conditions-that-xen-usb.c-i.patch
* Patches added:
0058-xen-move-xen_sysdev-to-xen_backend..patch
-------------------------------------------------------------------
Wed Aug 3 13:51:42 UTC 2016 - brogers@suse.com
- Incorporate patch carried in Xen's qemu to get same support
as Xen switches to use the qemu package (bsc#953339, bsc#953362,
bsc#953518, bsc#984981)
0064-xen-SUSE-xenlinux-unplug-for-emulat.patch
- Fix more potential OOB accesses in 53C9X emulation
(CVE-2016-5238 bsc#982959)
0065-scsi-esp-check-buffer-length-before.patch
0066-scsi-esp-respect-FIFO-invariant-aft.patch
- Avoid "Invalid ROM" error message when it is not appropriate
(bsc#982927)
0067-pci-assign-Move-Invalid-ROM-error-m.patch
- Fix failure in Xen HVM PCI passthrough (bsc#981925, bsc#989250)
0068-Xen-PCI-passthrough-fix-passthrough.patch
- Fix OOB access in 53C9X emulation (CVE-2016-6351 bsc#990835)
0069-scsi-esp-make-cmdbuf-big-enough-for.patch
0070-scsi-esp-fix-migration.patch
- Avoid potential for guest initiated OOM condition in qemu through
virtio interface (CVE-2016-5403 bsc#991080)
0071-virtio-error-out-if-guest-exceeds-v.patch
- Fix potential crashes in qemu from pvusb bugs (bsc#986156)
0072-xen-when-removing-a-backend-don-t-r.patch
0073-xen-drain-submit-queue-in-xen-usb-b.patch
- Avoid unneeded flushes in qcow2 which impact performance (bsc#991296)
0074-qcow2-avoid-extra-flushes-in-qcow2.patch
- Finally get qemu-bridge-helper the permissions it needs for non-
root usage. The kvm group is leveraged to control access. (boo#988279)
0075-qemu-bridge-helper-reduce-security-.patch
- Fix pvusb not working for HVM guests (bsc#991785)
0076-xen-use-a-common-function-for-pv-an.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6
- Minor spec file formatting fixes
-------------------------------------------------------------------
Thu Jul 28 10:53:14 UTC 2016 - agraf@suse.com
- Fix ARM PCIe DMA coherency bug (bsc#991034)
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6
* Patches added:
0063-hw-arm-virt-mark-the-PCIe-host-cont.patch
-------------------------------------------------------------------
Tue Jul 19 20:57:17 UTC 2016 - afaerber@suse.de
- Clean up the udev ifdeffery to cover systemd as well (boo#860275)
- Trigger udev rules also under systemd (boo#989655)
- Suppress s390x sysctl in chroot
- Ignore s390x sysctl failures (agraf)
-------------------------------------------------------------------
Thu Jul 14 19:38:39 UTC 2016 - brogers@suse.com
- Build SLOF for SLE12 now that we have gcc fix (bsc#949000)
- Add script for loading kvm module on s390x
- Enable seccomp and iscsi support in more configurations
- Enable more support for virtio-gpu
- Fix /dev/kvm permissions problem with package install and no
reboot (bnc#867867)
- Remove libtool dependency
- Disable more aggressive stack protector for performance reasons
- Enable vte to be used again in more configurations (bsc#988855)
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6
* Patches added:
0061-configure-add-echo_version-helper.patch
0062-configure-support-vte-2.91.patch
-------------------------------------------------------------------
Thu Jul 14 14:59:37 UTC 2016 - agraf@suse.com
- Remove deprecated patch "work-around-SA_RESTART-race" (boo#982208)
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6
* Patches dropped:
0002-XXX-work-around-SA_RESTART-race-wit.patch
0003-qemu-0.9.0.cvs-binfmt.patch
0004-qemu-cvs-alsa_bitfield.patch
0005-qemu-cvs-alsa_ioctl.patch
0006-qemu-cvs-alsa_mmap.patch
0007-qemu-cvs-gettimeofday.patch
0008-qemu-cvs-ioctl_debug.patch
0009-qemu-cvs-ioctl_nodirection.patch
0010-block-vmdk-Support-creation-of-SCSI.patch
0011-linux-user-add-binfmt-wrapper-for-a.patch
0012-PPC-KVM-Disable-mmu-notifier-check.patch
0013-linux-user-fix-segfault-deadlock.patch
0014-linux-user-binfmt-support-host-bina.patch
0015-linux-user-Ignore-broken-loop-ioctl.patch
0016-linux-user-lock-tcg.patch
0017-linux-user-Run-multi-threaded-code-.patch
0018-linux-user-lock-tb-flushing-too.patch
0019-linux-user-Fake-proc-cpuinfo.patch
0020-linux-user-implement-FS_IOC_GETFLAG.patch
0021-linux-user-implement-FS_IOC_SETFLAG.patch
0022-linux-user-XXX-disable-fiemap.patch
0023-slirp-nooutgoing.patch
0024-vnc-password-file-and-incoming-conn.patch
0025-linux-user-add-more-blk-ioctls.patch
0026-linux-user-use-target_ulong.patch
0027-block-Add-support-for-DictZip-enabl.patch
0028-block-Add-tar-container-format.patch
0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
0030-console-add-question-mark-escape-op.patch
0031-Make-char-muxer-more-robust-wrt-sma.patch
0032-linux-user-lseek-explicitly-cast-no.patch
0033-virtfs-proxy-helper-Provide-__u64-f.patch
0034-configure-Enable-PIE-for-ppc-and-pp.patch
0035-qtest-Increase-socket-timeout.patch
0036-AIO-Reduce-number-of-threads-for-32.patch
0037-configure-Enable-libseccomp-for-ppc.patch
0038-dictzip-Fix-on-big-endian-systems.patch
0039-block-split-large-discard-requests-.patch
0040-xen_disk-Add-suse-specific-flush-di.patch
0041-build-link-with-libatomic-on-powerp.patch
0042-net-mipsnet-check-packet-length-aga.patch
0043-i386-kvmvapic-initialise-imm32-vari.patch
0044-esp-check-command-buffer-length-bef.patch
0045-esp-check-dma-length-before-reading.patch
0046-scsi-pvscsi-check-command-descripto.patch
0047-scsi-mptsas-infinite-loop-while-fet.patch
0048-vga-add-sr_vbe-register-set.patch
0049-scsi-megasas-use-appropriate-proper.patch
0050-scsi-megasas-check-read_queue_head-.patch
0051-scsi-megasas-null-terminate-bios-ve.patch
0052-vmsvga-move-fifo-sanity-checks-to-v.patch
0053-vmsvga-don-t-process-more-than-1024.patch
0054-block-iscsi-avoid-potential-overflo.patch
0055-scsi-esp-check-TI-buffer-index-befo.patch
0056-xen-introduce-dummy-system-device.patch
0057-xen-write-information-about-support.patch
0058-xen-add-pvUSB-backend.patch
0059-usb-Fix-conditions-that-xen-usb.c-i.patch
0060-vnc-add-configurable-keyboard-delay.patch
0061-scsi-megasas-initialise-local-confi.patch
* Patches added:
0002-qemu-0.9.0.cvs-binfmt.patch
0003-qemu-cvs-alsa_bitfield.patch
0004-qemu-cvs-alsa_ioctl.patch
0005-qemu-cvs-alsa_mmap.patch
0006-qemu-cvs-gettimeofday.patch
0007-qemu-cvs-ioctl_debug.patch
0008-qemu-cvs-ioctl_nodirection.patch
0009-block-vmdk-Support-creation-of-SCSI.patch
0010-linux-user-add-binfmt-wrapper-for-a.patch
0011-PPC-KVM-Disable-mmu-notifier-check.patch
0012-linux-user-fix-segfault-deadlock.patch
0013-linux-user-binfmt-support-host-bina.patch
0014-linux-user-Ignore-broken-loop-ioctl.patch
0015-linux-user-lock-tcg.patch
0016-linux-user-Run-multi-threaded-code-.patch
0017-linux-user-lock-tb-flushing-too.patch
0018-linux-user-Fake-proc-cpuinfo.patch
0019-linux-user-implement-FS_IOC_GETFLAG.patch
0020-linux-user-implement-FS_IOC_SETFLAG.patch
0021-linux-user-XXX-disable-fiemap.patch
0022-slirp-nooutgoing.patch
0023-vnc-password-file-and-incoming-conn.patch
0024-linux-user-add-more-blk-ioctls.patch
0025-linux-user-use-target_ulong.patch
0026-block-Add-support-for-DictZip-enabl.patch
0027-block-Add-tar-container-format.patch
0028-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
0029-console-add-question-mark-escape-op.patch
0030-Make-char-muxer-more-robust-wrt-sma.patch
0031-linux-user-lseek-explicitly-cast-no.patch
0032-virtfs-proxy-helper-Provide-__u64-f.patch
0033-configure-Enable-PIE-for-ppc-and-pp.patch
0034-qtest-Increase-socket-timeout.patch
0035-AIO-Reduce-number-of-threads-for-32.patch
0036-configure-Enable-libseccomp-for-ppc.patch
0037-dictzip-Fix-on-big-endian-systems.patch
0038-block-split-large-discard-requests-.patch
0039-xen_disk-Add-suse-specific-flush-di.patch
0040-build-link-with-libatomic-on-powerp.patch
0041-net-mipsnet-check-packet-length-aga.patch
0042-i386-kvmvapic-initialise-imm32-vari.patch
0043-esp-check-command-buffer-length-bef.patch
0044-esp-check-dma-length-before-reading.patch
0045-scsi-pvscsi-check-command-descripto.patch
0046-scsi-mptsas-infinite-loop-while-fet.patch
0047-vga-add-sr_vbe-register-set.patch
0048-scsi-megasas-use-appropriate-proper.patch
0049-scsi-megasas-check-read_queue_head-.patch
0050-scsi-megasas-null-terminate-bios-ve.patch
0051-vmsvga-move-fifo-sanity-checks-to-v.patch
0052-vmsvga-don-t-process-more-than-1024.patch
0053-block-iscsi-avoid-potential-overflo.patch
0054-scsi-esp-check-TI-buffer-index-befo.patch
0055-xen-introduce-dummy-system-device.patch
0056-xen-write-information-about-support.patch
0057-xen-add-pvUSB-backend.patch
0058-usb-Fix-conditions-that-xen-usb.c-i.patch
0059-vnc-add-configurable-keyboard-delay.patch
0060-scsi-megasas-initialise-local-confi.patch
- Enable ceph (rbd) support for aarch64
-------------------------------------------------------------------
Tue Jul 12 18:20:24 UTC 2016 - brogers@suse.com
- Enable ceph (rbd) support
-------------------------------------------------------------------
Mon Jul 4 06:20:16 UTC 2016 - glin@suse.com

283
qemu.spec
View File

@ -28,9 +28,7 @@
%define build_slof_from_source 1
%endif
%ifarch ppc64le
# Needs a compatible gcc (bsc#949000)
# TODO: include 1315 for SLE12 once possible
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315
%define build_slof_from_source 1
%endif
%endif
@ -46,6 +44,28 @@
%endif
%define noarch_supported 1110
%if 0%{?is_opensuse} == 0
%ifarch x86_64
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && ( 0%{?is_opensuse} == 0 || 0%{?sle_version} > 120100 ) )
%define with_rbd 1
%endif
%endif
%ifarch aarch64
%if 0%{?suse_version} > 1320 || ( 0%{?is_opensuse} == 0 && 0%{?sle_version} > 120100 )
%define with_rbd 1
%endif
%endif
%endif
%if 0%{?suse_version} > 1320
%define with_seccomp 1
%endif
%ifarch %ix86 x86_64
%define with_seccomp 1
%endif
Name: qemu
Url: http://www.qemu.org/
Summary: Universal CPU emulator
@ -64,69 +84,85 @@ Source6: ksm.service
Source7: 60-kvm.x86.rules
Source8: 80-qemu-ga.rules
Source9: qemu-ga.service
Source10: kvm.conf
# Upstream First -- http://wiki.qemu-project.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-XXX-work-around-SA_RESTART-race-wit.patch
Patch0003: 0003-qemu-0.9.0.cvs-binfmt.patch
Patch0004: 0004-qemu-cvs-alsa_bitfield.patch
Patch0005: 0005-qemu-cvs-alsa_ioctl.patch
Patch0006: 0006-qemu-cvs-alsa_mmap.patch
Patch0007: 0007-qemu-cvs-gettimeofday.patch
Patch0008: 0008-qemu-cvs-ioctl_debug.patch
Patch0009: 0009-qemu-cvs-ioctl_nodirection.patch
Patch0010: 0010-block-vmdk-Support-creation-of-SCSI.patch
Patch0011: 0011-linux-user-add-binfmt-wrapper-for-a.patch
Patch0012: 0012-PPC-KVM-Disable-mmu-notifier-check.patch
Patch0013: 0013-linux-user-fix-segfault-deadlock.patch
Patch0014: 0014-linux-user-binfmt-support-host-bina.patch
Patch0015: 0015-linux-user-Ignore-broken-loop-ioctl.patch
Patch0016: 0016-linux-user-lock-tcg.patch
Patch0017: 0017-linux-user-Run-multi-threaded-code-.patch
Patch0018: 0018-linux-user-lock-tb-flushing-too.patch
Patch0019: 0019-linux-user-Fake-proc-cpuinfo.patch
Patch0020: 0020-linux-user-implement-FS_IOC_GETFLAG.patch
Patch0021: 0021-linux-user-implement-FS_IOC_SETFLAG.patch
Patch0022: 0022-linux-user-XXX-disable-fiemap.patch
Patch0023: 0023-slirp-nooutgoing.patch
Patch0024: 0024-vnc-password-file-and-incoming-conn.patch
Patch0025: 0025-linux-user-add-more-blk-ioctls.patch
Patch0026: 0026-linux-user-use-target_ulong.patch
Patch0027: 0027-block-Add-support-for-DictZip-enabl.patch
Patch0028: 0028-block-Add-tar-container-format.patch
Patch0029: 0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
Patch0030: 0030-console-add-question-mark-escape-op.patch
Patch0031: 0031-Make-char-muxer-more-robust-wrt-sma.patch
Patch0032: 0032-linux-user-lseek-explicitly-cast-no.patch
Patch0033: 0033-virtfs-proxy-helper-Provide-__u64-f.patch
Patch0034: 0034-configure-Enable-PIE-for-ppc-and-pp.patch
Patch0035: 0035-qtest-Increase-socket-timeout.patch
Patch0036: 0036-AIO-Reduce-number-of-threads-for-32.patch
Patch0037: 0037-configure-Enable-libseccomp-for-ppc.patch
Patch0038: 0038-dictzip-Fix-on-big-endian-systems.patch
Patch0039: 0039-block-split-large-discard-requests-.patch
Patch0040: 0040-xen_disk-Add-suse-specific-flush-di.patch
Patch0041: 0041-build-link-with-libatomic-on-powerp.patch
Patch0042: 0042-net-mipsnet-check-packet-length-aga.patch
Patch0043: 0043-i386-kvmvapic-initialise-imm32-vari.patch
Patch0044: 0044-esp-check-command-buffer-length-bef.patch
Patch0045: 0045-esp-check-dma-length-before-reading.patch
Patch0046: 0046-scsi-pvscsi-check-command-descripto.patch
Patch0047: 0047-scsi-mptsas-infinite-loop-while-fet.patch
Patch0048: 0048-vga-add-sr_vbe-register-set.patch
Patch0049: 0049-scsi-megasas-use-appropriate-proper.patch
Patch0050: 0050-scsi-megasas-check-read_queue_head-.patch
Patch0051: 0051-scsi-megasas-null-terminate-bios-ve.patch
Patch0052: 0052-vmsvga-move-fifo-sanity-checks-to-v.patch
Patch0053: 0053-vmsvga-don-t-process-more-than-1024.patch
Patch0054: 0054-block-iscsi-avoid-potential-overflo.patch
Patch0055: 0055-scsi-esp-check-TI-buffer-index-befo.patch
Patch0056: 0056-xen-introduce-dummy-system-device.patch
Patch0057: 0057-xen-write-information-about-support.patch
Patch0058: 0058-xen-add-pvUSB-backend.patch
Patch0059: 0059-usb-Fix-conditions-that-xen-usb.c-i.patch
Patch0060: 0060-vnc-add-configurable-keyboard-delay.patch
Patch0061: 0061-scsi-megasas-initialise-local-confi.patch
Patch0002: 0002-qemu-0.9.0.cvs-binfmt.patch
Patch0003: 0003-qemu-cvs-alsa_bitfield.patch
Patch0004: 0004-qemu-cvs-alsa_ioctl.patch
Patch0005: 0005-qemu-cvs-alsa_mmap.patch
Patch0006: 0006-qemu-cvs-gettimeofday.patch
Patch0007: 0007-qemu-cvs-ioctl_debug.patch
Patch0008: 0008-qemu-cvs-ioctl_nodirection.patch
Patch0009: 0009-block-vmdk-Support-creation-of-SCSI.patch
Patch0010: 0010-linux-user-add-binfmt-wrapper-for-a.patch
Patch0011: 0011-PPC-KVM-Disable-mmu-notifier-check.patch
Patch0012: 0012-linux-user-fix-segfault-deadlock.patch
Patch0013: 0013-linux-user-binfmt-support-host-bina.patch
Patch0014: 0014-linux-user-Ignore-broken-loop-ioctl.patch
Patch0015: 0015-linux-user-lock-tcg.patch
Patch0016: 0016-linux-user-Run-multi-threaded-code-.patch
Patch0017: 0017-linux-user-lock-tb-flushing-too.patch
Patch0018: 0018-linux-user-Fake-proc-cpuinfo.patch
Patch0019: 0019-linux-user-implement-FS_IOC_GETFLAG.patch
Patch0020: 0020-linux-user-implement-FS_IOC_SETFLAG.patch
Patch0021: 0021-linux-user-XXX-disable-fiemap.patch
Patch0022: 0022-slirp-nooutgoing.patch
Patch0023: 0023-vnc-password-file-and-incoming-conn.patch
Patch0024: 0024-linux-user-add-more-blk-ioctls.patch
Patch0025: 0025-linux-user-use-target_ulong.patch
Patch0026: 0026-block-Add-support-for-DictZip-enabl.patch
Patch0027: 0027-block-Add-tar-container-format.patch
Patch0028: 0028-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
Patch0029: 0029-console-add-question-mark-escape-op.patch
Patch0030: 0030-Make-char-muxer-more-robust-wrt-sma.patch
Patch0031: 0031-linux-user-lseek-explicitly-cast-no.patch
Patch0032: 0032-virtfs-proxy-helper-Provide-__u64-f.patch
Patch0033: 0033-configure-Enable-PIE-for-ppc-and-pp.patch
Patch0034: 0034-qtest-Increase-socket-timeout.patch
Patch0035: 0035-AIO-Reduce-number-of-threads-for-32.patch
Patch0036: 0036-configure-Enable-libseccomp-for-ppc.patch
Patch0037: 0037-dictzip-Fix-on-big-endian-systems.patch
Patch0038: 0038-block-split-large-discard-requests-.patch
Patch0039: 0039-xen_disk-Add-suse-specific-flush-di.patch
Patch0040: 0040-build-link-with-libatomic-on-powerp.patch
Patch0041: 0041-net-mipsnet-check-packet-length-aga.patch
Patch0042: 0042-i386-kvmvapic-initialise-imm32-vari.patch
Patch0043: 0043-esp-check-command-buffer-length-bef.patch
Patch0044: 0044-esp-check-dma-length-before-reading.patch
Patch0045: 0045-scsi-pvscsi-check-command-descripto.patch
Patch0046: 0046-scsi-mptsas-infinite-loop-while-fet.patch
Patch0047: 0047-vga-add-sr_vbe-register-set.patch
Patch0048: 0048-scsi-megasas-use-appropriate-proper.patch
Patch0049: 0049-scsi-megasas-check-read_queue_head-.patch
Patch0050: 0050-scsi-megasas-null-terminate-bios-ve.patch
Patch0051: 0051-vmsvga-move-fifo-sanity-checks-to-v.patch
Patch0052: 0052-vmsvga-don-t-process-more-than-1024.patch
Patch0053: 0053-block-iscsi-avoid-potential-overflo.patch
Patch0054: 0054-scsi-esp-check-TI-buffer-index-befo.patch
Patch0055: 0055-xen-introduce-dummy-system-device.patch
Patch0056: 0056-xen-write-information-about-support.patch
Patch0057: 0057-xen-add-pvUSB-backend.patch
Patch0058: 0058-xen-move-xen_sysdev-to-xen_backend..patch
Patch0059: 0059-vnc-add-configurable-keyboard-delay.patch
Patch0060: 0060-scsi-megasas-initialise-local-confi.patch
Patch0061: 0061-configure-add-echo_version-helper.patch
Patch0062: 0062-configure-support-vte-2.91.patch
Patch0063: 0063-hw-arm-virt-mark-the-PCIe-host-cont.patch
Patch0064: 0064-xen-SUSE-xenlinux-unplug-for-emulat.patch
Patch0065: 0065-scsi-esp-check-buffer-length-before.patch
Patch0066: 0066-scsi-esp-respect-FIFO-invariant-aft.patch
Patch0067: 0067-pci-assign-Move-Invalid-ROM-error-m.patch
Patch0068: 0068-Xen-PCI-passthrough-fix-passthrough.patch
Patch0069: 0069-scsi-esp-make-cmdbuf-big-enough-for.patch
Patch0070: 0070-scsi-esp-fix-migration.patch
Patch0071: 0071-virtio-error-out-if-guest-exceeds-v.patch
Patch0072: 0072-xen-when-removing-a-backend-don-t-r.patch
Patch0073: 0073-xen-drain-submit-queue-in-xen-usb-b.patch
Patch0074: 0074-qcow2-avoid-extra-flushes-in-qcow2.patch
Patch0075: 0075-qemu-bridge-helper-reduce-security-.patch
Patch0076: 0076-xen-use-a-common-function-for-pv-an.patch
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
@ -189,7 +225,7 @@ BuildRequires: libcacard-devel
BuildRequires: libcap-devel
BuildRequires: libcap-ng-devel
BuildRequires: libdrm-devel
%if 0%{?suse_version} >= 1320
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
BuildRequires: libepoxy-devel
%endif
%if 0%{?suse_version} >= 1310
@ -202,7 +238,14 @@ BuildRequires: libgnutls-devel
%if 0%{?suse_version} >= 1315
BuildRequires: libibverbs-devel
%endif
%if 0%{?suse_version} > 1320
%if 0%{?with_rbd}
%if 0%{?is_opensuse}
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
@ -225,13 +268,12 @@ BuildRequires: libpulse-devel
%if 0%{?suse_version} >= 1315
BuildRequires: librdmacm-devel
%endif
%if 0%{?suse_version} > 1320
%if 0%{?with_seccomp}
BuildRequires: libseccomp-devel
%endif
%if 0%{?suse_version} > 1140
BuildRequires: libssh2-devel
%endif
BuildRequires: libtool
%if 0%{?suse_version} > 1310
BuildRequires: libusb-1_0-devel
%endif
@ -240,6 +282,7 @@ BuildRequires: lzo-devel
%if 0%{?suse_version} > 1220
BuildRequires: makeinfo
%endif
BuildRequires: Mesa-devel
BuildRequires: mozilla-nss-devel
BuildRequires: ncurses-devel
%if 0%{?build_x86_fw_from_source}
@ -267,7 +310,7 @@ BuildRequires: pkgconfig(udev)
%if 0%{?sles_version} != 11
BuildRequires: usbredir-devel
%endif
%if 0%{?suse_version} >= 1320
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
BuildRequires: virglrenderer-devel >= 0.4.1
%endif
%if 0%{?suse_version} >= 1210
@ -332,9 +375,12 @@ Suggests: qemu-block-dmg
%if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315
Suggests: qemu-block-gluster
%endif
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
Suggests: qemu-block-iscsi
%endif
%if 0%{?with_rbd}
Suggests: qemu-block-rbd
%endif
%if 0%{?suse_version} > 1140
Suggests: qemu-block-ssh
%endif
@ -348,11 +394,11 @@ Recommends: qemu-ksm = %{version}
%define x86_64_only_b_f_f {efi-e1000.rom efi-eepro100.rom \
efi-pcnet.rom efi-ne2k_pci.rom efi-rtl8139.rom efi-virtio.rom}
%endif
%define built_firmware_files {bios.bin bios-256k.bin \
sgabios.bin vgabios.bin vgabios-cirrus.bin \
vgabios-stdvga.bin vgabios-virtio.bin vgabios-vmware.bin vgabios-qxl.bin \
optionrom/linuxboot.bin optionrom/multiboot.bin optionrom/kvmvapic.bin \
pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom %{?x86_64_only_b_f_f}}
%define built_firmware_files {bios.bin bios-256k.bin sgabios.bin vgabios.bin \
vgabios-cirrus.bin vgabios-stdvga.bin vgabios-virtio.bin vgabios-vmware.bin \
vgabios-qxl.bin optionrom/linuxboot.bin optionrom/multiboot.bin \
optionrom/kvmvapic.bin pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom \
pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom %{?x86_64_only_b_f_f}}
%description
QEMU is an extremely well-performing CPU emulator that allows you to
@ -533,7 +579,7 @@ This sub-package contains a module for accessing network-based image files
over a GlusterFS network connection from qemu-img tool and QEMU system emulation.
%endif
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
%package block-iscsi
Summary: Universal CPU emulator -- iSCSI block support
Group: System/Emulators/PC
@ -550,6 +596,23 @@ This sub-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%{?with_rbd}
%package block-rbd
Summary: Universal CPU emulator -- Ceph (rbd) block support
Group: System/Emulators/PC
%{qemu_module_conflicts}
%description block-rbd
QEMU is an extremely well-performing CPU emulator that allows you to
choose between simulating an entire system and running userspace
binaries for different architectures under your native operating
system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
as PC and PowerMac systems.
This sub-package contains a module for accessing ceph (rbd,rados)
image files.
%endif
%if 0%{?suse_version} > 1140
%package block-ssh
Summary: Universal CPU emulator -- SSH block support
@ -573,6 +636,9 @@ Group: System/Emulators/PC
Provides: qemu:%_libexecdir/qemu-bridge-helper
PreReq: permissions
Recommends: qemu-block-curl
%if 0%{?with_rbd}
Recommends: qemu-block-rbd
%endif
%description tools
QEMU is an extremely well-performing CPU emulator that allows you to
@ -738,6 +804,21 @@ This package provides a service file for starting and stopping KSM.
%patch0059 -p1
%patch0060 -p1
%patch0061 -p1
%patch0062 -p1
%patch0063 -p1
%patch0064 -p1
%patch0065 -p1
%patch0066 -p1
%patch0067 -p1
%patch0068 -p1
%patch0069 -p1
%patch0070 -p1
%patch0071 -p1
%patch0072 -p1
%patch0073 -p1
%patch0074 -p1
%patch0075 -p1
%patch0076 -p1
%if %{build_x86_fw_from_source}
pushd roms/seabios
@ -774,6 +855,7 @@ rm -f pc-bios/slof.bin
--libexecdir=%_libexecdir \
--localstatedir=%_localstatedir \
--extra-cflags="%{optflags}" \
--disable-stack-protector \
--disable-strip \
--with-pkgversion="%(echo '%{distribution}' | sed 's/ (.*)//')" \
--enable-system --disable-linux-user \
@ -818,7 +900,7 @@ rm -f pc-bios/slof.bin
%else
--disable-kvm \
%endif
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
--enable-libiscsi \
%else
--disable-libiscsi \
@ -850,7 +932,14 @@ rm -f pc-bios/slof.bin
--enable-numa \
%endif
%endif
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
--enable-opengl \
%endif
%if 0%{?with_rbd}
--enable-rbd \
%else
--disable-rbd \
%endif
%if 0%{?suse_version} >= 1315
--enable-rdma \
%else
@ -862,7 +951,7 @@ rm -f pc-bios/slof.bin
%else
--with-sdlabi=1.2 \
%endif
%if 0%{?suse_version} > 1320
%if 0%{?with_seccomp}
--enable-seccomp \
%else
--disable-seccomp \
@ -892,15 +981,17 @@ rm -f pc-bios/slof.bin
--enable-vde \
--enable-vhdx \
--enable-vhost-net \
%if 0%{?suse_version} >= 1320
--enable-virglrenderer \
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
--enable-virglrenderer \
%endif
--enable-virtfs \
--enable-vnc \
--enable-vnc-jpeg \
--enable-vnc-png \
--enable-vnc-sasl \
%if 0%{?suse_version} == 1310 || (0%{?suse_version} == 1315 && 0%{?is_opensuse} == 0)
%if 0%{?suse_version} == 1320
--disable-vte \
%else
--enable-vte \
%endif
%ifarch x86_64
@ -910,7 +1001,7 @@ rm -f pc-bios/slof.bin
%else
--disable-xen \
%endif
--enable-xfsctl \
--enable-xfsctl \
%if "%{name}" != "qemu-testsuite"
@ -951,7 +1042,7 @@ for conf in default-configs/*-softmmu.mak; do
done
# Compile the QOM test binary first, so that ...
make tests/qom-test %{?_smp_mflags} V=1
make tests/qom-test %{?_smp_mflags} V=1
# ... make comes in fresh and has lots of address space (needed for 32bit, bsc#957379)
%if 0%{?suse_version} >= 1310
make check-report.html V=1
@ -1049,6 +1140,9 @@ install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_udevrulesdir}/80-qemu-ga.rules
%if 0%{?with_systemd}
install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service
install -D -p -m 0644 %{SOURCE9} %{buildroot}%{_unitdir}/qemu-ga.service
%ifarch s390x
install -D -m 0644 %{SOURCE10} %{buildroot}%{_libexecdir}/modules-load.d/kvm.conf
%endif
%endif
%fdupes -s $RPM_BUILD_ROOT
@ -1072,17 +1166,20 @@ install -D -m 644 check-report.xml %{buildroot}%{_datadir}/qemu/check-report.xml
%if %{kvm_available}
%post
# Do not execute operations affecting host devices while running in a chroot
if [ $(stat -L -c "%i" /proc/1/root/) = $(stat -L -c "%i" /) ]; then
setfacl --remove-all /dev/kvm &> /dev/null || :
%if 0%{?with_systemd}
%udev_rules_update
%udev_rules_update
%_bindir/udevadm trigger || :
%else
if [ "$(readlink -f /proc/1/root)" = "/" ]; then
/sbin/udevadm control --reload-rules || :
/sbin/udevadm trigger || :
fi
%endif
%ifarch s390x
sysctl vm.allocate_pgste=1
sysctl vm.allocate_pgste=1 || :
%endif
fi
%endif
%if 0%{?suse_version} >= 1130
@ -1146,6 +1243,9 @@ fi
%endif
%ifarch s390x
%{_sysconfdir}/sysctl.d/50-allow-kvm-on-s390x
%if 0%{?with_systemd}
%_libexecdir/modules-load.d/kvm.conf
%endif
%endif
%endif
@ -1232,12 +1332,19 @@ fi
%_libdir/%name/block-gluster.so
%endif
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
%files block-iscsi
%defattr(-, root, root)
%_libdir/%name/block-iscsi.so
%endif
%if 0%{?with_rbd}
%files block-rbd
%defattr(-, root, root)
%dir %_libdir/%name
%_libdir/%name/block-rbd.so
%endif
%if 0%{?suse_version} > 1140
%files block-ssh
%defattr(-, root, root)
@ -1295,7 +1402,7 @@ fi
%_bindir/qemu-nbd
%_bindir/virtfs-proxy-helper
#%_bindir/vscclient
%verify(not mode) %_libexecdir/qemu-bridge-helper
%verify(not mode) %attr(4750,root,kvm) %_libexecdir/qemu-bridge-helper
%dir %_sysconfdir/%name
%config %_sysconfdir/%name/bridge.conf
%dir %_libdir/%name

View File

@ -28,9 +28,7 @@
%define build_slof_from_source 1
%endif
%ifarch ppc64le
# Needs a compatible gcc (bsc#949000)
# TODO: include 1315 for SLE12 once possible
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315
%define build_slof_from_source 1
%endif
%endif
@ -46,6 +44,28 @@
%endif
%define noarch_supported 1110
%if 0%{?is_opensuse} == 0
%ifarch x86_64
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && ( 0%{?is_opensuse} == 0 || 0%{?sle_version} > 120100 ) )
%define with_rbd 1
%endif
%endif
%ifarch aarch64
%if 0%{?suse_version} > 1320 || ( 0%{?is_opensuse} == 0 && 0%{?sle_version} > 120100 )
%define with_rbd 1
%endif
%endif
%endif
%if 0%{?suse_version} > 1320
%define with_seccomp 1
%endif
%ifarch %ix86 x86_64
%define with_seccomp 1
%endif
Name: qemu
Url: http://www.qemu.org/
Summary: Universal CPU emulator
@ -64,6 +84,7 @@ Source6: ksm.service
Source7: 60-kvm.x86.rules
Source8: 80-qemu-ga.rules
Source9: qemu-ga.service
Source10: kvm.conf
# Upstream First -- http://wiki.qemu-project.org/Contribute/SubmitAPatch
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
PATCH_FILES
@ -129,7 +150,7 @@ BuildRequires: libcacard-devel
BuildRequires: libcap-devel
BuildRequires: libcap-ng-devel
BuildRequires: libdrm-devel
%if 0%{?suse_version} >= 1320
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
BuildRequires: libepoxy-devel
%endif
%if 0%{?suse_version} >= 1310
@ -142,7 +163,14 @@ BuildRequires: libgnutls-devel
%if 0%{?suse_version} >= 1315
BuildRequires: libibverbs-devel
%endif
%if 0%{?suse_version} > 1320
%if 0%{?with_rbd}
%if 0%{?is_opensuse}
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
@ -165,13 +193,12 @@ BuildRequires: libpulse-devel
%if 0%{?suse_version} >= 1315
BuildRequires: librdmacm-devel
%endif
%if 0%{?suse_version} > 1320
%if 0%{?with_seccomp}
BuildRequires: libseccomp-devel
%endif
%if 0%{?suse_version} > 1140
BuildRequires: libssh2-devel
%endif
BuildRequires: libtool
%if 0%{?suse_version} > 1310
BuildRequires: libusb-1_0-devel
%endif
@ -180,6 +207,7 @@ BuildRequires: lzo-devel
%if 0%{?suse_version} > 1220
BuildRequires: makeinfo
%endif
BuildRequires: Mesa-devel
BuildRequires: mozilla-nss-devel
BuildRequires: ncurses-devel
%if 0%{?build_x86_fw_from_source}
@ -207,7 +235,7 @@ BuildRequires: pkgconfig(udev)
%if 0%{?sles_version} != 11
BuildRequires: usbredir-devel
%endif
%if 0%{?suse_version} >= 1320
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
BuildRequires: virglrenderer-devel >= 0.4.1
%endif
%if 0%{?suse_version} >= 1210
@ -272,9 +300,12 @@ Suggests: qemu-block-dmg
%if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315
Suggests: qemu-block-gluster
%endif
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
Suggests: qemu-block-iscsi
%endif
%if 0%{?with_rbd}
Suggests: qemu-block-rbd
%endif
%if 0%{?suse_version} > 1140
Suggests: qemu-block-ssh
%endif
@ -288,11 +319,11 @@ Recommends: qemu-ksm = %{version}
%define x86_64_only_b_f_f {efi-e1000.rom efi-eepro100.rom \
efi-pcnet.rom efi-ne2k_pci.rom efi-rtl8139.rom efi-virtio.rom}
%endif
%define built_firmware_files {bios.bin bios-256k.bin \
sgabios.bin vgabios.bin vgabios-cirrus.bin \
vgabios-stdvga.bin vgabios-virtio.bin vgabios-vmware.bin vgabios-qxl.bin \
optionrom/linuxboot.bin optionrom/multiboot.bin optionrom/kvmvapic.bin \
pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom %{?x86_64_only_b_f_f}}
%define built_firmware_files {bios.bin bios-256k.bin sgabios.bin vgabios.bin \
vgabios-cirrus.bin vgabios-stdvga.bin vgabios-virtio.bin vgabios-vmware.bin \
vgabios-qxl.bin optionrom/linuxboot.bin optionrom/multiboot.bin \
optionrom/kvmvapic.bin pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom \
pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom %{?x86_64_only_b_f_f}}
%description
QEMU is an extremely well-performing CPU emulator that allows you to
@ -473,7 +504,7 @@ This sub-package contains a module for accessing network-based image files
over a GlusterFS network connection from qemu-img tool and QEMU system emulation.
%endif
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
%package block-iscsi
Summary: Universal CPU emulator -- iSCSI block support
Group: System/Emulators/PC
@ -490,6 +521,23 @@ This sub-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%{?with_rbd}
%package block-rbd
Summary: Universal CPU emulator -- Ceph (rbd) block support
Group: System/Emulators/PC
%{qemu_module_conflicts}
%description block-rbd
QEMU is an extremely well-performing CPU emulator that allows you to
choose between simulating an entire system and running userspace
binaries for different architectures under your native operating
system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
as PC and PowerMac systems.
This sub-package contains a module for accessing ceph (rbd,rados)
image files.
%endif
%if 0%{?suse_version} > 1140
%package block-ssh
Summary: Universal CPU emulator -- SSH block support
@ -513,6 +561,9 @@ Group: System/Emulators/PC
Provides: qemu:%_libexecdir/qemu-bridge-helper
PreReq: permissions
Recommends: qemu-block-curl
%if 0%{?with_rbd}
Recommends: qemu-block-rbd
%endif
%description tools
QEMU is an extremely well-performing CPU emulator that allows you to
@ -655,6 +706,7 @@ rm -f pc-bios/slof.bin
--libexecdir=%_libexecdir \
--localstatedir=%_localstatedir \
--extra-cflags="%{optflags}" \
--disable-stack-protector \
--disable-strip \
--with-pkgversion="%(echo '%{distribution}' | sed 's/ (.*)//')" \
--enable-system --disable-linux-user \
@ -699,7 +751,7 @@ rm -f pc-bios/slof.bin
%else
--disable-kvm \
%endif
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
--enable-libiscsi \
%else
--disable-libiscsi \
@ -731,7 +783,14 @@ rm -f pc-bios/slof.bin
--enable-numa \
%endif
%endif
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
--enable-opengl \
%endif
%if 0%{?with_rbd}
--enable-rbd \
%else
--disable-rbd \
%endif
%if 0%{?suse_version} >= 1315
--enable-rdma \
%else
@ -743,7 +802,7 @@ rm -f pc-bios/slof.bin
%else
--with-sdlabi=1.2 \
%endif
%if 0%{?suse_version} > 1320
%if 0%{?with_seccomp}
--enable-seccomp \
%else
--disable-seccomp \
@ -773,15 +832,17 @@ rm -f pc-bios/slof.bin
--enable-vde \
--enable-vhdx \
--enable-vhost-net \
%if 0%{?suse_version} >= 1320
--enable-virglrenderer \
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
--enable-virglrenderer \
%endif
--enable-virtfs \
--enable-vnc \
--enable-vnc-jpeg \
--enable-vnc-png \
--enable-vnc-sasl \
%if 0%{?suse_version} == 1310 || (0%{?suse_version} == 1315 && 0%{?is_opensuse} == 0)
%if 0%{?suse_version} == 1320
--disable-vte \
%else
--enable-vte \
%endif
%ifarch x86_64
@ -791,7 +852,7 @@ rm -f pc-bios/slof.bin
%else
--disable-xen \
%endif
--enable-xfsctl \
--enable-xfsctl \
%if "%{name}" != "qemu-testsuite"
@ -833,7 +894,7 @@ for conf in default-configs/*-softmmu.mak; do
done
# Compile the QOM test binary first, so that ...
make tests/qom-test %{?_smp_mflags} V=1
make tests/qom-test %{?_smp_mflags} V=1
# ... make comes in fresh and has lots of address space (needed for 32bit, bsc#957379)
%if 0%{?suse_version} >= 1310
make check-report.html V=1
@ -931,6 +992,9 @@ install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_udevrulesdir}/80-qemu-ga.rules
%if 0%{?with_systemd}
install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service
install -D -p -m 0644 %{SOURCE9} %{buildroot}%{_unitdir}/qemu-ga.service
%ifarch s390x
install -D -m 0644 %{SOURCE10} %{buildroot}%{_libexecdir}/modules-load.d/kvm.conf
%endif
%endif
%fdupes -s $RPM_BUILD_ROOT
@ -955,17 +1019,20 @@ install -D -m 644 check-report.xml %{buildroot}%{_datadir}/qemu/check-report.xml
%if %{kvm_available}
%post
# Do not execute operations affecting host devices while running in a chroot
if [ $(stat -L -c "%i" /proc/1/root/) = $(stat -L -c "%i" /) ]; then
setfacl --remove-all /dev/kvm &> /dev/null || :
%if 0%{?with_systemd}
%udev_rules_update
%udev_rules_update
%_bindir/udevadm trigger || :
%else
if [ "$(readlink -f /proc/1/root)" = "/" ]; then
/sbin/udevadm control --reload-rules || :
/sbin/udevadm trigger || :
fi
%endif
%ifarch s390x
sysctl vm.allocate_pgste=1
sysctl vm.allocate_pgste=1 || :
%endif
fi
%endif
%if 0%{?suse_version} >= 1130
@ -1029,6 +1096,9 @@ fi
%endif
%ifarch s390x
%{_sysconfdir}/sysctl.d/50-allow-kvm-on-s390x
%if 0%{?with_systemd}
%_libexecdir/modules-load.d/kvm.conf
%endif
%endif
%endif
@ -1115,12 +1185,19 @@ fi
%_libdir/%name/block-gluster.so
%endif
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
%files block-iscsi
%defattr(-, root, root)
%_libdir/%name/block-iscsi.so
%endif
%if 0%{?with_rbd}
%files block-rbd
%defattr(-, root, root)
%dir %_libdir/%name
%_libdir/%name/block-rbd.so
%endif
%if 0%{?suse_version} > 1140
%files block-ssh
%defattr(-, root, root)
@ -1178,7 +1255,7 @@ fi
%_bindir/qemu-nbd
%_bindir/virtfs-proxy-helper
#%_bindir/vscclient
%verify(not mode) %_libexecdir/qemu-bridge-helper
%verify(not mode) %attr(4750,root,kvm) %_libexecdir/qemu-bridge-helper
%dir %_sysconfdir/%name
%config %_sysconfdir/%name/bridge.conf
%dir %_libdir/%name