Accepting request 230824 from Virtualization
Update to v2.0.0 final OBS-URL: https://build.opensuse.org/request/show/230824 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/qemu?expand=0&rev=95
This commit is contained in:
commit
a9f116bb6a
@ -1,4 +1,4 @@
|
|||||||
From c405d94cadd2702967b7640c292dba4235be31bc Mon Sep 17 00:00:00 2001
|
From afd1df16c2e7b2dd5d4478f2ba6e29a1296c8cfa Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Mon, 21 Nov 2011 23:50:36 +0100
|
Date: Mon, 21 Nov 2011 23:50:36 +0100
|
||||||
Subject: [PATCH] XXX dont dump core on sigabort
|
Subject: [PATCH] XXX dont dump core on sigabort
|
||||||
@ -8,10 +8,10 @@ Subject: [PATCH] XXX dont dump core on sigabort
|
|||||||
1 file changed, 6 insertions(+)
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
diff --git a/linux-user/signal.c b/linux-user/signal.c
|
diff --git a/linux-user/signal.c b/linux-user/signal.c
|
||||||
index 24c91f3..847fa7c 100644
|
index 7d6246f..1bcf16f 100644
|
||||||
--- a/linux-user/signal.c
|
--- a/linux-user/signal.c
|
||||||
+++ b/linux-user/signal.c
|
+++ b/linux-user/signal.c
|
||||||
@@ -399,6 +399,10 @@ static void QEMU_NORETURN force_sig(int target_sig)
|
@@ -448,6 +448,10 @@ static void QEMU_NORETURN force_sig(int target_sig)
|
||||||
host_sig = target_to_host_signal(target_sig);
|
host_sig = target_to_host_signal(target_sig);
|
||||||
gdb_signalled(env, target_sig);
|
gdb_signalled(env, target_sig);
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ index 24c91f3..847fa7c 100644
|
|||||||
/* dump core if supported by target binary format */
|
/* dump core if supported by target binary format */
|
||||||
if (core_dump_signal(target_sig) && (ts->bprm->core_dump != NULL)) {
|
if (core_dump_signal(target_sig) && (ts->bprm->core_dump != NULL)) {
|
||||||
stop_all_tasks();
|
stop_all_tasks();
|
||||||
@@ -416,6 +420,8 @@ static void QEMU_NORETURN force_sig(int target_sig)
|
@@ -465,6 +469,8 @@ static void QEMU_NORETURN force_sig(int target_sig)
|
||||||
target_sig, strsignal(host_sig), "core dumped" );
|
target_sig, strsignal(host_sig), "core dumped" );
|
||||||
}
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From cd46303ab0b8bfe23f73bb14880d8e6c57e66080 Mon Sep 17 00:00:00 2001
|
From e9ce5f593385ed16e456058d1f873e381c9d053d Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Thu, 1 Dec 2011 19:00:01 +0100
|
Date: Thu, 1 Dec 2011 19:00:01 +0100
|
||||||
Subject: [PATCH] XXX work around SA_RESTART race with boehm-gc (ARM only)
|
Subject: [PATCH] XXX work around SA_RESTART race with boehm-gc (ARM only)
|
||||||
@ -49,10 +49,10 @@ index af924dc..c7423e6 100644
|
|||||||
} else {
|
} else {
|
||||||
goto error;
|
goto error;
|
||||||
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
|
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
|
||||||
index c2f74f3..c6366c2 100644
|
index 36d4a73..a2c4e35 100644
|
||||||
--- a/linux-user/qemu.h
|
--- a/linux-user/qemu.h
|
||||||
+++ b/linux-user/qemu.h
|
+++ b/linux-user/qemu.h
|
||||||
@@ -133,6 +133,8 @@ typedef struct TaskState {
|
@@ -134,6 +134,8 @@ typedef struct TaskState {
|
||||||
struct sigqueue sigqueue_table[MAX_SIGQUEUE_SIZE]; /* siginfo queue */
|
struct sigqueue sigqueue_table[MAX_SIGQUEUE_SIZE]; /* siginfo queue */
|
||||||
struct sigqueue *first_free; /* first free siginfo queue entry */
|
struct sigqueue *first_free; /* first free siginfo queue entry */
|
||||||
int signal_pending; /* non zero if a signal may be pending */
|
int signal_pending; /* non zero if a signal may be pending */
|
||||||
@ -61,7 +61,7 @@ index c2f74f3..c6366c2 100644
|
|||||||
} __attribute__((aligned(16))) TaskState;
|
} __attribute__((aligned(16))) TaskState;
|
||||||
|
|
||||||
extern char *exec_path;
|
extern char *exec_path;
|
||||||
@@ -198,6 +200,7 @@ int get_osversion(void);
|
@@ -199,6 +201,7 @@ int get_osversion(void);
|
||||||
void init_qemu_uname_release(void);
|
void init_qemu_uname_release(void);
|
||||||
void fork_start(void);
|
void fork_start(void);
|
||||||
void fork_end(int child);
|
void fork_end(int child);
|
||||||
@ -70,7 +70,7 @@ index c2f74f3..c6366c2 100644
|
|||||||
/* Creates the initial guest address space in the host memory space using
|
/* Creates the initial guest address space in the host memory space using
|
||||||
* the given host start address hint and size. The guest_start parameter
|
* the given host start address hint and size. The guest_start parameter
|
||||||
diff --git a/linux-user/signal.c b/linux-user/signal.c
|
diff --git a/linux-user/signal.c b/linux-user/signal.c
|
||||||
index 847fa7c..fef10bc 100644
|
index 1bcf16f..cfaf501 100644
|
||||||
--- a/linux-user/signal.c
|
--- a/linux-user/signal.c
|
||||||
+++ b/linux-user/signal.c
|
+++ b/linux-user/signal.c
|
||||||
@@ -25,6 +25,7 @@
|
@@ -25,6 +25,7 @@
|
||||||
@ -81,7 +81,7 @@ index 847fa7c..fef10bc 100644
|
|||||||
|
|
||||||
#include "qemu.h"
|
#include "qemu.h"
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
@@ -509,6 +510,11 @@ int queue_signal(CPUArchState *env, int sig, target_siginfo_t *info)
|
@@ -571,6 +572,11 @@ int queue_signal(CPUArchState *env, int sig, target_siginfo_t *info)
|
||||||
k->pending = 1;
|
k->pending = 1;
|
||||||
/* signal that a new signal is pending */
|
/* signal that a new signal is pending */
|
||||||
ts->signal_pending = 1;
|
ts->signal_pending = 1;
|
||||||
@ -93,7 +93,7 @@ index 847fa7c..fef10bc 100644
|
|||||||
return 1; /* indicates that the signal was queued */
|
return 1; /* indicates that the signal was queued */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -644,8 +650,24 @@ int do_sigaction(int sig, const struct target_sigaction *act,
|
@@ -706,8 +712,24 @@ int do_sigaction(int sig, const struct target_sigaction *act,
|
||||||
if (host_sig != SIGSEGV && host_sig != SIGBUS) {
|
if (host_sig != SIGSEGV && host_sig != SIGBUS) {
|
||||||
sigfillset(&act1.sa_mask);
|
sigfillset(&act1.sa_mask);
|
||||||
act1.sa_flags = SA_SIGINFO;
|
act1.sa_flags = SA_SIGINFO;
|
||||||
@ -119,10 +119,10 @@ index 847fa7c..fef10bc 100644
|
|||||||
ignore state to avoid getting unexpected interrupted
|
ignore state to avoid getting unexpected interrupted
|
||||||
syscalls */
|
syscalls */
|
||||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||||
index ffc11de..c193397 100644
|
index 9864813..1d791a3 100644
|
||||||
--- a/linux-user/syscall.c
|
--- a/linux-user/syscall.c
|
||||||
+++ b/linux-user/syscall.c
|
+++ b/linux-user/syscall.c
|
||||||
@@ -5215,6 +5215,87 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
|
@@ -5259,6 +5259,87 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
|
||||||
return get_errno(open(path(pathname), flags, mode));
|
return get_errno(open(path(pathname), flags, mode));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -210,7 +210,7 @@ index ffc11de..c193397 100644
|
|||||||
/* do_syscall() should always have a single exit point at the end so
|
/* do_syscall() should always have a single exit point at the end so
|
||||||
that actions, such as logging of syscall results, can be performed.
|
that actions, such as logging of syscall results, can be performed.
|
||||||
All errnos that do_syscall() returns must be -TARGET_<errcode>. */
|
All errnos that do_syscall() returns must be -TARGET_<errcode>. */
|
||||||
@@ -5228,6 +5309,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
@@ -5272,6 +5353,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||||
struct stat st;
|
struct stat st;
|
||||||
struct statfs stfs;
|
struct statfs stfs;
|
||||||
void *p;
|
void *p;
|
||||||
@ -223,7 +223,7 @@ index ffc11de..c193397 100644
|
|||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
gemu_log("syscall %d", num);
|
gemu_log("syscall %d", num);
|
||||||
@@ -8347,7 +8434,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
@@ -8457,7 +8544,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||||
cmd = target_to_host_fcntl_cmd(arg2);
|
cmd = target_to_host_fcntl_cmd(arg2);
|
||||||
if (cmd == -TARGET_EINVAL) {
|
if (cmd == -TARGET_EINVAL) {
|
||||||
ret = cmd;
|
ret = cmd;
|
||||||
@ -232,7 +232,7 @@ index ffc11de..c193397 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch(arg2) {
|
switch(arg2) {
|
||||||
@@ -9284,6 +9371,7 @@ fail:
|
@@ -9395,6 +9482,7 @@ fail:
|
||||||
#endif
|
#endif
|
||||||
if(do_strace)
|
if(do_strace)
|
||||||
print_syscall_ret(num, ret);
|
print_syscall_ret(num, ret);
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
From 357a1297e68bd36fc75d1c7d0cdd0f7293bba4e0 Mon Sep 17 00:00:00 2001
|
From b34c0c408d3f08110ccb980d4ca0ef58a1a03c86 Mon Sep 17 00:00:00 2001
|
||||||
From: Ulrich Hecht <uli@suse.de>
|
From: Ulrich Hecht <uli@suse.de>
|
||||||
Date: Tue, 14 Apr 2009 16:18:44 +0200
|
Date: Tue, 14 Apr 2009 16:18:44 +0200
|
||||||
Subject: [PATCH] qemu-0.9.0.cvs-binfmt
|
Subject: [PATCH] qemu-0.9.0.cvs-binfmt
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
Fixes binfmt_misc setup script:
|
Fixes binfmt_misc setup script:
|
||||||
- x86_64 is i386-compatible
|
- x86_64 is i386-compatible
|
||||||
@ -9,15 +12,17 @@ Fixes binfmt_misc setup script:
|
|||||||
- path to QEMU
|
- path to QEMU
|
||||||
|
|
||||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||||
|
[AF: Update path for qemu-aarch64 for v2.0.0-rc1]
|
||||||
|
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||||
---
|
---
|
||||||
scripts/qemu-binfmt-conf.sh | 37 ++++++++++++++++++++-----------------
|
scripts/qemu-binfmt-conf.sh | 39 +++++++++++++++++++++------------------
|
||||||
1 file changed, 20 insertions(+), 17 deletions(-)
|
1 file changed, 21 insertions(+), 18 deletions(-)
|
||||||
|
|
||||||
diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
|
diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
|
||||||
index 0da2618..dc652f0 100644
|
index 289b1a3..75e0526 100644
|
||||||
--- a/scripts/qemu-binfmt-conf.sh
|
--- a/scripts/qemu-binfmt-conf.sh
|
||||||
+++ b/scripts/qemu-binfmt-conf.sh
|
+++ b/scripts/qemu-binfmt-conf.sh
|
||||||
@@ -27,43 +27,46 @@ case "$cpu" in
|
@@ -27,46 +27,49 @@ case "$cpu" in
|
||||||
armv[4-9]*)
|
armv[4-9]*)
|
||||||
cpu="arm"
|
cpu="arm"
|
||||||
;;
|
;;
|
||||||
@ -42,6 +47,10 @@ index 0da2618..dc652f0 100644
|
|||||||
- echo ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-armeb:' > /proc/sys/fs/binfmt_misc/register
|
- echo ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-armeb:' > /proc/sys/fs/binfmt_misc/register
|
||||||
+ echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm:' > /proc/sys/fs/binfmt_misc/register
|
+ echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm:' > /proc/sys/fs/binfmt_misc/register
|
||||||
+ echo ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb:' > /proc/sys/fs/binfmt_misc/register
|
+ echo ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb:' > /proc/sys/fs/binfmt_misc/register
|
||||||
|
fi
|
||||||
|
if [ $cpu != "aarch64" ] ; then
|
||||||
|
- echo ':aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-aarch64:' > /proc/sys/fs/binfmt_misc/register
|
||||||
|
+ echo ':aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-aarch64:' > /proc/sys/fs/binfmt_misc/register
|
||||||
fi
|
fi
|
||||||
if [ $cpu != "sparc" ] ; then
|
if [ $cpu != "sparc" ] ; then
|
||||||
- echo ':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-sparc:' > /proc/sys/fs/binfmt_misc/register
|
- echo ':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-sparc:' > /proc/sys/fs/binfmt_misc/register
|
@ -1,4 +1,4 @@
|
|||||||
From eae7841334a0a53ff4b4b485f13ca6f7c830ae02 Mon Sep 17 00:00:00 2001
|
From 08da583bd034109d09bfa6fedaa19bd0bdbc6c3a Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Tue, 14 Apr 2009 16:20:50 +0200
|
Date: Tue, 14 Apr 2009 16:20:50 +0200
|
||||||
Subject: [PATCH] qemu-cvs-alsa_bitfield
|
Subject: [PATCH] qemu-cvs-alsa_bitfield
|
@ -1,4 +1,4 @@
|
|||||||
From bcfb81675b318fa9a83d49be6e194894d2bb1131 Mon Sep 17 00:00:00 2001
|
From 4820daf43dce7bbafc27ab1102a6eb52a17e4da9 Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Tue, 14 Apr 2009 16:23:27 +0200
|
Date: Tue, 14 Apr 2009 16:23:27 +0200
|
||||||
Subject: [PATCH] qemu-cvs-alsa_ioctl
|
Subject: [PATCH] qemu-cvs-alsa_ioctl
|
||||||
@ -2255,10 +2255,10 @@ index 0000000..e09a30d
|
|||||||
+ unsigned char *code;
|
+ unsigned char *code;
|
||||||
+};
|
+};
|
||||||
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
||||||
index 732c9e3..84094ab 100644
|
index fdf9a47..a2ac23e 100644
|
||||||
--- a/linux-user/syscall_defs.h
|
--- a/linux-user/syscall_defs.h
|
||||||
+++ b/linux-user/syscall_defs.h
|
+++ b/linux-user/syscall_defs.h
|
||||||
@@ -2538,6 +2538,8 @@ struct target_ucred {
|
@@ -2545,6 +2545,8 @@ struct target_ucred {
|
||||||
uint32_t gid;
|
uint32_t gid;
|
||||||
};
|
};
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From 6767f4a5d5336071a032e7aeec1b07d4dc412225 Mon Sep 17 00:00:00 2001
|
From b1f94337048b56d240420c0d0a37ad061084904c Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Tue, 14 Apr 2009 16:24:15 +0200
|
Date: Tue, 14 Apr 2009 16:24:15 +0200
|
||||||
Subject: [PATCH] qemu-cvs-alsa_mmap
|
Subject: [PATCH] qemu-cvs-alsa_mmap
|
@ -1,4 +1,4 @@
|
|||||||
From 2ab8ba594caa75e869d684576cb76b7cf47d3a4e Mon Sep 17 00:00:00 2001
|
From 2a9ed81b68696702c3dfab0e3635ca1a7afe1ea4 Mon Sep 17 00:00:00 2001
|
||||||
From: Ulrich Hecht <uli@suse.de>
|
From: Ulrich Hecht <uli@suse.de>
|
||||||
Date: Tue, 14 Apr 2009 16:25:41 +0200
|
Date: Tue, 14 Apr 2009 16:25:41 +0200
|
||||||
Subject: [PATCH] qemu-cvs-gettimeofday
|
Subject: [PATCH] qemu-cvs-gettimeofday
|
||||||
@ -9,10 +9,10 @@ No clue what this is for.
|
|||||||
1 file changed, 2 insertions(+)
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||||
index c193397..98c12bb 100644
|
index 1d791a3..206dd12 100644
|
||||||
--- a/linux-user/syscall.c
|
--- a/linux-user/syscall.c
|
||||||
+++ b/linux-user/syscall.c
|
+++ b/linux-user/syscall.c
|
||||||
@@ -6359,6 +6359,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
@@ -6403,6 +6403,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||||
case TARGET_NR_gettimeofday:
|
case TARGET_NR_gettimeofday:
|
||||||
{
|
{
|
||||||
struct timeval tv;
|
struct timeval tv;
|
@ -1,4 +1,4 @@
|
|||||||
From ecb044a5ede319e8aea9b95e2a32f04bc9842602 Mon Sep 17 00:00:00 2001
|
From 9671d1a0e8e53a44513131d105c0f543c181cc0f Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Tue, 14 Apr 2009 16:26:33 +0200
|
Date: Tue, 14 Apr 2009 16:26:33 +0200
|
||||||
Subject: [PATCH] qemu-cvs-ioctl_debug
|
Subject: [PATCH] qemu-cvs-ioctl_debug
|
||||||
@ -12,10 +12,10 @@ Signed-off-by: Ulrich Hecht <uli@suse.de>
|
|||||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||||
index 98c12bb..312b7d6 100644
|
index 206dd12..3407fd7 100644
|
||||||
--- a/linux-user/syscall.c
|
--- a/linux-user/syscall.c
|
||||||
+++ b/linux-user/syscall.c
|
+++ b/linux-user/syscall.c
|
||||||
@@ -3646,7 +3646,12 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
|
@@ -3654,7 +3654,12 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
|
||||||
ie = ioctl_entries;
|
ie = ioctl_entries;
|
||||||
for(;;) {
|
for(;;) {
|
||||||
if (ie->target_cmd == 0) {
|
if (ie->target_cmd == 0) {
|
@ -1,4 +1,4 @@
|
|||||||
From 021f44a22b1c6121805fe175d97da6d4d43abd45 Mon Sep 17 00:00:00 2001
|
From a535f471a344608107dce681f66a75b38f9e8441 Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Tue, 14 Apr 2009 16:27:36 +0200
|
Date: Tue, 14 Apr 2009 16:27:36 +0200
|
||||||
Subject: [PATCH] qemu-cvs-ioctl_nodirection
|
Subject: [PATCH] qemu-cvs-ioctl_nodirection
|
||||||
@ -15,10 +15,10 @@ Signed-off-by: Ulrich Hecht <uli@suse.de>
|
|||||||
1 file changed, 6 insertions(+)
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||||
index 312b7d6..78a2fe7 100644
|
index 3407fd7..7d7d700 100644
|
||||||
--- a/linux-user/syscall.c
|
--- a/linux-user/syscall.c
|
||||||
+++ b/linux-user/syscall.c
|
+++ b/linux-user/syscall.c
|
||||||
@@ -3680,6 +3680,11 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
|
@@ -3688,6 +3688,11 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
|
||||||
arg_type++;
|
arg_type++;
|
||||||
target_size = thunk_type_size(arg_type, 0);
|
target_size = thunk_type_size(arg_type, 0);
|
||||||
switch(ie->access) {
|
switch(ie->access) {
|
||||||
@ -30,7 +30,7 @@ index 312b7d6..78a2fe7 100644
|
|||||||
case IOC_R:
|
case IOC_R:
|
||||||
ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
|
ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
|
||||||
if (!is_error(ret)) {
|
if (!is_error(ret)) {
|
||||||
@@ -3698,6 +3703,7 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
|
@@ -3706,6 +3711,7 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
|
||||||
unlock_user(argptr, arg, 0);
|
unlock_user(argptr, arg, 0);
|
||||||
ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
|
ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
|
||||||
break;
|
break;
|
@ -1,4 +1,4 @@
|
|||||||
From f22c4c2cc220f6b074ac6a4d6c6d8911b6148ed8 Mon Sep 17 00:00:00 2001
|
From a96062c693f9fa9ce4d0dd23c9cfc8816b0eacce Mon Sep 17 00:00:00 2001
|
||||||
From: Ulrich Hecht <uli@suse.de>
|
From: Ulrich Hecht <uli@suse.de>
|
||||||
Date: Tue, 14 Apr 2009 16:37:42 +0200
|
Date: Tue, 14 Apr 2009 16:37:42 +0200
|
||||||
Subject: [PATCH] block/vmdk: Support creation of SCSI VMDK images in qemu-img
|
Subject: [PATCH] block/vmdk: Support creation of SCSI VMDK images in qemu-img
|
||||||
@ -20,10 +20,10 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
|
|||||||
4 files changed, 22 insertions(+), 3 deletions(-)
|
4 files changed, 22 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
diff --git a/block.c b/block.c
|
diff --git a/block.c b/block.c
|
||||||
index fae50c9..7cb6098 100644
|
index 990a754..40c5c84 100644
|
||||||
--- a/block.c
|
--- a/block.c
|
||||||
+++ b/block.c
|
+++ b/block.c
|
||||||
@@ -5237,7 +5237,7 @@ void bdrv_img_create(const char *filename, const char *fmt,
|
@@ -5277,7 +5277,7 @@ void bdrv_img_create(const char *filename, const char *fmt,
|
||||||
Error **errp, bool quiet)
|
Error **errp, bool quiet)
|
||||||
{
|
{
|
||||||
QEMUOptionParameter *param = NULL, *create_options = NULL;
|
QEMUOptionParameter *param = NULL, *create_options = NULL;
|
||||||
@ -32,7 +32,7 @@ index fae50c9..7cb6098 100644
|
|||||||
BlockDriver *drv, *proto_drv;
|
BlockDriver *drv, *proto_drv;
|
||||||
BlockDriver *backing_drv = NULL;
|
BlockDriver *backing_drv = NULL;
|
||||||
Error *local_err = NULL;
|
Error *local_err = NULL;
|
||||||
@@ -5352,6 +5352,10 @@ void bdrv_img_create(const char *filename, const char *fmt,
|
@@ -5392,6 +5392,10 @@ void bdrv_img_create(const char *filename, const char *fmt,
|
||||||
if (!quiet) {
|
if (!quiet) {
|
||||||
printf("Formatting '%s', fmt=%s ", filename, fmt);
|
printf("Formatting '%s', fmt=%s ", filename, fmt);
|
||||||
print_option_parameters(param);
|
print_option_parameters(param);
|
||||||
@ -75,7 +75,7 @@ index b69988d..59c468d 100644
|
|||||||
};
|
};
|
||||||
|
|
||||||
diff --git a/include/block/block_int.h b/include/block/block_int.h
|
diff --git a/include/block/block_int.h b/include/block/block_int.h
|
||||||
index 4fc5ea8..ae28f01 100644
|
index cd5bc73..0d4208f 100644
|
||||||
--- a/include/block/block_int.h
|
--- a/include/block/block_int.h
|
||||||
+++ b/include/block/block_int.h
|
+++ b/include/block/block_int.h
|
||||||
@@ -40,10 +40,12 @@
|
@@ -40,10 +40,12 @@
|
||||||
@ -92,7 +92,7 @@ index 4fc5ea8..ae28f01 100644
|
|||||||
#define BLOCK_OPT_BACKING_FMT "backing_fmt"
|
#define BLOCK_OPT_BACKING_FMT "backing_fmt"
|
||||||
#define BLOCK_OPT_CLUSTER_SIZE "cluster_size"
|
#define BLOCK_OPT_CLUSTER_SIZE "cluster_size"
|
||||||
diff --git a/qemu-img.c b/qemu-img.c
|
diff --git a/qemu-img.c b/qemu-img.c
|
||||||
index 2e40cc1..fc4888d 100644
|
index 8455994..a8545b7 100644
|
||||||
--- a/qemu-img.c
|
--- a/qemu-img.c
|
||||||
+++ b/qemu-img.c
|
+++ b/qemu-img.c
|
||||||
@@ -1154,7 +1154,7 @@ static int img_convert(int argc, char **argv)
|
@@ -1154,7 +1154,7 @@ static int img_convert(int argc, char **argv)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From ef95f78ca9897bcc1bfcad76698344c2845afdfb Mon Sep 17 00:00:00 2001
|
From 99a52830916b325a52d7eac1abb979d525229fc4 Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Fri, 30 Sep 2011 19:40:36 +0200
|
Date: Fri, 30 Sep 2011 19:40:36 +0200
|
||||||
Subject: [PATCH] linux-user: add binfmt wrapper for argv[0] handling
|
Subject: [PATCH] linux-user: add binfmt wrapper for argv[0] handling
|
||||||
@ -25,13 +25,14 @@ we're currently creating a new binary for each target archictecture.
|
|||||||
CC: Reinhard Max <max@suse.de>
|
CC: Reinhard Max <max@suse.de>
|
||||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||||
[AF: Rebased onto new Makefile infrastructure, twice]
|
[AF: Rebased onto new Makefile infrastructure, twice]
|
||||||
|
[AF: Updated for aarch64 for v2.0.0-rc1]
|
||||||
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||||
---
|
---
|
||||||
Makefile.target | 13 +++++++++++++
|
Makefile.target | 13 +++++++++++++
|
||||||
linux-user/Makefile.objs | 2 ++
|
linux-user/Makefile.objs | 2 ++
|
||||||
linux-user/binfmt.c | 42 ++++++++++++++++++++++++++++++++++++++++++
|
linux-user/binfmt.c | 42 ++++++++++++++++++++++++++++++++++++++++++
|
||||||
scripts/qemu-binfmt-conf.sh | 34 +++++++++++++++++-----------------
|
scripts/qemu-binfmt-conf.sh | 36 ++++++++++++++++++------------------
|
||||||
4 files changed, 74 insertions(+), 17 deletions(-)
|
4 files changed, 75 insertions(+), 18 deletions(-)
|
||||||
create mode 100644 linux-user/binfmt.c
|
create mode 100644 linux-user/binfmt.c
|
||||||
|
|
||||||
diff --git a/Makefile.target b/Makefile.target
|
diff --git a/Makefile.target b/Makefile.target
|
||||||
@ -139,10 +140,10 @@ index 0000000..cd1f513
|
|||||||
+ return execve(new_argv[0], new_argv, envp);
|
+ return execve(new_argv[0], new_argv, envp);
|
||||||
+}
|
+}
|
||||||
diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
|
diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
|
||||||
index dc652f0..37d03f3 100644
|
index 75e0526..557dd2c 100644
|
||||||
--- a/scripts/qemu-binfmt-conf.sh
|
--- a/scripts/qemu-binfmt-conf.sh
|
||||||
+++ b/scripts/qemu-binfmt-conf.sh
|
+++ b/scripts/qemu-binfmt-conf.sh
|
||||||
@@ -34,39 +34,39 @@ esac
|
@@ -34,42 +34,42 @@ esac
|
||||||
|
|
||||||
# register the interpreter for each cpu except for the native one
|
# register the interpreter for each cpu except for the native one
|
||||||
if [ $cpu != "i386" ] ; then
|
if [ $cpu != "i386" ] ; then
|
||||||
@ -160,6 +161,10 @@ index dc652f0..37d03f3 100644
|
|||||||
- echo ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb:' > /proc/sys/fs/binfmt_misc/register
|
- echo ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb:' > /proc/sys/fs/binfmt_misc/register
|
||||||
+ echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-binfmt:P' > /proc/sys/fs/binfmt_misc/register
|
+ echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-binfmt:P' > /proc/sys/fs/binfmt_misc/register
|
||||||
+ echo ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb-binfmt:P' > /proc/sys/fs/binfmt_misc/register
|
+ echo ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb-binfmt:P' > /proc/sys/fs/binfmt_misc/register
|
||||||
|
fi
|
||||||
|
if [ $cpu != "aarch64" ] ; then
|
||||||
|
- echo ':aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-aarch64:' > /proc/sys/fs/binfmt_misc/register
|
||||||
|
+ echo ':aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-aarch64-binfmt:P' > /proc/sys/fs/binfmt_misc/register
|
||||||
fi
|
fi
|
||||||
if [ $cpu != "sparc" ] ; then
|
if [ $cpu != "sparc" ] ; then
|
||||||
- echo ':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sparc:' > /proc/sys/fs/binfmt_misc/register
|
- echo ':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sparc:' > /proc/sys/fs/binfmt_misc/register
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 97b1499528c524628f0b0fe03917abb58e41f067 Mon Sep 17 00:00:00 2001
|
From 9ceca2f2c25c99e930d31ab11c7ff46dd9d43da6 Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Fri, 6 Jan 2012 01:05:55 +0100
|
Date: Fri, 6 Jan 2012 01:05:55 +0100
|
||||||
Subject: [PATCH] PPC: KVM: Disable mmu notifier check
|
Subject: [PATCH] PPC: KVM: Disable mmu notifier check
|
||||||
@ -13,7 +13,7 @@ KVM guests work there, even if possibly racy in some odd circumstances.
|
|||||||
1 file changed, 2 insertions(+)
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
diff --git a/exec.c b/exec.c
|
diff --git a/exec.c b/exec.c
|
||||||
index 6a0bc94..6c2af34 100644
|
index 91513c6..36b5ef6 100644
|
||||||
--- a/exec.c
|
--- a/exec.c
|
||||||
+++ b/exec.c
|
+++ b/exec.c
|
||||||
@@ -1039,10 +1039,12 @@ static void *file_ram_alloc(RAMBlock *block,
|
@@ -1039,10 +1039,12 @@ static void *file_ram_alloc(RAMBlock *block,
|
@ -1,27 +0,0 @@
|
|||||||
From 55bc5fffdd6bc6333591c87f73a32cd2d615765a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alexander Graf <agraf@suse.de>
|
|
||||||
Date: Sun, 11 Dec 2011 01:21:51 +0100
|
|
||||||
Subject: [PATCH] linux-user: be silent about capget failures
|
|
||||||
|
|
||||||
Complaining about capget doesn't buy us anything, but makes %check
|
|
||||||
fail in certain builds. So better not complain about its missing
|
|
||||||
implementation and go on with life :)
|
|
||||||
|
|
||||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
|
||||||
---
|
|
||||||
linux-user/syscall.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
|
||||||
index 78a2fe7..aa9fd3a 100644
|
|
||||||
--- a/linux-user/syscall.c
|
|
||||||
+++ b/linux-user/syscall.c
|
|
||||||
@@ -7741,7 +7741,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
|
||||||
unlock_user(p, arg1, ret);
|
|
||||||
break;
|
|
||||||
case TARGET_NR_capget:
|
|
||||||
- goto unimplemented;
|
|
||||||
+ goto unimplemented_nowarn;
|
|
||||||
case TARGET_NR_capset:
|
|
||||||
goto unimplemented;
|
|
||||||
case TARGET_NR_sigaltstack:
|
|
@ -1,4 +1,4 @@
|
|||||||
From 0e23bd461d077e553b7be5e8d192ca400f4ffbdf Mon Sep 17 00:00:00 2001
|
From c8bac440eee7d3377d27c676dfa6034ea059451c Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Fri, 13 Jan 2012 17:05:41 +0100
|
Date: Fri, 13 Jan 2012 17:05:41 +0100
|
||||||
Subject: [PATCH] linux-user: fix segfault deadlock
|
Subject: [PATCH] linux-user: fix segfault deadlock
|
@ -1,4 +1,4 @@
|
|||||||
From 88203441776c0269c998530c3322ba3827e66e57 Mon Sep 17 00:00:00 2001
|
From ae7b4452a263d662035eb35c14fe84590bfff364 Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Thu, 2 Feb 2012 18:02:33 +0100
|
Date: Thu, 2 Feb 2012 18:02:33 +0100
|
||||||
Subject: [PATCH] linux-user: binfmt: support host binaries
|
Subject: [PATCH] linux-user: binfmt: support host binaries
|
@ -1,4 +1,4 @@
|
|||||||
From a773a6d801482a3fb8a7a51f82dc22b470ab8a10 Mon Sep 17 00:00:00 2001
|
From bc949bb060b7f52ee5da9ef34e06bb12ba202726 Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Tue, 29 May 2012 15:30:01 +0200
|
Date: Tue, 29 May 2012 15:30:01 +0200
|
||||||
Subject: [PATCH] linux-user: arm: no tb_flush on reset
|
Subject: [PATCH] linux-user: arm: no tb_flush on reset
|
@ -1,4 +1,4 @@
|
|||||||
From 1a62d47ce18d5798fcfc9d576ac4805015806299 Mon Sep 17 00:00:00 2001
|
From 9414e435edf0bdf2341c8e69e81e6f42cd73aca4 Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Tue, 12 Jun 2012 04:41:10 +0200
|
Date: Tue, 12 Jun 2012 04:41:10 +0200
|
||||||
Subject: [PATCH] linux-user: Ignore broken loop ioctl
|
Subject: [PATCH] linux-user: Ignore broken loop ioctl
|
||||||
@ -41,10 +41,10 @@ index 8974caa..810ae61 100644
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||||
index aa9fd3a..32bbd5d 100644
|
index 7d7d700..4823aa0 100644
|
||||||
--- a/linux-user/syscall.c
|
--- a/linux-user/syscall.c
|
||||||
+++ b/linux-user/syscall.c
|
+++ b/linux-user/syscall.c
|
||||||
@@ -3623,6 +3623,13 @@ static abi_long do_ioctl_rt(const IOCTLEntry *ie, uint8_t *buf_temp,
|
@@ -3631,6 +3631,13 @@ static abi_long do_ioctl_rt(const IOCTLEntry *ie, uint8_t *buf_temp,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ index aa9fd3a..32bbd5d 100644
|
|||||||
#define IOCTL(cmd, access, ...) \
|
#define IOCTL(cmd, access, ...) \
|
||||||
{ TARGET_ ## cmd, cmd, #cmd, access, 0, { __VA_ARGS__ } },
|
{ TARGET_ ## cmd, cmd, #cmd, access, 0, { __VA_ARGS__ } },
|
||||||
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
||||||
index 84094ab..668076f 100644
|
index a2ac23e..dd6d041 100644
|
||||||
--- a/linux-user/syscall_defs.h
|
--- a/linux-user/syscall_defs.h
|
||||||
+++ b/linux-user/syscall_defs.h
|
+++ b/linux-user/syscall_defs.h
|
||||||
@@ -1044,6 +1044,7 @@ struct target_pollfd {
|
@@ -1044,6 +1044,7 @@ struct target_pollfd {
|
@ -1,4 +1,4 @@
|
|||||||
From 24525af3bf864f4849101f4506c896d5703aadec Mon Sep 17 00:00:00 2001
|
From c06014909fc303dffb38e62943d88c4ba9f8da31 Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Thu, 5 Jul 2012 17:31:39 +0200
|
Date: Thu, 5 Jul 2012 17:31:39 +0200
|
||||||
Subject: [PATCH] linux-user: lock tcg
|
Subject: [PATCH] linux-user: lock tcg
|
@ -1,4 +1,4 @@
|
|||||||
From 6744a839307d7553ef959d564ae820eb8a400a48 Mon Sep 17 00:00:00 2001
|
From ca45f1d446ca88675e85bf80f133d3d8d955dbf0 Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Tue, 10 Jul 2012 20:40:55 +0200
|
Date: Tue, 10 Jul 2012 20:40:55 +0200
|
||||||
Subject: [PATCH] linux-user: Run multi-threaded code on a single core
|
Subject: [PATCH] linux-user: Run multi-threaded code on a single core
|
||||||
@ -19,10 +19,10 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
|
|||||||
1 file changed, 9 insertions(+)
|
1 file changed, 9 insertions(+)
|
||||||
|
|
||||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||||
index 32bbd5d..15ac71c 100644
|
index 4823aa0..ff5ed06 100644
|
||||||
--- a/linux-user/syscall.c
|
--- a/linux-user/syscall.c
|
||||||
+++ b/linux-user/syscall.c
|
+++ b/linux-user/syscall.c
|
||||||
@@ -4326,6 +4326,15 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
|
@@ -4334,6 +4334,15 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
|
||||||
if (nptl_flags & CLONE_SETTLS)
|
if (nptl_flags & CLONE_SETTLS)
|
||||||
cpu_set_tls (new_env, newtls);
|
cpu_set_tls (new_env, newtls);
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From c4a6baf3d9eaa1d62daf4e3ab69f46f7fce9f294 Mon Sep 17 00:00:00 2001
|
From cba80a9dc1f00c65320122f6a9afe95cbf12fbab Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Wed, 11 Jul 2012 16:47:42 +0200
|
Date: Wed, 11 Jul 2012 16:47:42 +0200
|
||||||
Subject: [PATCH] linux-user: lock tb flushing too
|
Subject: [PATCH] linux-user: lock tb flushing too
|
||||||
@ -14,7 +14,7 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
|
|||||||
1 file changed, 18 insertions(+), 2 deletions(-)
|
1 file changed, 18 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/translate-all.c b/translate-all.c
|
diff --git a/translate-all.c b/translate-all.c
|
||||||
index f243c10..7067db9 100644
|
index 5759974..1abb87d 100644
|
||||||
--- a/translate-all.c
|
--- a/translate-all.c
|
||||||
+++ b/translate-all.c
|
+++ b/translate-all.c
|
||||||
@@ -619,19 +619,23 @@ static TranslationBlock *tb_alloc(target_ulong pc)
|
@@ -619,19 +619,23 @@ static TranslationBlock *tb_alloc(target_ulong pc)
|
@ -1,4 +1,4 @@
|
|||||||
From 54ace443d26657c878600a9e028240cb65ecfc2d Mon Sep 17 00:00:00 2001
|
From 761b115c27a0f900f519422e4a79573da3632f4a Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Mon, 23 Jul 2012 10:24:14 +0200
|
Date: Mon, 23 Jul 2012 10:24:14 +0200
|
||||||
Subject: [PATCH] linux-user: Fake /proc/cpuinfo
|
Subject: [PATCH] linux-user: Fake /proc/cpuinfo
|
||||||
@ -22,10 +22,10 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
|
|||||||
1 file changed, 20 insertions(+)
|
1 file changed, 20 insertions(+)
|
||||||
|
|
||||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||||
index 15ac71c..f8cbacc 100644
|
index ff5ed06..8a78348 100644
|
||||||
--- a/linux-user/syscall.c
|
--- a/linux-user/syscall.c
|
||||||
+++ b/linux-user/syscall.c
|
+++ b/linux-user/syscall.c
|
||||||
@@ -5092,6 +5092,25 @@ static int open_self_stat(void *cpu_env, int fd)
|
@@ -5136,6 +5136,25 @@ static int open_self_stat(void *cpu_env, int fd)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ index 15ac71c..f8cbacc 100644
|
|||||||
static int open_self_auxv(void *cpu_env, int fd)
|
static int open_self_auxv(void *cpu_env, int fd)
|
||||||
{
|
{
|
||||||
CPUState *cpu = ENV_GET_CPU((CPUArchState *)cpu_env);
|
CPUState *cpu = ENV_GET_CPU((CPUArchState *)cpu_env);
|
||||||
@@ -5205,6 +5224,7 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
|
@@ -5249,6 +5268,7 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
|
||||||
#if defined(HOST_WORDS_BIGENDIAN) != defined(TARGET_WORDS_BIGENDIAN)
|
#if defined(HOST_WORDS_BIGENDIAN) != defined(TARGET_WORDS_BIGENDIAN)
|
||||||
{ "/proc/net/route", open_net_route, is_proc },
|
{ "/proc/net/route", open_net_route, is_proc },
|
||||||
#endif
|
#endif
|
@ -1,4 +1,4 @@
|
|||||||
From 87cf8193d86c579ac8a0546f3645e6e2162f2d84 Mon Sep 17 00:00:00 2001
|
From 36fc0fea8b44e3993088c6b9cab42db36fe1da76 Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Mon, 20 Aug 2012 00:02:52 +0200
|
Date: Mon, 20 Aug 2012 00:02:52 +0200
|
||||||
Subject: [PATCH] linux-user: implement FS_IOC_GETFLAGS ioctl
|
Subject: [PATCH] linux-user: implement FS_IOC_GETFLAGS ioctl
|
||||||
@ -28,10 +28,10 @@ index 2181ea3..a329fb0 100644
|
|||||||
IOCTL(SIOCATMARK, 0, TYPE_NULL)
|
IOCTL(SIOCATMARK, 0, TYPE_NULL)
|
||||||
IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(TYPE_INT))
|
IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(TYPE_INT))
|
||||||
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
||||||
index 668076f..6d7a7cf 100644
|
index dd6d041..2456d5b 100644
|
||||||
--- a/linux-user/syscall_defs.h
|
--- a/linux-user/syscall_defs.h
|
||||||
+++ b/linux-user/syscall_defs.h
|
+++ b/linux-user/syscall_defs.h
|
||||||
@@ -2453,6 +2453,8 @@ struct target_eabi_flock64 {
|
@@ -2460,6 +2460,8 @@ struct target_f_owner_ex {
|
||||||
#define TARGET_MTIOCGET TARGET_IOR('m', 2, struct mtget)
|
#define TARGET_MTIOCGET TARGET_IOR('m', 2, struct mtget)
|
||||||
#define TARGET_MTIOCPOS TARGET_IOR('m', 3, struct mtpos)
|
#define TARGET_MTIOCPOS TARGET_IOR('m', 3, struct mtpos)
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From 3f9f234c01de236ec8f4ae2879142e7bc7f236fa Mon Sep 17 00:00:00 2001
|
From 8c00316b2996d0c2171032e58d7e21fd8af9bee1 Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Mon, 20 Aug 2012 00:07:13 +0200
|
Date: Mon, 20 Aug 2012 00:07:13 +0200
|
||||||
Subject: [PATCH] linux-user: implement FS_IOC_SETFLAGS ioctl
|
Subject: [PATCH] linux-user: implement FS_IOC_SETFLAGS ioctl
|
||||||
@ -28,10 +28,10 @@ index a329fb0..d76575c 100644
|
|||||||
IOCTL(SIOCATMARK, 0, TYPE_NULL)
|
IOCTL(SIOCATMARK, 0, TYPE_NULL)
|
||||||
IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(TYPE_INT))
|
IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(TYPE_INT))
|
||||||
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
||||||
index 6d7a7cf..15827bf 100644
|
index 2456d5b..03863a6 100644
|
||||||
--- a/linux-user/syscall_defs.h
|
--- a/linux-user/syscall_defs.h
|
||||||
+++ b/linux-user/syscall_defs.h
|
+++ b/linux-user/syscall_defs.h
|
||||||
@@ -2454,6 +2454,7 @@ struct target_eabi_flock64 {
|
@@ -2461,6 +2461,7 @@ struct target_f_owner_ex {
|
||||||
#define TARGET_MTIOCPOS TARGET_IOR('m', 3, struct mtpos)
|
#define TARGET_MTIOCPOS TARGET_IOR('m', 3, struct mtpos)
|
||||||
|
|
||||||
#define TARGET_FS_IOC_GETFLAGS TARGET_IORU('f', 1)
|
#define TARGET_FS_IOC_GETFLAGS TARGET_IORU('f', 1)
|
@ -1,4 +1,4 @@
|
|||||||
From 890d2d99454300c53ca6776d097362f186777043 Mon Sep 17 00:00:00 2001
|
From fac2c74e7593b04a4fc45e0d40c06036f60ae75d Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Tue, 21 Aug 2012 14:20:40 +0200
|
Date: Tue, 21 Aug 2012 14:20:40 +0200
|
||||||
Subject: [PATCH] linux-user: XXX disable fiemap
|
Subject: [PATCH] linux-user: XXX disable fiemap
|
||||||
@ -9,10 +9,10 @@ agraf: fiemap breaks in libarchive. Disable it for now.
|
|||||||
1 file changed, 5 insertions(+)
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||||
index f8cbacc..1f80002 100644
|
index 8a78348..28a3d74 100644
|
||||||
--- a/linux-user/syscall.c
|
--- a/linux-user/syscall.c
|
||||||
+++ b/linux-user/syscall.c
|
+++ b/linux-user/syscall.c
|
||||||
@@ -3180,6 +3180,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry *ie, uint8_t *buf_temp,
|
@@ -3188,6 +3188,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry *ie, uint8_t *buf_temp,
|
||||||
uint32_t outbufsz;
|
uint32_t outbufsz;
|
||||||
int free_fm = 0;
|
int free_fm = 0;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From 80c43c4b1cb9a0f1e25bdbf993a882a38af85a1d Mon Sep 17 00:00:00 2001
|
From 871d3d13b54c6ba223b09953c50b762d0404cbec Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
|
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
|
||||||
Date: Wed, 29 Aug 2012 18:42:56 +0200
|
Date: Wed, 29 Aug 2012 18:42:56 +0200
|
||||||
Subject: [PATCH] slirp: -nooutgoing
|
Subject: [PATCH] slirp: -nooutgoing
|
||||||
@ -12,10 +12,10 @@ TBD (from SUSE Studio team)
|
|||||||
4 files changed, 40 insertions(+)
|
4 files changed, 40 insertions(+)
|
||||||
|
|
||||||
diff --git a/qemu-options.hx b/qemu-options.hx
|
diff --git a/qemu-options.hx b/qemu-options.hx
|
||||||
index 068da2d..b40da6c 100644
|
index 2d33815..62a1cfc 100644
|
||||||
--- a/qemu-options.hx
|
--- a/qemu-options.hx
|
||||||
+++ b/qemu-options.hx
|
+++ b/qemu-options.hx
|
||||||
@@ -2590,6 +2590,16 @@ Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
|
@@ -2603,6 +2603,16 @@ Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
|
||||||
from a script.
|
from a script.
|
||||||
ETEXI
|
ETEXI
|
||||||
|
|
||||||
@ -97,10 +97,10 @@ index 7571c5a..0555e18 100644
|
|||||||
socket_set_fast_reuse(s);
|
socket_set_fast_reuse(s);
|
||||||
opt = 1;
|
opt = 1;
|
||||||
diff --git a/vl.c b/vl.c
|
diff --git a/vl.c b/vl.c
|
||||||
index 842e897..192aa7b 100644
|
index 9975e5a..b18c815 100644
|
||||||
--- a/vl.c
|
--- a/vl.c
|
||||||
+++ b/vl.c
|
+++ b/vl.c
|
||||||
@@ -159,6 +159,7 @@ const char *vnc_display;
|
@@ -162,6 +162,7 @@ const char *vnc_display;
|
||||||
int acpi_enabled = 1;
|
int acpi_enabled = 1;
|
||||||
int no_hpet = 0;
|
int no_hpet = 0;
|
||||||
int fd_bootchk = 1;
|
int fd_bootchk = 1;
|
||||||
@ -108,7 +108,7 @@ index 842e897..192aa7b 100644
|
|||||||
static int no_reboot;
|
static int no_reboot;
|
||||||
int no_shutdown = 0;
|
int no_shutdown = 0;
|
||||||
int cursor_hide = 1;
|
int cursor_hide = 1;
|
||||||
@@ -3328,6 +3329,14 @@ int main(int argc, char **argv, char **envp)
|
@@ -3351,6 +3352,14 @@ int main(int argc, char **argv, char **envp)
|
||||||
case QEMU_OPTION_singlestep:
|
case QEMU_OPTION_singlestep:
|
||||||
singlestep = 1;
|
singlestep = 1;
|
||||||
break;
|
break;
|
@ -1,4 +1,4 @@
|
|||||||
From 0587986e55f3bf9263fa62bd21425fd30405f2dc Mon Sep 17 00:00:00 2001
|
From 955ef0968a268bcb6ef68b8788952546aed3a1dc Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
|
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
|
||||||
Date: Wed, 29 Aug 2012 20:06:01 +0200
|
Date: Wed, 29 Aug 2012 20:06:01 +0200
|
||||||
Subject: [PATCH] vnc: password-file= and incoming-connections=
|
Subject: [PATCH] vnc: password-file= and incoming-connections=
|
||||||
@ -9,7 +9,7 @@ TBD (from SUSE Studio team)
|
|||||||
1 file changed, 71 insertions(+)
|
1 file changed, 71 insertions(+)
|
||||||
|
|
||||||
diff --git a/ui/vnc.c b/ui/vnc.c
|
diff --git a/ui/vnc.c b/ui/vnc.c
|
||||||
index 9c84b3e..d596d25 100644
|
index 5925774..8445dd6 100644
|
||||||
--- a/ui/vnc.c
|
--- a/ui/vnc.c
|
||||||
+++ b/ui/vnc.c
|
+++ b/ui/vnc.c
|
||||||
@@ -45,6 +45,7 @@ static const struct timeval VNC_REFRESH_LOSSY = { 2, 0 };
|
@@ -45,6 +45,7 @@ static const struct timeval VNC_REFRESH_LOSSY = { 2, 0 };
|
||||||
@ -20,7 +20,7 @@ index 9c84b3e..d596d25 100644
|
|||||||
|
|
||||||
static int vnc_cursor_define(VncState *vs);
|
static int vnc_cursor_define(VncState *vs);
|
||||||
static void vnc_release_modifiers(VncState *vs);
|
static void vnc_release_modifiers(VncState *vs);
|
||||||
@@ -1027,6 +1028,7 @@ static void vnc_disconnect_start(VncState *vs)
|
@@ -1031,6 +1032,7 @@ static void vnc_disconnect_start(VncState *vs)
|
||||||
void vnc_disconnect_finish(VncState *vs)
|
void vnc_disconnect_finish(VncState *vs)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -28,7 +28,7 @@ index 9c84b3e..d596d25 100644
|
|||||||
|
|
||||||
vnc_jobs_join(vs); /* Wait encoding jobs */
|
vnc_jobs_join(vs); /* Wait encoding jobs */
|
||||||
|
|
||||||
@@ -1075,6 +1077,13 @@ void vnc_disconnect_finish(VncState *vs)
|
@@ -1079,6 +1081,13 @@ void vnc_disconnect_finish(VncState *vs)
|
||||||
}
|
}
|
||||||
g_free(vs->lossy_rect);
|
g_free(vs->lossy_rect);
|
||||||
g_free(vs);
|
g_free(vs);
|
||||||
@ -42,7 +42,7 @@ index 9c84b3e..d596d25 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
int vnc_client_io_error(VncState *vs, int ret, int last_errno)
|
int vnc_client_io_error(VncState *vs, int ret, int last_errno)
|
||||||
@@ -3037,6 +3046,39 @@ char *vnc_display_local_addr(DisplayState *ds)
|
@@ -3041,6 +3050,39 @@ char *vnc_display_local_addr(DisplayState *ds)
|
||||||
return vnc_socket_local_addr("%s:%s", vs->lsock);
|
return vnc_socket_local_addr("%s:%s", vs->lsock);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,7 +82,7 @@ index 9c84b3e..d596d25 100644
|
|||||||
void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
|
void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
|
||||||
{
|
{
|
||||||
VncDisplay *vs = vnc_display;
|
VncDisplay *vs = vnc_display;
|
||||||
@@ -3070,6 +3112,9 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
|
@@ -3074,6 +3116,9 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
|
||||||
while ((options = strchr(options, ','))) {
|
while ((options = strchr(options, ','))) {
|
||||||
options++;
|
options++;
|
||||||
if (strncmp(options, "password", 8) == 0) {
|
if (strncmp(options, "password", 8) == 0) {
|
||||||
@ -92,7 +92,7 @@ index 9c84b3e..d596d25 100644
|
|||||||
if (fips_get_state()) {
|
if (fips_get_state()) {
|
||||||
error_setg(errp,
|
error_setg(errp,
|
||||||
"VNC password auth disabled due to FIPS mode, "
|
"VNC password auth disabled due to FIPS mode, "
|
||||||
@@ -3078,6 +3123,32 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
|
@@ -3082,6 +3127,32 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
password = 1; /* Require password auth */
|
password = 1; /* Require password auth */
|
@ -1,4 +1,4 @@
|
|||||||
From 811f9aaa6560561860d90fea353f5832a50e5467 Mon Sep 17 00:00:00 2001
|
From 6b62214c4bd34a4480814ac47449fab7c34305ed Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Wed, 10 Oct 2012 10:21:20 +0200
|
Date: Wed, 10 Oct 2012 10:21:20 +0200
|
||||||
Subject: [PATCH] linux-user: add more blk ioctls
|
Subject: [PATCH] linux-user: add more blk ioctls
|
||||||
@ -42,7 +42,7 @@ index d76575c..ffd6d09 100644
|
|||||||
IOCTL(BLKRASET, 0, TYPE_INT)
|
IOCTL(BLKRASET, 0, TYPE_INT)
|
||||||
IOCTL(BLKRAGET, IOC_R, MK_PTR(TYPE_LONG))
|
IOCTL(BLKRAGET, IOC_R, MK_PTR(TYPE_LONG))
|
||||||
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
||||||
index 15827bf..40c8900 100644
|
index 03863a6..2271d5f 100644
|
||||||
--- a/linux-user/syscall_defs.h
|
--- a/linux-user/syscall_defs.h
|
||||||
+++ b/linux-user/syscall_defs.h
|
+++ b/linux-user/syscall_defs.h
|
||||||
@@ -913,6 +913,12 @@ struct target_pollfd {
|
@@ -913,6 +913,12 @@ struct target_pollfd {
|
@ -1,4 +1,4 @@
|
|||||||
From 076210cc06b65ebebef8d181ec74106eb6c5d198 Mon Sep 17 00:00:00 2001
|
From 9f8f18dc792d6c9e3fb661cb8543d0c09b342ac4 Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Tue, 9 Oct 2012 09:06:49 +0200
|
Date: Tue, 9 Oct 2012 09:06:49 +0200
|
||||||
Subject: [PATCH] linux-user: use target_ulong
|
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(-)
|
2 files changed, 8 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
|
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
|
||||||
index c6366c2..151d09d 100644
|
index a2c4e35..6fd5e0c 100644
|
||||||
--- a/linux-user/qemu.h
|
--- a/linux-user/qemu.h
|
||||||
+++ b/linux-user/qemu.h
|
+++ b/linux-user/qemu.h
|
||||||
@@ -188,10 +188,10 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src,
|
@@ -189,10 +189,10 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src,
|
||||||
void target_set_brk(abi_ulong new_brk);
|
void target_set_brk(abi_ulong new_brk);
|
||||||
abi_long do_brk(abi_ulong new_brk);
|
abi_long do_brk(abi_ulong new_brk);
|
||||||
void syscall_init(void);
|
void syscall_init(void);
|
||||||
@ -36,10 +36,10 @@ index c6366c2..151d09d 100644
|
|||||||
extern THREAD CPUState *thread_cpu;
|
extern THREAD CPUState *thread_cpu;
|
||||||
void cpu_loop(CPUArchState *env);
|
void cpu_loop(CPUArchState *env);
|
||||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||||
index 1f80002..aacc224 100644
|
index 28a3d74..a12a722 100644
|
||||||
--- a/linux-user/syscall.c
|
--- a/linux-user/syscall.c
|
||||||
+++ b/linux-user/syscall.c
|
+++ b/linux-user/syscall.c
|
||||||
@@ -5351,10 +5351,10 @@ int syscall_restartable(int syscall_nr)
|
@@ -5395,10 +5395,10 @@ int syscall_restartable(int syscall_nr)
|
||||||
/* do_syscall() should always have a single exit point at the end so
|
/* do_syscall() should always have a single exit point at the end so
|
||||||
that actions, such as logging of syscall results, can be performed.
|
that actions, such as logging of syscall results, can be performed.
|
||||||
All errnos that do_syscall() returns must be -TARGET_<errcode>. */
|
All errnos that do_syscall() returns must be -TARGET_<errcode>. */
|
@ -1,4 +1,4 @@
|
|||||||
From 122051dc2fc438473aa17cd7847cb597e1d8a804 Mon Sep 17 00:00:00 2001
|
From 8b201b80c7957d04876330c37857b1ac4d8df21e Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Wed, 5 Aug 2009 09:49:37 +0200
|
Date: Wed, 5 Aug 2009 09:49:37 +0200
|
||||||
Subject: [PATCH] block: Add support for DictZip enabled gzip files
|
Subject: [PATCH] block: Add support for DictZip enabled gzip files
|
@ -1,4 +1,4 @@
|
|||||||
From 96fd8c590b6f1e38e2d28a4b37792162de0f73ca Mon Sep 17 00:00:00 2001
|
From 9faf6837f5e436c6d2003e64cb4b44b90d234c72 Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Wed, 5 Aug 2009 17:28:38 +0200
|
Date: Wed, 5 Aug 2009 17:28:38 +0200
|
||||||
Subject: [PATCH] block: Add tar container format
|
Subject: [PATCH] block: Add tar container format
|
@ -1,4 +1,4 @@
|
|||||||
From 4056851c208c99dd3f00845871599539e928e47f Mon Sep 17 00:00:00 2001
|
From e26cff5986190a24dcc53d658da1fc8e7772338c Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Wed, 12 Dec 2012 19:11:30 +0100
|
Date: Wed, 12 Dec 2012 19:11:30 +0100
|
||||||
Subject: [PATCH] Legacy Patch kvm-qemu-preXX-dictzip3.patch
|
Subject: [PATCH] Legacy Patch kvm-qemu-preXX-dictzip3.patch
|
@ -1,4 +1,4 @@
|
|||||||
From aedb4fdda43d3b5c9780dfc1e8cc84490742ab82 Mon Sep 17 00:00:00 2001
|
From e828d54e5b1ef01c620e1c761340cd73af785b6b Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Wed, 12 Dec 2012 19:11:31 +0100
|
Date: Wed, 12 Dec 2012 19:11:31 +0100
|
||||||
Subject: [PATCH] Legacy Patch kvm-qemu-preXX-report-default-mac-used.patch
|
Subject: [PATCH] Legacy Patch kvm-qemu-preXX-report-default-mac-used.patch
|
@ -1,4 +1,4 @@
|
|||||||
From 62e5e21a8022c87d48e2419c47b7b4dbf897fe81 Mon Sep 17 00:00:00 2001
|
From 1f6cee23194037e7c2601e7a728b7fa824f4d66f Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Mon, 6 Jun 2011 06:53:52 +0200
|
Date: Mon, 6 Jun 2011 06:53:52 +0200
|
||||||
Subject: [PATCH] console: add question-mark escape operator
|
Subject: [PATCH] console: add question-mark escape operator
|
||||||
@ -16,7 +16,7 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/ui/console.c b/ui/console.c
|
diff --git a/ui/console.c b/ui/console.c
|
||||||
index 4df251d..9d6b3b3 100644
|
index e057755..24413e8 100644
|
||||||
--- a/ui/console.c
|
--- a/ui/console.c
|
||||||
+++ b/ui/console.c
|
+++ b/ui/console.c
|
||||||
@@ -866,7 +866,7 @@ static void console_putchar(QemuConsole *s, int ch)
|
@@ -866,7 +866,7 @@ static void console_putchar(QemuConsole *s, int ch)
|
@ -1,4 +1,4 @@
|
|||||||
From a620d8b81230c54245b6b0255b7ddff886272c5b Mon Sep 17 00:00:00 2001
|
From e30f0e39abb8e5ad453333ac3dd0f6d7b270e045 Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Thu, 1 Apr 2010 17:36:23 +0200
|
Date: Thu, 1 Apr 2010 17:36:23 +0200
|
||||||
Subject: [PATCH] Make char muxer more robust wrt small FIFOs
|
Subject: [PATCH] Make char muxer more robust wrt small FIFOs
|
@ -1,4 +1,4 @@
|
|||||||
From 1f62de84675c5c3cd14a59a8070c2bb47d494cc0 Mon Sep 17 00:00:00 2001
|
From f222ce0d5af1eb8258e84d6fcd8ab89a85131a21 Mon Sep 17 00:00:00 2001
|
||||||
From: Alexander Graf <agraf@suse.de>
|
From: Alexander Graf <agraf@suse.de>
|
||||||
Date: Thu, 13 Dec 2012 14:29:22 +0100
|
Date: Thu, 13 Dec 2012 14:29:22 +0100
|
||||||
Subject: [PATCH] linux-user: lseek: explicitly cast non-set offsets to signed
|
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(-)
|
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||||
index aacc224..67f8c25 100644
|
index a12a722..d1f8b3d 100644
|
||||||
--- a/linux-user/syscall.c
|
--- a/linux-user/syscall.c
|
||||||
+++ b/linux-user/syscall.c
|
+++ b/linux-user/syscall.c
|
||||||
@@ -5665,9 +5665,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1,
|
@@ -5709,9 +5709,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1,
|
||||||
case TARGET_NR_oldstat:
|
case TARGET_NR_oldstat:
|
||||||
goto unimplemented;
|
goto unimplemented;
|
||||||
#endif
|
#endif
|
@ -1,4 +1,4 @@
|
|||||||
From 862047d71a3d245a5709a75cc3c109b94f6019ac Mon Sep 17 00:00:00 2001
|
From 52b3782f6ec265abbd8704d4999940e2161819d5 Mon Sep 17 00:00:00 2001
|
||||||
From: Bruce Rogers <brogers@suse.com>
|
From: Bruce Rogers <brogers@suse.com>
|
||||||
Date: Thu, 16 May 2013 12:39:10 +0200
|
Date: Thu, 16 May 2013 12:39:10 +0200
|
||||||
Subject: [PATCH] virtfs-proxy-helper: Provide __u64 for broken
|
Subject: [PATCH] virtfs-proxy-helper: Provide __u64 for broken
|
@ -1,4 +1,4 @@
|
|||||||
From 53969fce3b20e0bb592675503b8bade77c1cea3f Mon Sep 17 00:00:00 2001
|
From c5ce0620bff591f2c344771e75447d602212c6f0 Mon Sep 17 00:00:00 2001
|
||||||
From: Dinar Valeev <k0da@opensuse.org>
|
From: Dinar Valeev <k0da@opensuse.org>
|
||||||
Date: Wed, 2 Oct 2013 17:56:03 +0200
|
Date: Wed, 2 Oct 2013 17:56:03 +0200
|
||||||
Subject: [PATCH] configure: Enable PIE for ppc and ppc64 hosts
|
Subject: [PATCH] configure: Enable PIE for ppc and ppc64 hosts
|
||||||
@ -14,10 +14,10 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/configure b/configure
|
diff --git a/configure b/configure
|
||||||
index 8c2838e..530a10d 100755
|
index 69b9f56..21523908 100755
|
||||||
--- a/configure
|
--- a/configure
|
||||||
+++ b/configure
|
+++ b/configure
|
||||||
@@ -1467,7 +1467,7 @@ fi
|
@@ -1487,7 +1487,7 @@ fi
|
||||||
|
|
||||||
if test "$pie" = ""; then
|
if test "$pie" = ""; then
|
||||||
case "$cpu-$targetos" in
|
case "$cpu-$targetos" in
|
@ -1,22 +0,0 @@
|
|||||||
From 07638968e7aa90fc80aaf7dac9cfda6fa27b03fd Mon Sep 17 00:00:00 2001
|
|
||||||
From: Bruce Rogers <brogers@suse.com>
|
|
||||||
Date: Wed, 2 Oct 2013 17:51:46 +0200
|
|
||||||
Subject: [PATCH] roms: Build vgabios.bin
|
|
||||||
|
|
||||||
---
|
|
||||||
roms/Makefile | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/roms/Makefile b/roms/Makefile
|
|
||||||
index 2721b02..44ccdda 100644
|
|
||||||
--- a/roms/Makefile
|
|
||||||
+++ b/roms/Makefile
|
|
||||||
@@ -83,6 +83,8 @@ build-seabios-config-%: config.%
|
|
||||||
|
|
||||||
|
|
||||||
lgplvgabios: $(patsubst %,lgplvgabios-%,$(vgabios_variants))
|
|
||||||
+ make -C vgabios vgabios.bin
|
|
||||||
+ cp vgabios/VGABIOS-lgpl-latest.bin ../pc-bios/vgabios.bin
|
|
||||||
|
|
||||||
lgplvgabios-isavga: build-lgplvgabios
|
|
||||||
cp vgabios/VGABIOS-lgpl-latest.bin ../pc-bios/vgabios.bin
|
|
@ -1,4 +1,4 @@
|
|||||||
From 3ffc91748021ceebd6ea0de8cbf29b0117e8bcb3 Mon Sep 17 00:00:00 2001
|
From 1798372872568aa5d3fd50c8d01ba658082a8711 Mon Sep 17 00:00:00 2001
|
||||||
From: Olaf Hering <olaf@aepfle.de>
|
From: Olaf Hering <olaf@aepfle.de>
|
||||||
Date: Thu, 30 Jan 2014 16:02:18 +0100
|
Date: Thu, 30 Jan 2014 16:02:18 +0100
|
||||||
Subject: [PATCH] xen_disk: add discard support
|
Subject: [PATCH] xen_disk: add discard support
|
35
0038-tests-Don-t-run-qom-test-twice.patch
Normal file
35
0038-tests-Don-t-run-qom-test-twice.patch
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
From 857545e61d741cc4f439f98c5e93210b7fa09577 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
|
||||||
|
Date: Mon, 7 Apr 2014 16:03:08 +0200
|
||||||
|
Subject: [PATCH] tests: Don't run qom-test twice
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Commit 3687d5325 accidentally resulted in running qom-test twice
|
||||||
|
for x86_64, once directly via the wildcard, and once because x86_64
|
||||||
|
includes all the i386 qtests (which includes qom-test).
|
||||||
|
|
||||||
|
Filter out x86_64 as well as microblazeel and xtensaeb to fix this.
|
||||||
|
|
||||||
|
Cc: Peter Maydell <peter.maydell@linaro.org>
|
||||||
|
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||||
|
---
|
||||||
|
tests/Makefile | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/tests/Makefile b/tests/Makefile
|
||||||
|
index 88f7105..8f2b018 100644
|
||||||
|
--- a/tests/Makefile
|
||||||
|
+++ b/tests/Makefile
|
||||||
|
@@ -162,7 +162,9 @@ check-qtest-microblazeel-y = $(check-qtest-microblaze-y)
|
||||||
|
check-qtest-xtensaeb-y = $(check-qtest-xtensa-y)
|
||||||
|
|
||||||
|
# qom-test works for all sysemu architectures:
|
||||||
|
-$(foreach target,$(SYSEMU_TARGET_LIST), \
|
||||||
|
+QTEST_SYSEMU_TARGET_LIST=$(filter-out x86_64 microblazeel xtensaeb, \
|
||||||
|
+ $(SYSEMU_TARGET_LIST))
|
||||||
|
+$(foreach target,$(QTEST_SYSEMU_TARGET_LIST), \
|
||||||
|
$(eval check-qtest-$(target)-y += tests/qom-test$(EXESUF)))
|
||||||
|
|
||||||
|
check-qapi-schema-y := $(addprefix tests/qapi-schema/, \
|
27
0039-qtest-Assure-that-init_socket-s-lis.patch
Normal file
27
0039-qtest-Assure-that-init_socket-s-lis.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
From c58810a9fe080ce5358ab670b6d4abe1202e63a2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
|
||||||
|
Date: Thu, 17 Apr 2014 18:19:14 +0200
|
||||||
|
Subject: [PATCH] qtest: Assure that init_socket()'s listen() does not fail
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||||
|
---
|
||||||
|
tests/libqtest.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/tests/libqtest.c b/tests/libqtest.c
|
||||||
|
index 8155695..232f781 100644
|
||||||
|
--- a/tests/libqtest.c
|
||||||
|
+++ b/tests/libqtest.c
|
||||||
|
@@ -72,7 +72,8 @@ static int init_socket(const char *socket_path)
|
||||||
|
ret = bind(sock, (struct sockaddr *)&addr, sizeof(addr));
|
||||||
|
} while (ret == -1 && errno == EINTR);
|
||||||
|
g_assert_no_errno(ret);
|
||||||
|
- listen(sock, 1);
|
||||||
|
+ ret = listen(sock, 1);
|
||||||
|
+ g_assert_no_errno(ret);
|
||||||
|
|
||||||
|
return sock;
|
||||||
|
}
|
27
0040-qtest-Add-error-reporting-to-socket.patch
Normal file
27
0040-qtest-Add-error-reporting-to-socket.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
From 19fed6c601938b60dafb004f7194ff4e86def6f3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
|
||||||
|
Date: Thu, 17 Apr 2014 18:38:25 +0200
|
||||||
|
Subject: [PATCH] qtest: Add error reporting to socket_accept()
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||||
|
---
|
||||||
|
tests/libqtest.c | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/tests/libqtest.c b/tests/libqtest.c
|
||||||
|
index 232f781..4b90d91 100644
|
||||||
|
--- a/tests/libqtest.c
|
||||||
|
+++ b/tests/libqtest.c
|
||||||
|
@@ -93,6 +93,9 @@ static int socket_accept(int sock)
|
||||||
|
do {
|
||||||
|
ret = accept(sock, (struct sockaddr *)&addr, &addrlen);
|
||||||
|
} while (ret == -1 && errno == EINTR);
|
||||||
|
+ if (ret == -1) {
|
||||||
|
+ fprintf(stderr, "%s failed: %s\n", __func__, strerror(errno));
|
||||||
|
+ }
|
||||||
|
close(sock);
|
||||||
|
|
||||||
|
return ret;
|
28
0041-qtest-Increase-socket-timeout.patch
Normal file
28
0041-qtest-Increase-socket-timeout.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From 1126af0e6664e58a5e6e2280f6d61bb829099444 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
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Change from 5 to 15 seconds.
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||||
|
---
|
||||||
|
tests/libqtest.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/tests/libqtest.c b/tests/libqtest.c
|
||||||
|
index 4b90d91..18efcf2 100644
|
||||||
|
--- a/tests/libqtest.c
|
||||||
|
+++ b/tests/libqtest.c
|
||||||
|
@@ -34,7 +34,7 @@
|
||||||
|
#include "qapi/qmp/json-parser.h"
|
||||||
|
|
||||||
|
#define MAX_IRQ 256
|
||||||
|
-#define SOCKET_TIMEOUT 5
|
||||||
|
+#define SOCKET_TIMEOUT 15
|
||||||
|
|
||||||
|
QTestState *global_qtest;
|
||||||
|
|
29
0042-qtest-Be-paranoid-about-accept-addr.patch
Normal file
29
0042-qtest-Be-paranoid-about-accept-addr.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
From 9938d82cc9cc5ae82283bea7a24ff45d08690e27 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
|
||||||
|
Date: Thu, 17 Apr 2014 19:21:12 +0200
|
||||||
|
Subject: [PATCH] qtest: Be paranoid about accept() addrlen argument
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
If EINTR occurs, re-initialize our argument.
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||||
|
---
|
||||||
|
tests/libqtest.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/tests/libqtest.c b/tests/libqtest.c
|
||||||
|
index 18efcf2..1eb9db6 100644
|
||||||
|
--- a/tests/libqtest.c
|
||||||
|
+++ b/tests/libqtest.c
|
||||||
|
@@ -89,8 +89,8 @@ static int socket_accept(int sock)
|
||||||
|
setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (void *)&timeout,
|
||||||
|
sizeof(timeout));
|
||||||
|
|
||||||
|
- addrlen = sizeof(addr);
|
||||||
|
do {
|
||||||
|
+ addrlen = sizeof(addr);
|
||||||
|
ret = accept(sock, (struct sockaddr *)&addr, &addrlen);
|
||||||
|
} while (ret == -1 && errno == EINTR);
|
||||||
|
if (ret == -1) {
|
101
0043-arm-translate.c-Fix-smlald-Instruct.patch
Normal file
101
0043-arm-translate.c-Fix-smlald-Instruct.patch
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
From 0fb8a7de8e8013362922d802db7eda5f9bf37766 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
|
||||||
|
Date: Wed, 16 Apr 2014 20:20:52 -0700
|
||||||
|
Subject: [PATCH] arm: translate.c: Fix smlald Instruction
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
The smlald (and probably smlsld) instruction was doing incorrect sign
|
||||||
|
extensions of the operands amongst 64bit result calculation. The
|
||||||
|
instruction psuedo-code is:
|
||||||
|
|
||||||
|
operand2 = if m_swap then ROR(R[m],16) else R[m];
|
||||||
|
product1 = SInt(R[n]<15:0>) * SInt(operand2<15:0>);
|
||||||
|
product2 = SInt(R[n]<31:16>) * SInt(operand2<31:16>);
|
||||||
|
result = product1 + product2 + SInt(R[dHi]:R[dLo]);
|
||||||
|
R[dHi] = result<63:32>;
|
||||||
|
R[dLo] = result<31:0>;
|
||||||
|
|
||||||
|
The result calculation should be done in 64 bit arithmetic, and hence
|
||||||
|
product1 and product2 should be sign extended to 64b before calculation.
|
||||||
|
|
||||||
|
The current implementation was adding product1 and product2 together
|
||||||
|
then sign-extending the intermediate result leading to false negatives.
|
||||||
|
|
||||||
|
E.G. if product1 = product2 = 0x4000000, their sum = 0x80000000, which
|
||||||
|
will be incorrectly interpreted as -ve on sign extension.
|
||||||
|
|
||||||
|
We fix by doing the 64b extensions on both product1 and product2 before
|
||||||
|
any addition/subtraction happens.
|
||||||
|
|
||||||
|
We also fix where we were possibly incorrectly setting the Q saturation
|
||||||
|
flag for SMLSLD, which the ARM ARM specifically says is not set.
|
||||||
|
|
||||||
|
Reported-by: Christina Smith <christina.smith@xilinx.com>
|
||||||
|
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
|
||||||
|
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
|
||||||
|
Message-id: 2cddb6f5a15be4ab8d2160f3499d128ae93d304d.1397704570.git.peter.crosthwaite@xilinx.com
|
||||||
|
Cc: qemu-stable@nongnu.org
|
||||||
|
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
|
||||||
|
(cherry picked from commit 33bbd75a7c3321432fe40a8cbacd64619c56138c)
|
||||||
|
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||||
|
---
|
||||||
|
target-arm/translate.c | 34 +++++++++++++++++++++++-----------
|
||||||
|
1 file changed, 23 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/target-arm/translate.c b/target-arm/translate.c
|
||||||
|
index 56e3b4b..0335f10 100644
|
||||||
|
--- a/target-arm/translate.c
|
||||||
|
+++ b/target-arm/translate.c
|
||||||
|
@@ -8328,27 +8328,39 @@ static void disas_arm_insn(CPUARMState * env, DisasContext *s)
|
||||||
|
if (insn & (1 << 5))
|
||||||
|
gen_swap_half(tmp2);
|
||||||
|
gen_smul_dual(tmp, tmp2);
|
||||||
|
- if (insn & (1 << 6)) {
|
||||||
|
- /* This subtraction cannot overflow. */
|
||||||
|
- tcg_gen_sub_i32(tmp, tmp, tmp2);
|
||||||
|
- } else {
|
||||||
|
- /* This addition cannot overflow 32 bits;
|
||||||
|
- * however it may overflow considered as a signed
|
||||||
|
- * operation, in which case we must set the Q flag.
|
||||||
|
- */
|
||||||
|
- gen_helper_add_setq(tmp, cpu_env, tmp, tmp2);
|
||||||
|
- }
|
||||||
|
- tcg_temp_free_i32(tmp2);
|
||||||
|
if (insn & (1 << 22)) {
|
||||||
|
/* smlald, smlsld */
|
||||||
|
+ TCGv_i64 tmp64_2;
|
||||||
|
+
|
||||||
|
tmp64 = tcg_temp_new_i64();
|
||||||
|
+ tmp64_2 = tcg_temp_new_i64();
|
||||||
|
tcg_gen_ext_i32_i64(tmp64, tmp);
|
||||||
|
+ tcg_gen_ext_i32_i64(tmp64_2, tmp2);
|
||||||
|
tcg_temp_free_i32(tmp);
|
||||||
|
+ tcg_temp_free_i32(tmp2);
|
||||||
|
+ if (insn & (1 << 6)) {
|
||||||
|
+ tcg_gen_sub_i64(tmp64, tmp64, tmp64_2);
|
||||||
|
+ } else {
|
||||||
|
+ tcg_gen_add_i64(tmp64, tmp64, tmp64_2);
|
||||||
|
+ }
|
||||||
|
+ tcg_temp_free_i64(tmp64_2);
|
||||||
|
gen_addq(s, tmp64, rd, rn);
|
||||||
|
gen_storeq_reg(s, rd, rn, tmp64);
|
||||||
|
tcg_temp_free_i64(tmp64);
|
||||||
|
} else {
|
||||||
|
/* smuad, smusd, smlad, smlsd */
|
||||||
|
+ if (insn & (1 << 6)) {
|
||||||
|
+ /* This subtraction cannot overflow. */
|
||||||
|
+ tcg_gen_sub_i32(tmp, tmp, tmp2);
|
||||||
|
+ } else {
|
||||||
|
+ /* This addition cannot overflow 32 bits;
|
||||||
|
+ * however it may overflow considered as a
|
||||||
|
+ * signed operation, in which case we must set
|
||||||
|
+ * the Q flag.
|
||||||
|
+ */
|
||||||
|
+ gen_helper_add_setq(tmp, cpu_env, tmp, tmp2);
|
||||||
|
+ }
|
||||||
|
+ tcg_temp_free_i32(tmp2);
|
||||||
|
if (rd != 15)
|
||||||
|
{
|
||||||
|
tmp2 = load_reg(s, rd);
|
36
0044-target-arm-A64-fix-unallocated-test.patch
Normal file
36
0044-target-arm-A64-fix-unallocated-test.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
From de439482d4ed1db0f0f5837c98abc46f0a579ba0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>
|
||||||
|
Date: Wed, 16 Apr 2014 12:29:39 +0100
|
||||||
|
Subject: [PATCH] target-arm: A64: fix unallocated test of scalar SQXTUN
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
The test for the U bit was incorrectly inverted in the scalar case of SQXTUN.
|
||||||
|
This doesn't affect the vector case as the U bit is used to select XTN(2).
|
||||||
|
|
||||||
|
Reported-by: Hao Liu <hao.liu@arm.com>
|
||||||
|
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
|
||||||
|
Reviewed-by: Claudio Fontana <claudio.fontana@huawei.com>
|
||||||
|
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
|
||||||
|
Cc: qemu-stable@nongnu.org
|
||||||
|
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
|
||||||
|
(cherry picked from commit e44a90c59697cf98e05619fbb6f77a403d347495)
|
||||||
|
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||||
|
---
|
||||||
|
target-arm/translate-a64.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/target-arm/translate-a64.c b/target-arm/translate-a64.c
|
||||||
|
index 9175e48..a780366 100644
|
||||||
|
--- a/target-arm/translate-a64.c
|
||||||
|
+++ b/target-arm/translate-a64.c
|
||||||
|
@@ -7455,7 +7455,7 @@ static void disas_simd_scalar_two_reg_misc(DisasContext *s, uint32_t insn)
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0x12: /* SQXTUN */
|
||||||
|
- if (u) {
|
||||||
|
+ if (!u) {
|
||||||
|
unallocated_encoding(s);
|
||||||
|
return;
|
||||||
|
}
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:c8ce73480cd41ddfb9482e7174b1850a996964b344108493eec0d4a43611a53c
|
|
||||||
size 12795764
|
|
3
qemu-2.0.0.tar.bz2
Normal file
3
qemu-2.0.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:058db8ef29b53a4a9bfcfad59193bec18d39a16790765f0a4db6b12963ced6df
|
||||||
|
size 12948827
|
@ -1,3 +1,57 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 18 17:55:03 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Fix aarch64 emulation issues:
|
||||||
|
0043-arm-translate.c-Fix-smlald-Instruct.patch
|
||||||
|
0044-target-arm-A64-fix-unallocated-test.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 17 15:46:26 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Update to v2.0.0: cf. http://wiki.qemu-project.org/ChangeLog/2.0
|
||||||
|
* Update update_git.sh script accordingly
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Apr 14 17:49:54 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Update to v2.0.0-rc3: cf. http://wiki.qemu-project.org/ChangeLog/2.0
|
||||||
|
* Update update_git.sh script accordingly
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 11 16:10:50 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Update to v2.0.0-rc2: cf. http://wiki.qemu-project.org/ChangeLog/2.0
|
||||||
|
* Update update_git.sh script accordingly
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 3 15:59:32 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Updated to v2.0.0-rc1: cf. http://wiki.qemu-project.org/ChangeLog/2.0
|
||||||
|
* Update update_git.sh script accordingly
|
||||||
|
* Drop 0012-linux-user-be-silent-about-capget-f.patch (implemented)
|
||||||
|
* Update qemu-config-binfmt.sh for aarch64
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 1 14:52:02 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Fix update_git.sh script to not duplicate .patch in filename
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 28 11:54:19 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Improve update_git.sh script to use a user-agnostic git symlink
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 24 15:45:00 UTC 2014 - brogers@suse.com
|
||||||
|
|
||||||
|
- Improve update_git.sh to not change files in OBS if the file
|
||||||
|
remains unchanged
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 24 09:41:42 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Enable libvixl-based disassembler support for aarch64
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Mar 18 12:38:28 UTC 2014 - afaerber@suse.de
|
Tue Mar 18 12:38:28 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
@ -21,49 +21,54 @@ Url: http://www.qemu.org/
|
|||||||
Summary: Universal CPU emulator
|
Summary: Universal CPU emulator
|
||||||
License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
|
License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
|
||||||
Group: System/Emulators/PC
|
Group: System/Emulators/PC
|
||||||
Version: 1.7.90
|
Version: 2.0.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Source: qemu-2.0.0-rc0.tar.bz2
|
Source: qemu-2.0.0.tar.bz2
|
||||||
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
|
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
|
||||||
Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patc.patch
|
Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch
|
||||||
Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch
|
Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch
|
||||||
Patch0003: 0003-qemu-0.9.0.cvs-binfmt.patch.patch
|
Patch0003: 0003-qemu-0.9.0.cvs-binfmt.patch
|
||||||
Patch0004: 0004-qemu-cvs-alsa_bitfield.patch.patch
|
Patch0004: 0004-qemu-cvs-alsa_bitfield.patch
|
||||||
Patch0005: 0005-qemu-cvs-alsa_ioctl.patch.patch
|
Patch0005: 0005-qemu-cvs-alsa_ioctl.patch
|
||||||
Patch0006: 0006-qemu-cvs-alsa_mmap.patch.patch
|
Patch0006: 0006-qemu-cvs-alsa_mmap.patch
|
||||||
Patch0007: 0007-qemu-cvs-gettimeofday.patch.patch
|
Patch0007: 0007-qemu-cvs-gettimeofday.patch
|
||||||
Patch0008: 0008-qemu-cvs-ioctl_debug.patch.patch
|
Patch0008: 0008-qemu-cvs-ioctl_debug.patch
|
||||||
Patch0009: 0009-qemu-cvs-ioctl_nodirection.patch.patch
|
Patch0009: 0009-qemu-cvs-ioctl_nodirection.patch
|
||||||
Patch0010: 0010-block-vmdk-Support-creation-of-SCSI.patch
|
Patch0010: 0010-block-vmdk-Support-creation-of-SCSI.patch
|
||||||
Patch0011: 0011-linux-user-add-binfmt-wrapper-for-a.patch
|
Patch0011: 0011-linux-user-add-binfmt-wrapper-for-a.patch
|
||||||
Patch0012: 0012-linux-user-be-silent-about-capget-f.patch
|
Patch0012: 0012-PPC-KVM-Disable-mmu-notifier-check.patch
|
||||||
Patch0013: 0013-PPC-KVM-Disable-mmu-notifier-check..patch
|
Patch0013: 0013-linux-user-fix-segfault-deadlock.patch
|
||||||
Patch0014: 0014-linux-user-fix-segfault-deadlock.pa.patch
|
Patch0014: 0014-linux-user-binfmt-support-host-bina.patch
|
||||||
Patch0015: 0015-linux-user-binfmt-support-host-bina.patch
|
Patch0015: 0015-linux-user-arm-no-tb_flush-on-reset.patch
|
||||||
Patch0016: 0016-linux-user-arm-no-tb_flush-on-reset.patch
|
Patch0016: 0016-linux-user-Ignore-broken-loop-ioctl.patch
|
||||||
Patch0017: 0017-linux-user-Ignore-broken-loop-ioctl.patch
|
Patch0017: 0017-linux-user-lock-tcg.patch
|
||||||
Patch0018: 0018-linux-user-lock-tcg.patch.patch
|
Patch0018: 0018-linux-user-Run-multi-threaded-code-.patch
|
||||||
Patch0019: 0019-linux-user-Run-multi-threaded-code-.patch
|
Patch0019: 0019-linux-user-lock-tb-flushing-too.patch
|
||||||
Patch0020: 0020-linux-user-lock-tb-flushing-too.pat.patch
|
Patch0020: 0020-linux-user-Fake-proc-cpuinfo.patch
|
||||||
Patch0021: 0021-linux-user-Fake-proc-cpuinfo.patch.patch
|
Patch0021: 0021-linux-user-implement-FS_IOC_GETFLAG.patch
|
||||||
Patch0022: 0022-linux-user-implement-FS_IOC_GETFLAG.patch
|
Patch0022: 0022-linux-user-implement-FS_IOC_SETFLAG.patch
|
||||||
Patch0023: 0023-linux-user-implement-FS_IOC_SETFLAG.patch
|
Patch0023: 0023-linux-user-XXX-disable-fiemap.patch
|
||||||
Patch0024: 0024-linux-user-XXX-disable-fiemap.patch.patch
|
Patch0024: 0024-slirp-nooutgoing.patch
|
||||||
Patch0025: 0025-slirp-nooutgoing.patch.patch
|
Patch0025: 0025-vnc-password-file-and-incoming-conn.patch
|
||||||
Patch0026: 0026-vnc-password-file-and-incoming-conn.patch
|
Patch0026: 0026-linux-user-add-more-blk-ioctls.patch
|
||||||
Patch0027: 0027-linux-user-add-more-blk-ioctls.patc.patch
|
Patch0027: 0027-linux-user-use-target_ulong.patch
|
||||||
Patch0028: 0028-linux-user-use-target_ulong.patch.patch
|
Patch0028: 0028-block-Add-support-for-DictZip-enabl.patch
|
||||||
Patch0029: 0029-block-Add-support-for-DictZip-enabl.patch
|
Patch0029: 0029-block-Add-tar-container-format.patch
|
||||||
Patch0030: 0030-block-Add-tar-container-format.patc.patch
|
Patch0030: 0030-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
|
||||||
Patch0031: 0031-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
|
Patch0031: 0031-Legacy-Patch-kvm-qemu-preXX-report-.patch
|
||||||
Patch0032: 0032-Legacy-Patch-kvm-qemu-preXX-report-.patch
|
Patch0032: 0032-console-add-question-mark-escape-op.patch
|
||||||
Patch0033: 0033-console-add-question-mark-escape-op.patch
|
Patch0033: 0033-Make-char-muxer-more-robust-wrt-sma.patch
|
||||||
Patch0034: 0034-Make-char-muxer-more-robust-wrt-sma.patch
|
Patch0034: 0034-linux-user-lseek-explicitly-cast-no.patch
|
||||||
Patch0035: 0035-linux-user-lseek-explicitly-cast-no.patch
|
Patch0035: 0035-virtfs-proxy-helper-Provide-__u64-f.patch
|
||||||
Patch0036: 0036-virtfs-proxy-helper-Provide-__u64-f.patch
|
Patch0036: 0036-configure-Enable-PIE-for-ppc-and-pp.patch
|
||||||
Patch0037: 0037-roms-Build-vgabios.bin.patch.patch
|
Patch0037: 0037-xen_disk-add-discard-support.patch
|
||||||
Patch0038: 0038-configure-Enable-PIE-for-ppc-and-pp.patch
|
Patch0038: 0038-tests-Don-t-run-qom-test-twice.patch
|
||||||
Patch0039: 0039-xen_disk-add-discard-support.patch.patch
|
Patch0039: 0039-qtest-Assure-that-init_socket-s-lis.patch
|
||||||
|
Patch0040: 0040-qtest-Add-error-reporting-to-socket.patch
|
||||||
|
Patch0041: 0041-qtest-Increase-socket-timeout.patch
|
||||||
|
Patch0042: 0042-qtest-Be-paranoid-about-accept-addr.patch
|
||||||
|
Patch0043: 0043-arm-translate.c-Fix-smlald-Instruct.patch
|
||||||
|
Patch0044: 0044-target-arm-A64-fix-unallocated-test.patch
|
||||||
# Please do not add patches manually here, run update_git.sh.
|
# Please do not add patches manually here, run update_git.sh.
|
||||||
# this is to make lint happy
|
# this is to make lint happy
|
||||||
Source300: rpmlintrc
|
Source300: rpmlintrc
|
||||||
@ -71,6 +76,7 @@ Source400: update_git.sh
|
|||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
BuildRequires: e2fsprogs-devel
|
BuildRequires: e2fsprogs-devel
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: gcc-c++
|
||||||
%if 0%{?suse_version} >= 1140
|
%if 0%{?suse_version} >= 1140
|
||||||
BuildRequires: glib2-devel-static
|
BuildRequires: glib2-devel-static
|
||||||
%else
|
%else
|
||||||
@ -115,7 +121,7 @@ emulations. This can be used together with the OBS build script to
|
|||||||
run cross-architecture builds.
|
run cross-architecture builds.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n qemu-2.0.0-rc0
|
%setup -q -n qemu-2.0.0
|
||||||
%patch0001 -p1
|
%patch0001 -p1
|
||||||
%patch0002 -p1
|
%patch0002 -p1
|
||||||
%patch0003 -p1
|
%patch0003 -p1
|
||||||
@ -155,6 +161,11 @@ run cross-architecture builds.
|
|||||||
%patch0037 -p1
|
%patch0037 -p1
|
||||||
%patch0038 -p1
|
%patch0038 -p1
|
||||||
%patch0039 -p1
|
%patch0039 -p1
|
||||||
|
%patch0040 -p1
|
||||||
|
%patch0041 -p1
|
||||||
|
%patch0042 -p1
|
||||||
|
%patch0043 -p1
|
||||||
|
%patch0044 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
|
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
|
||||||
|
@ -23,7 +23,7 @@ License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
|
|||||||
Group: System/Emulators/PC
|
Group: System/Emulators/PC
|
||||||
QEMU_VERSION
|
QEMU_VERSION
|
||||||
Release: 0
|
Release: 0
|
||||||
Source: qemu-2.0.0-rc0.tar.bz2
|
Source: qemu-2.0.0.tar.bz2
|
||||||
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
|
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
|
||||||
PATCH_FILES
|
PATCH_FILES
|
||||||
# Please do not add patches manually here, run update_git.sh.
|
# Please do not add patches manually here, run update_git.sh.
|
||||||
@ -33,6 +33,7 @@ Source400: update_git.sh
|
|||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
BuildRequires: e2fsprogs-devel
|
BuildRequires: e2fsprogs-devel
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: gcc-c++
|
||||||
%if 0%{?suse_version} >= 1140
|
%if 0%{?suse_version} >= 1140
|
||||||
BuildRequires: glib2-devel-static
|
BuildRequires: glib2-devel-static
|
||||||
%else
|
%else
|
||||||
@ -77,7 +78,7 @@ emulations. This can be used together with the OBS build script to
|
|||||||
run cross-architecture builds.
|
run cross-architecture builds.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n qemu-2.0.0-rc0
|
%setup -q -n qemu-2.0.0
|
||||||
PATCH_EXEC
|
PATCH_EXEC
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
91
qemu.changes
91
qemu.changes
@ -1,3 +1,94 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 18 17:55:03 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Fix aarch64 emulation issues:
|
||||||
|
0043-arm-translate.c-Fix-smlald-Instruct.patch
|
||||||
|
0044-target-arm-A64-fix-unallocated-test.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 17 16:46:52 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Attempt to solve or debug occasional qtest fd assertions
|
||||||
|
0039-qtest-Assure-that-init_socket-s-lis.patch
|
||||||
|
0040-qtest-Add-error-reporting-to-socket.patch
|
||||||
|
0041-qtest-Increase-socket-timeout.patch
|
||||||
|
0042-qtest-Be-paranoid-about-accept-addr.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 17 15:46:26 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Update to v2.0.0: cf. http://wiki.qemu-project.org/ChangeLog/2.0
|
||||||
|
* Update update_git.sh script accordingly
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Apr 14 17:49:54 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Update to v2.0.0-rc3: cf. http://wiki.qemu-project.org/ChangeLog/2.0
|
||||||
|
* Update update_git.sh script accordingly
|
||||||
|
* Addresses CVE-2014-0150 (bnc#873235), CVE-2013-4544 (bnc#873613)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 11 16:10:50 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Update to v2.0.0-rc2: cf. http://wiki.qemu-project.org/ChangeLog/2.0
|
||||||
|
* Update update_git.sh script accordingly
|
||||||
|
* Resolves Gtk mouse issues (bnc#849587)
|
||||||
|
* Fixes endianness-test failures for prep machine on Big Endian host
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 4 00:17:38 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Fix qemu-kvm script for s390x (bnc#869021) (bfrogers)
|
||||||
|
- Fix ksm.service file permissions to not be executable w/o shebang
|
||||||
|
- Re-enable Gtk build on 11.4 (fixes unpackaged qemu.mo files error)
|
||||||
|
- Fix SLE11 SP3 build by making sub-package "noarch" conditional
|
||||||
|
* Do not exclude qemu-ifup from qemu package when not installing
|
||||||
|
- Speed up %check by not running qom-test twice for some targets
|
||||||
|
0038-tests-Don-t-run-qom-test-twice.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 3 15:59:32 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Updated to v2.0.0-rc1: cf. http://wiki.qemu-project.org/ChangeLog/2.0
|
||||||
|
* Update update_git.sh script accordingly
|
||||||
|
* Resolves breakage of live migration (bnc#871302)
|
||||||
|
* Addresses CVE-2014-0142, CVE-2014-0143, CVE-2014-0144,
|
||||||
|
CVE-2014-0145, CVE-2014-0146, CVE-2014-0147 (bnc#870439)
|
||||||
|
- Drop 0037-roms-Build-vgabios.bin.patch (unneeded)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 1 14:50:37 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Enhance update_git.sh script
|
||||||
|
* Fix duplicate .patch for short filenames
|
||||||
|
* Read SeaBIOS version from QEMU tarball
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 31 14:51:30 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Re-create qemu-2.0.0-rc0.tar.bz2 to include SeaBIOS .version
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 28 11:53:31 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Improve update_git.sh script to use a user-agnostic git symlink
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 26 21:09:34 UTC 2014 - brogers@suse.com
|
||||||
|
|
||||||
|
- Tidy up qemu.spec a bit: white space, line length, use macros
|
||||||
|
as appropriate
|
||||||
|
- Improve update_git.sh to not change files in OBS if the file
|
||||||
|
remains unchanged
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 26 14:16:39 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
- Fix library directory
|
||||||
|
- Set default file attributes for qemu-ksm
|
||||||
|
- Enable Smartcard emulation
|
||||||
|
* Reorder package definitions to avoid %version troubles
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Mar 19 12:36:56 UTC 2014 - afaerber@suse.de
|
Tue Mar 19 12:36:56 UTC 2014 - afaerber@suse.de
|
||||||
|
|
||||||
|
301
qemu.spec
301
qemu.spec
@ -18,19 +18,24 @@
|
|||||||
|
|
||||||
%ifarch %ix86 x86_64
|
%ifarch %ix86 x86_64
|
||||||
# choice of building all from source or using provided binary x86 blobs
|
# choice of building all from source or using provided binary x86 blobs
|
||||||
|
%if 0%{?suse_version} >= 1140
|
||||||
%define build_x86_fw_from_source 1
|
%define build_x86_fw_from_source 1
|
||||||
%else
|
%else
|
||||||
%define build_x86_fw_from_source 0
|
%define build_x86_fw_from_source 0
|
||||||
%endif
|
%endif
|
||||||
|
%else
|
||||||
|
%define build_x86_fw_from_source 0
|
||||||
|
%endif
|
||||||
|
%define noarch_supported 1110
|
||||||
|
|
||||||
Name: qemu
|
Name: qemu
|
||||||
Url: http://www.qemu.org/
|
Url: http://www.qemu.org/
|
||||||
Summary: Universal CPU emulator
|
Summary: Universal CPU emulator
|
||||||
License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
|
License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
|
||||||
Group: System/Emulators/PC
|
Group: System/Emulators/PC
|
||||||
Version: 1.7.90
|
Version: 2.0.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Source: %name-2.0.0-rc0.tar.bz2
|
Source: %name-2.0.0.tar.bz2
|
||||||
Source1: 80-kvm.rules
|
Source1: 80-kvm.rules
|
||||||
Source2: qemu-ifup
|
Source2: qemu-ifup
|
||||||
Source3: kvm_stat
|
Source3: kvm_stat
|
||||||
@ -38,45 +43,50 @@ Source4: qemu-kvm.1.gz
|
|||||||
Source5: 60-kvm.rules
|
Source5: 60-kvm.rules
|
||||||
Source6: ksm.service
|
Source6: ksm.service
|
||||||
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
|
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
|
||||||
Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patc.patch
|
Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch
|
||||||
Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch
|
Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch
|
||||||
Patch0003: 0003-qemu-0.9.0.cvs-binfmt.patch.patch
|
Patch0003: 0003-qemu-0.9.0.cvs-binfmt.patch
|
||||||
Patch0004: 0004-qemu-cvs-alsa_bitfield.patch.patch
|
Patch0004: 0004-qemu-cvs-alsa_bitfield.patch
|
||||||
Patch0005: 0005-qemu-cvs-alsa_ioctl.patch.patch
|
Patch0005: 0005-qemu-cvs-alsa_ioctl.patch
|
||||||
Patch0006: 0006-qemu-cvs-alsa_mmap.patch.patch
|
Patch0006: 0006-qemu-cvs-alsa_mmap.patch
|
||||||
Patch0007: 0007-qemu-cvs-gettimeofday.patch.patch
|
Patch0007: 0007-qemu-cvs-gettimeofday.patch
|
||||||
Patch0008: 0008-qemu-cvs-ioctl_debug.patch.patch
|
Patch0008: 0008-qemu-cvs-ioctl_debug.patch
|
||||||
Patch0009: 0009-qemu-cvs-ioctl_nodirection.patch.patch
|
Patch0009: 0009-qemu-cvs-ioctl_nodirection.patch
|
||||||
Patch0010: 0010-block-vmdk-Support-creation-of-SCSI.patch
|
Patch0010: 0010-block-vmdk-Support-creation-of-SCSI.patch
|
||||||
Patch0011: 0011-linux-user-add-binfmt-wrapper-for-a.patch
|
Patch0011: 0011-linux-user-add-binfmt-wrapper-for-a.patch
|
||||||
Patch0012: 0012-linux-user-be-silent-about-capget-f.patch
|
Patch0012: 0012-PPC-KVM-Disable-mmu-notifier-check.patch
|
||||||
Patch0013: 0013-PPC-KVM-Disable-mmu-notifier-check..patch
|
Patch0013: 0013-linux-user-fix-segfault-deadlock.patch
|
||||||
Patch0014: 0014-linux-user-fix-segfault-deadlock.pa.patch
|
Patch0014: 0014-linux-user-binfmt-support-host-bina.patch
|
||||||
Patch0015: 0015-linux-user-binfmt-support-host-bina.patch
|
Patch0015: 0015-linux-user-arm-no-tb_flush-on-reset.patch
|
||||||
Patch0016: 0016-linux-user-arm-no-tb_flush-on-reset.patch
|
Patch0016: 0016-linux-user-Ignore-broken-loop-ioctl.patch
|
||||||
Patch0017: 0017-linux-user-Ignore-broken-loop-ioctl.patch
|
Patch0017: 0017-linux-user-lock-tcg.patch
|
||||||
Patch0018: 0018-linux-user-lock-tcg.patch.patch
|
Patch0018: 0018-linux-user-Run-multi-threaded-code-.patch
|
||||||
Patch0019: 0019-linux-user-Run-multi-threaded-code-.patch
|
Patch0019: 0019-linux-user-lock-tb-flushing-too.patch
|
||||||
Patch0020: 0020-linux-user-lock-tb-flushing-too.pat.patch
|
Patch0020: 0020-linux-user-Fake-proc-cpuinfo.patch
|
||||||
Patch0021: 0021-linux-user-Fake-proc-cpuinfo.patch.patch
|
Patch0021: 0021-linux-user-implement-FS_IOC_GETFLAG.patch
|
||||||
Patch0022: 0022-linux-user-implement-FS_IOC_GETFLAG.patch
|
Patch0022: 0022-linux-user-implement-FS_IOC_SETFLAG.patch
|
||||||
Patch0023: 0023-linux-user-implement-FS_IOC_SETFLAG.patch
|
Patch0023: 0023-linux-user-XXX-disable-fiemap.patch
|
||||||
Patch0024: 0024-linux-user-XXX-disable-fiemap.patch.patch
|
Patch0024: 0024-slirp-nooutgoing.patch
|
||||||
Patch0025: 0025-slirp-nooutgoing.patch.patch
|
Patch0025: 0025-vnc-password-file-and-incoming-conn.patch
|
||||||
Patch0026: 0026-vnc-password-file-and-incoming-conn.patch
|
Patch0026: 0026-linux-user-add-more-blk-ioctls.patch
|
||||||
Patch0027: 0027-linux-user-add-more-blk-ioctls.patc.patch
|
Patch0027: 0027-linux-user-use-target_ulong.patch
|
||||||
Patch0028: 0028-linux-user-use-target_ulong.patch.patch
|
Patch0028: 0028-block-Add-support-for-DictZip-enabl.patch
|
||||||
Patch0029: 0029-block-Add-support-for-DictZip-enabl.patch
|
Patch0029: 0029-block-Add-tar-container-format.patch
|
||||||
Patch0030: 0030-block-Add-tar-container-format.patc.patch
|
Patch0030: 0030-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
|
||||||
Patch0031: 0031-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
|
Patch0031: 0031-Legacy-Patch-kvm-qemu-preXX-report-.patch
|
||||||
Patch0032: 0032-Legacy-Patch-kvm-qemu-preXX-report-.patch
|
Patch0032: 0032-console-add-question-mark-escape-op.patch
|
||||||
Patch0033: 0033-console-add-question-mark-escape-op.patch
|
Patch0033: 0033-Make-char-muxer-more-robust-wrt-sma.patch
|
||||||
Patch0034: 0034-Make-char-muxer-more-robust-wrt-sma.patch
|
Patch0034: 0034-linux-user-lseek-explicitly-cast-no.patch
|
||||||
Patch0035: 0035-linux-user-lseek-explicitly-cast-no.patch
|
Patch0035: 0035-virtfs-proxy-helper-Provide-__u64-f.patch
|
||||||
Patch0036: 0036-virtfs-proxy-helper-Provide-__u64-f.patch
|
Patch0036: 0036-configure-Enable-PIE-for-ppc-and-pp.patch
|
||||||
Patch0037: 0037-roms-Build-vgabios.bin.patch.patch
|
Patch0037: 0037-xen_disk-add-discard-support.patch
|
||||||
Patch0038: 0038-configure-Enable-PIE-for-ppc-and-pp.patch
|
Patch0038: 0038-tests-Don-t-run-qom-test-twice.patch
|
||||||
Patch0039: 0039-xen_disk-add-discard-support.patch.patch
|
Patch0039: 0039-qtest-Assure-that-init_socket-s-lis.patch
|
||||||
|
Patch0040: 0040-qtest-Add-error-reporting-to-socket.patch
|
||||||
|
Patch0041: 0041-qtest-Increase-socket-timeout.patch
|
||||||
|
Patch0042: 0042-qtest-Be-paranoid-about-accept-addr.patch
|
||||||
|
Patch0043: 0043-arm-translate.c-Fix-smlald-Instruct.patch
|
||||||
|
Patch0044: 0044-target-arm-A64-fix-unallocated-test.patch
|
||||||
# Please do not add patches manually here, run update_git.sh.
|
# Please do not add patches manually here, run update_git.sh.
|
||||||
|
|
||||||
# roms/ipxe patches
|
# roms/ipxe patches
|
||||||
@ -129,13 +139,15 @@ BuildRequires: libpcap-devel
|
|||||||
BuildRequires: libpixman-1-0-devel
|
BuildRequires: libpixman-1-0-devel
|
||||||
BuildRequires: libpng-devel
|
BuildRequires: libpng-devel
|
||||||
BuildRequires: libpulse-devel
|
BuildRequires: libpulse-devel
|
||||||
|
BuildRequires: libtool
|
||||||
%if 0%{?suse_version} > 1310
|
%if 0%{?suse_version} > 1310
|
||||||
BuildRequires: libusb
|
BuildRequires: libusb-devel
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: libvdeplug3-devel
|
BuildRequires: libvdeplug3-devel
|
||||||
%if 0%{?suse_version} > 1220
|
%if 0%{?suse_version} > 1220
|
||||||
BuildRequires: makeinfo
|
BuildRequires: makeinfo
|
||||||
%endif
|
%endif
|
||||||
|
BuildRequires: mozilla-nss-devel
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
BuildRequires: pwdutils
|
BuildRequires: pwdutils
|
||||||
BuildRequires: python
|
BuildRequires: python
|
||||||
@ -144,7 +156,7 @@ BuildRequires: systemd
|
|||||||
%{?systemd_requires}
|
%{?systemd_requires}
|
||||||
%define with_systemd 1
|
%define with_systemd 1
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?sles_version} != 11
|
%if 0%{?sles_version} != 11
|
||||||
BuildRequires: usbredir-devel
|
BuildRequires: usbredir-devel
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?suse_version} >= 1210
|
%if 0%{?suse_version} >= 1210
|
||||||
@ -193,12 +205,16 @@ Recommends: qemu-arm
|
|||||||
Suggests: qemu-arm
|
Suggests: qemu-arm
|
||||||
%endif
|
%endif
|
||||||
Suggests: qemu-extra
|
Suggests: qemu-extra
|
||||||
|
Suggests: qemu-lang
|
||||||
%if 0%{?suse_version} >= 1210
|
%if 0%{?suse_version} >= 1210
|
||||||
Recommends: qemu-ksm = %{version}
|
Recommends: qemu-ksm = %{version}
|
||||||
Suggests: qemu-lang
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%define firmware_files {acpi-dsdt.aml bios.bin q35-acpi-dsdt.aml sgabios.bin vgabios.bin vgabios-cirrus.bin vgabios-stdvga.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}
|
%define built_firmware_files {acpi-dsdt.aml bios.bin bios-256k.bin \
|
||||||
|
q35-acpi-dsdt.aml sgabios.bin vgabios.bin vgabios-cirrus.bin \
|
||||||
|
vgabios-stdvga.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}
|
||||||
|
|
||||||
%description
|
%description
|
||||||
QEMU is an extremely well-performing CPU emulator that allows you to
|
QEMU is an extremely well-performing CPU emulator that allows you to
|
||||||
@ -305,7 +321,6 @@ not required for KVM usage, but rather facilitates its usage with tools
|
|||||||
derived from the legacy kvm package.
|
derived from the legacy kvm package.
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?suse_version} >= 1210
|
|
||||||
%package lang
|
%package lang
|
||||||
Summary: Universal CPU emulator -- Translations
|
Summary: Universal CPU emulator -- Translations
|
||||||
Group: System/Emulators/PC
|
Group: System/Emulators/PC
|
||||||
@ -318,57 +333,6 @@ system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
|
|||||||
as PC and PowerMac systems.
|
as PC and PowerMac systems.
|
||||||
|
|
||||||
This sub-package contains translations.
|
This sub-package contains translations.
|
||||||
%endif
|
|
||||||
|
|
||||||
%package seabios
|
|
||||||
Summary: X86 BIOS for QEMU
|
|
||||||
Group: System/Emulators/PC
|
|
||||||
Version: 1.7.4
|
|
||||||
Release: 0
|
|
||||||
BuildArch: noarch
|
|
||||||
Conflicts: qemu < 1.6.0
|
|
||||||
|
|
||||||
%description seabios
|
|
||||||
SeaBIOS is an open source implementation of a 16bit x86 BIOS. SeaBIOS
|
|
||||||
is the default BIOS for QEMU.
|
|
||||||
|
|
||||||
%package vgabios
|
|
||||||
Summary: VGA BIOSes for QEMU
|
|
||||||
Group: System/Emulators/PC
|
|
||||||
Version: 1.7.4
|
|
||||||
Release: 0
|
|
||||||
BuildArch: noarch
|
|
||||||
Conflicts: qemu < 1.6.0
|
|
||||||
|
|
||||||
%description vgabios
|
|
||||||
VGABIOS provides the video ROM BIOSes for the following variants of VGA
|
|
||||||
emulated devices: Std VGA, QXL, Cirrus CLGD 5446 and VMware emulated
|
|
||||||
video card.
|
|
||||||
|
|
||||||
%package sgabios
|
|
||||||
Summary: Serial Graphics Adapter BIOS for QEMU
|
|
||||||
Group: System/Emulators/PC
|
|
||||||
Version: 8
|
|
||||||
Release: 0
|
|
||||||
BuildArch: noarch
|
|
||||||
Conflicts: qemu < 1.6.0
|
|
||||||
|
|
||||||
%description sgabios
|
|
||||||
The Google Serial Graphics Adapter BIOS or SGABIOS provides a means for legacy
|
|
||||||
x86 software to communicate with an attached serial console as if a video card
|
|
||||||
were attached.
|
|
||||||
|
|
||||||
%package ipxe
|
|
||||||
Summary: PXE ROMs for QEMU NICs
|
|
||||||
Group: System/Emulators/PC
|
|
||||||
Version: 1.0.0
|
|
||||||
Release: 0
|
|
||||||
BuildArch: noarch
|
|
||||||
Conflicts: qemu < 1.6.0
|
|
||||||
|
|
||||||
%description ipxe
|
|
||||||
Preboot Execution Environment (PXE) ROM support for various emulated network
|
|
||||||
adapters available with QEMU.
|
|
||||||
|
|
||||||
%package tools
|
%package tools
|
||||||
Summary: Universal CPU emulator -- Tools
|
Summary: Universal CPU emulator -- Tools
|
||||||
@ -385,6 +349,36 @@ as PC and PowerMac systems.
|
|||||||
|
|
||||||
This sub-package contains various tools, including a bridge helper.
|
This sub-package contains various tools, including a bridge helper.
|
||||||
|
|
||||||
|
%package -n libcacard0
|
||||||
|
Summary: Universal CPU emulator -- Smartcard emulation
|
||||||
|
Group: System/Emulators/PC
|
||||||
|
|
||||||
|
%description -n libcacard0
|
||||||
|
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 the Smartcard library.
|
||||||
|
|
||||||
|
%package -n libcacard-devel
|
||||||
|
Summary: Universal CPU emulator -- Smartcard emulation
|
||||||
|
Group: System/Emulators/PC
|
||||||
|
Requires: glib2-devel
|
||||||
|
Requires: libcacard0 = %version
|
||||||
|
Requires: mozilla-nspr
|
||||||
|
Requires: mozilla-nss
|
||||||
|
|
||||||
|
%description -n libcacard-devel
|
||||||
|
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 development files for the Smartcard library.
|
||||||
|
|
||||||
%package guest-agent
|
%package guest-agent
|
||||||
Summary: Universal CPU emulator -- Guest agent
|
Summary: Universal CPU emulator -- Guest agent
|
||||||
Group: System/Emulators/PC
|
Group: System/Emulators/PC
|
||||||
@ -399,6 +393,64 @@ as PC and PowerMac systems.
|
|||||||
|
|
||||||
This sub-package contains the guest agent.
|
This sub-package contains the guest agent.
|
||||||
|
|
||||||
|
%package seabios
|
||||||
|
Summary: X86 BIOS for QEMU
|
||||||
|
Group: System/Emulators/PC
|
||||||
|
Version: 1.7.4
|
||||||
|
Release: 0
|
||||||
|
%if 0%{?suse_version} > %{noarch_supported}
|
||||||
|
BuildArch: noarch
|
||||||
|
%endif
|
||||||
|
Conflicts: qemu < 1.6.0
|
||||||
|
|
||||||
|
%description seabios
|
||||||
|
SeaBIOS is an open source implementation of a 16bit x86 BIOS. SeaBIOS
|
||||||
|
is the default BIOS for QEMU.
|
||||||
|
|
||||||
|
%package vgabios
|
||||||
|
Summary: VGA BIOSes for QEMU
|
||||||
|
Group: System/Emulators/PC
|
||||||
|
Version: 1.7.4
|
||||||
|
Release: 0
|
||||||
|
%if 0%{?suse_version} > %{noarch_supported}
|
||||||
|
BuildArch: noarch
|
||||||
|
%endif
|
||||||
|
Conflicts: qemu < 1.6.0
|
||||||
|
|
||||||
|
%description vgabios
|
||||||
|
VGABIOS provides the video ROM BIOSes for the following variants of VGA
|
||||||
|
emulated devices: Std VGA, QXL, Cirrus CLGD 5446 and VMware emulated
|
||||||
|
video card.
|
||||||
|
|
||||||
|
%package sgabios
|
||||||
|
Summary: Serial Graphics Adapter BIOS for QEMU
|
||||||
|
Group: System/Emulators/PC
|
||||||
|
Version: 8
|
||||||
|
Release: 0
|
||||||
|
%if 0%{?suse_version} > %{noarch_supported}
|
||||||
|
BuildArch: noarch
|
||||||
|
%endif
|
||||||
|
Conflicts: qemu < 1.6.0
|
||||||
|
|
||||||
|
%description sgabios
|
||||||
|
The Google Serial Graphics Adapter BIOS or SGABIOS provides a means for legacy
|
||||||
|
x86 software to communicate with an attached serial console as if a video card
|
||||||
|
were attached.
|
||||||
|
|
||||||
|
%package ipxe
|
||||||
|
Summary: PXE ROMs for QEMU NICs
|
||||||
|
Group: System/Emulators/PC
|
||||||
|
Version: 1.0.0
|
||||||
|
Release: 0
|
||||||
|
%if 0%{?suse_version} > %{noarch_supported}
|
||||||
|
BuildArch: noarch
|
||||||
|
%endif
|
||||||
|
Conflicts: qemu < 1.6.0
|
||||||
|
|
||||||
|
%description ipxe
|
||||||
|
Preboot Execution Environment (PXE) ROM support for various emulated network
|
||||||
|
adapters available with QEMU.
|
||||||
|
|
||||||
%if 0%{?with_systemd}
|
%if 0%{?with_systemd}
|
||||||
%package ksm
|
%package ksm
|
||||||
Summary: Kernel Samepage Merging services
|
Summary: Kernel Samepage Merging services
|
||||||
@ -412,7 +464,7 @@ This package provides a service file for starting and stopping KSM.
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %name-2.0.0-rc0
|
%setup -q #-n %name-2.0.0-rc3
|
||||||
%patch0001 -p1
|
%patch0001 -p1
|
||||||
%patch0002 -p1
|
%patch0002 -p1
|
||||||
%patch0003 -p1
|
%patch0003 -p1
|
||||||
@ -452,6 +504,11 @@ This package provides a service file for starting and stopping KSM.
|
|||||||
%patch0037 -p1
|
%patch0037 -p1
|
||||||
%patch0038 -p1
|
%patch0038 -p1
|
||||||
%patch0039 -p1
|
%patch0039 -p1
|
||||||
|
%patch0040 -p1
|
||||||
|
%patch0041 -p1
|
||||||
|
%patch0042 -p1
|
||||||
|
%patch0043 -p1
|
||||||
|
%patch0044 -p1
|
||||||
|
|
||||||
%patch1000 -p1
|
%patch1000 -p1
|
||||||
%patch1001 -p1
|
%patch1001 -p1
|
||||||
@ -459,7 +516,7 @@ This package provides a service file for starting and stopping KSM.
|
|||||||
|
|
||||||
%if %{build_x86_fw_from_source}
|
%if %{build_x86_fw_from_source}
|
||||||
# as a safeguard, delete the firmware files that we intend to build
|
# as a safeguard, delete the firmware files that we intend to build
|
||||||
for i in %firmware_files
|
for i in %built_firmware_files
|
||||||
do
|
do
|
||||||
rm -f pc-bios/$i
|
rm -f pc-bios/$i
|
||||||
done
|
done
|
||||||
@ -467,7 +524,9 @@ done
|
|||||||
|
|
||||||
%build
|
%build
|
||||||
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
|
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
|
||||||
|
--libdir=%_libdir \
|
||||||
--libexecdir=%_libexecdir \
|
--libexecdir=%_libexecdir \
|
||||||
|
--localstatedir=%_localstatedir \
|
||||||
--extra-cflags="%{optflags}" \
|
--extra-cflags="%{optflags}" \
|
||||||
--disable-strip \
|
--disable-strip \
|
||||||
--enable-system --disable-linux-user \
|
--enable-system --disable-linux-user \
|
||||||
@ -481,16 +540,15 @@ done
|
|||||||
--enable-cap-ng \
|
--enable-cap-ng \
|
||||||
--enable-curl \
|
--enable-curl \
|
||||||
--enable-curses \
|
--enable-curses \
|
||||||
%if 0%{?suse_version} >= 1210
|
|
||||||
--enable-gtk \
|
--enable-gtk \
|
||||||
%if 0%{?suse_version} >= 1220
|
%if 0%{?suse_version} >= 1220
|
||||||
--with-gtkabi=3.0 \
|
--with-gtkabi=3.0 \
|
||||||
%endif
|
|
||||||
%endif
|
%endif
|
||||||
--enable-linux-aio \
|
--enable-linux-aio \
|
||||||
--enable-modules \
|
--enable-modules \
|
||||||
--enable-sdl \
|
--enable-sdl \
|
||||||
--with-sdlabi=1.2 \
|
--with-sdlabi=1.2 \
|
||||||
|
--enable-smartcard-nss \
|
||||||
%if 0%{?suse_version} >= 1140
|
%if 0%{?suse_version} >= 1140
|
||||||
%ifarch %ix86 x86_64
|
%ifarch %ix86 x86_64
|
||||||
--enable-spice \
|
--enable-spice \
|
||||||
@ -503,7 +561,7 @@ done
|
|||||||
%if 0%{?suse_version} > 1310
|
%if 0%{?suse_version} > 1310
|
||||||
--enable-libusb \
|
--enable-libusb \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?sles_version} != 11
|
%if 0%{?sles_version} != 11
|
||||||
--enable-usb-redir \
|
--enable-usb-redir \
|
||||||
%endif
|
%endif
|
||||||
--enable-vde \
|
--enable-vde \
|
||||||
@ -522,10 +580,10 @@ make %{?_smp_mflags} V=1
|
|||||||
|
|
||||||
# Firmware
|
# Firmware
|
||||||
%if %{build_x86_fw_from_source}
|
%if %{build_x86_fw_from_source}
|
||||||
make --no-print-directory -C roms bios
|
make -C roms bios
|
||||||
make --no-print-directory -C roms seavgabios
|
make -C roms seavgabios
|
||||||
make --no-print-directory -C roms pxerom
|
make -C roms pxerom
|
||||||
make --no-print-directory -C roms sgabios
|
make -C roms sgabios
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%check
|
%check
|
||||||
@ -535,17 +593,15 @@ make check V=1
|
|||||||
make install DESTDIR=$RPM_BUILD_ROOT
|
make install DESTDIR=$RPM_BUILD_ROOT
|
||||||
rm -fr $RPM_BUILD_ROOT/%_datadir/doc
|
rm -fr $RPM_BUILD_ROOT/%_datadir/doc
|
||||||
install -D -m 644 %{SOURCE302} $RPM_BUILD_ROOT/%{_sysconfdir}/qemu/bridge.conf
|
install -D -m 644 %{SOURCE302} $RPM_BUILD_ROOT/%{_sysconfdir}/qemu/bridge.conf
|
||||||
%if 0%{?suse_version} >= 1210
|
|
||||||
%find_lang %name
|
%find_lang %name
|
||||||
%endif
|
|
||||||
%ifarch %ix86 x86_64 s390x
|
%ifarch %ix86 x86_64 s390x
|
||||||
cat > %{buildroot}%{_bindir}/qemu-kvm << 'EOF'
|
cat > %{buildroot}%{_bindir}/qemu-kvm << 'EOF'
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
%ifarch %s390x
|
%ifarch s390x
|
||||||
exec /usr/bin/qemu-system-s390x -machine accel=kvm "$@"
|
exec %{_bindir}/qemu-system-s390x -machine accel=kvm "$@"
|
||||||
%else
|
%else
|
||||||
exec /usr/bin/qemu-system-x86_64 -machine accel=kvm "$@"
|
exec %{_bindir}/qemu-system-x86_64 -machine accel=kvm "$@"
|
||||||
%endif
|
%endif
|
||||||
EOF
|
EOF
|
||||||
chmod 755 %{buildroot}%{_bindir}/qemu-kvm
|
chmod 755 %{buildroot}%{_bindir}/qemu-kvm
|
||||||
@ -560,7 +616,7 @@ install -D -m 755 %{SOURCE2} %{buildroot}/usr/share/qemu/qemu-ifup
|
|||||||
install -D -m 755 %{SOURCE3} %{buildroot}%{_bindir}/kvm_stat
|
install -D -m 755 %{SOURCE3} %{buildroot}%{_bindir}/kvm_stat
|
||||||
install -D -m 644 %{SOURCE4} %{buildroot}%{_mandir}/man1/qemu-kvm.1.gz
|
install -D -m 644 %{SOURCE4} %{buildroot}%{_mandir}/man1/qemu-kvm.1.gz
|
||||||
%endif
|
%endif
|
||||||
install -D -p -m 0744 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service
|
install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service
|
||||||
%fdupes -s $RPM_BUILD_ROOT
|
%fdupes -s $RPM_BUILD_ROOT
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
@ -589,6 +645,10 @@ fi
|
|||||||
%verify_permissions %_libexecdir/qemu-bridge-helper
|
%verify_permissions %_libexecdir/qemu-bridge-helper
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%post -n libcacard0 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n libcacard0 -p /sbin/ldconfig
|
||||||
|
|
||||||
%if 0%{?with_systemd}
|
%if 0%{?with_systemd}
|
||||||
%pre ksm
|
%pre ksm
|
||||||
%service_add_pre ksm.service
|
%service_add_pre ksm.service
|
||||||
@ -605,8 +665,8 @@ fi
|
|||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%dir %_libexecdir/%name
|
%dir %_libdir/%name
|
||||||
%_libexecdir/%name/block-curl.so
|
%_libdir/%name/block-curl.so
|
||||||
%doc COPYING COPYING.LIB Changelog README VERSION qemu-doc.html qemu-tech.html
|
%doc COPYING COPYING.LIB Changelog README VERSION qemu-doc.html qemu-tech.html
|
||||||
%doc %_mandir/man1/qemu.1.gz
|
%doc %_mandir/man1/qemu.1.gz
|
||||||
%_datadir/%name
|
%_datadir/%name
|
||||||
@ -649,7 +709,9 @@ fi
|
|||||||
%exclude %_datadir/%name/petalogix-s3adsp1800.dtb
|
%exclude %_datadir/%name/petalogix-s3adsp1800.dtb
|
||||||
%exclude %_datadir/%name/QEMU,cgthree.bin
|
%exclude %_datadir/%name/QEMU,cgthree.bin
|
||||||
%exclude %_datadir/%name/QEMU,tcx.bin
|
%exclude %_datadir/%name/QEMU,tcx.bin
|
||||||
|
%ifarch %ix86 x86_64 s390x
|
||||||
%exclude %_datadir/%name/qemu-ifup
|
%exclude %_datadir/%name/qemu-ifup
|
||||||
|
%endif
|
||||||
%dir %_sysconfdir/%name
|
%dir %_sysconfdir/%name
|
||||||
%ifarch %ix86 x86_64
|
%ifarch %ix86 x86_64
|
||||||
%if 0%{?suse_version} >= 1230
|
%if 0%{?suse_version} >= 1230
|
||||||
@ -714,10 +776,8 @@ fi
|
|||||||
%_mandir/man1/qemu-kvm.1.gz
|
%_mandir/man1/qemu-kvm.1.gz
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?suse_version} >= 1210
|
|
||||||
%files lang -f %name.lang
|
%files lang -f %name.lang
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%endif
|
|
||||||
|
|
||||||
%files seabios
|
%files seabios
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
@ -762,16 +822,31 @@ fi
|
|||||||
%_bindir/qemu-img
|
%_bindir/qemu-img
|
||||||
%_bindir/qemu-nbd
|
%_bindir/qemu-nbd
|
||||||
%_bindir/virtfs-proxy-helper
|
%_bindir/virtfs-proxy-helper
|
||||||
|
%_bindir/vscclient
|
||||||
%verify(not mode) %_libexecdir/qemu-bridge-helper
|
%verify(not mode) %_libexecdir/qemu-bridge-helper
|
||||||
%dir %_sysconfdir/%name
|
%dir %_sysconfdir/%name
|
||||||
%config %_sysconfdir/%name/bridge.conf
|
%config %_sysconfdir/%name/bridge.conf
|
||||||
|
|
||||||
|
%files -n libcacard0
|
||||||
|
%defattr(-, root, root)
|
||||||
|
%_libdir/libcacard.so.0*
|
||||||
|
|
||||||
|
%files -n libcacard-devel
|
||||||
|
%defattr(-, root, root)
|
||||||
|
%dir %_includedir/cacard
|
||||||
|
%_includedir/cacard/*.h
|
||||||
|
%_libdir/libcacard.la
|
||||||
|
%_libdir/libcacard.a
|
||||||
|
%_libdir/libcacard.so
|
||||||
|
%_libdir/pkgconfig/libcacard.pc
|
||||||
|
|
||||||
%files guest-agent
|
%files guest-agent
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%attr(755,root,kvm) %_bindir/qemu-ga
|
%attr(755,root,kvm) %_bindir/qemu-ga
|
||||||
|
|
||||||
%if 0%{?with_systemd}
|
%if 0%{?with_systemd}
|
||||||
%files ksm
|
%files ksm
|
||||||
|
%defattr(-, root, root)
|
||||||
%{_unitdir}/ksm.service
|
%{_unitdir}/ksm.service
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
217
qemu.spec.in
217
qemu.spec.in
@ -18,10 +18,15 @@
|
|||||||
|
|
||||||
%ifarch %ix86 x86_64
|
%ifarch %ix86 x86_64
|
||||||
# choice of building all from source or using provided binary x86 blobs
|
# choice of building all from source or using provided binary x86 blobs
|
||||||
|
%if 0%{?suse_version} >= 1140
|
||||||
%define build_x86_fw_from_source 1
|
%define build_x86_fw_from_source 1
|
||||||
%else
|
%else
|
||||||
%define build_x86_fw_from_source 0
|
%define build_x86_fw_from_source 0
|
||||||
%endif
|
%endif
|
||||||
|
%else
|
||||||
|
%define build_x86_fw_from_source 0
|
||||||
|
%endif
|
||||||
|
%define noarch_supported 1110
|
||||||
|
|
||||||
Name: qemu
|
Name: qemu
|
||||||
Url: http://www.qemu.org/
|
Url: http://www.qemu.org/
|
||||||
@ -30,7 +35,7 @@ License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
|
|||||||
Group: System/Emulators/PC
|
Group: System/Emulators/PC
|
||||||
QEMU_VERSION
|
QEMU_VERSION
|
||||||
Release: 0
|
Release: 0
|
||||||
Source: %name-2.0.0-rc0.tar.bz2
|
Source: %name-2.0.0.tar.bz2
|
||||||
Source1: 80-kvm.rules
|
Source1: 80-kvm.rules
|
||||||
Source2: qemu-ifup
|
Source2: qemu-ifup
|
||||||
Source3: kvm_stat
|
Source3: kvm_stat
|
||||||
@ -91,13 +96,15 @@ BuildRequires: libpcap-devel
|
|||||||
BuildRequires: libpixman-1-0-devel
|
BuildRequires: libpixman-1-0-devel
|
||||||
BuildRequires: libpng-devel
|
BuildRequires: libpng-devel
|
||||||
BuildRequires: libpulse-devel
|
BuildRequires: libpulse-devel
|
||||||
|
BuildRequires: libtool
|
||||||
%if 0%{?suse_version} > 1310
|
%if 0%{?suse_version} > 1310
|
||||||
BuildRequires: libusb
|
BuildRequires: libusb-devel
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: libvdeplug3-devel
|
BuildRequires: libvdeplug3-devel
|
||||||
%if 0%{?suse_version} > 1220
|
%if 0%{?suse_version} > 1220
|
||||||
BuildRequires: makeinfo
|
BuildRequires: makeinfo
|
||||||
%endif
|
%endif
|
||||||
|
BuildRequires: mozilla-nss-devel
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
BuildRequires: pwdutils
|
BuildRequires: pwdutils
|
||||||
BuildRequires: python
|
BuildRequires: python
|
||||||
@ -106,7 +113,7 @@ BuildRequires: systemd
|
|||||||
%{?systemd_requires}
|
%{?systemd_requires}
|
||||||
%define with_systemd 1
|
%define with_systemd 1
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?sles_version} != 11
|
%if 0%{?sles_version} != 11
|
||||||
BuildRequires: usbredir-devel
|
BuildRequires: usbredir-devel
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?suse_version} >= 1210
|
%if 0%{?suse_version} >= 1210
|
||||||
@ -155,12 +162,16 @@ Recommends: qemu-arm
|
|||||||
Suggests: qemu-arm
|
Suggests: qemu-arm
|
||||||
%endif
|
%endif
|
||||||
Suggests: qemu-extra
|
Suggests: qemu-extra
|
||||||
|
Suggests: qemu-lang
|
||||||
%if 0%{?suse_version} >= 1210
|
%if 0%{?suse_version} >= 1210
|
||||||
Recommends: qemu-ksm = %{version}
|
Recommends: qemu-ksm = %{version}
|
||||||
Suggests: qemu-lang
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%define firmware_files {acpi-dsdt.aml bios.bin q35-acpi-dsdt.aml sgabios.bin vgabios.bin vgabios-cirrus.bin vgabios-stdvga.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}
|
%define built_firmware_files {acpi-dsdt.aml bios.bin bios-256k.bin \
|
||||||
|
q35-acpi-dsdt.aml sgabios.bin vgabios.bin vgabios-cirrus.bin \
|
||||||
|
vgabios-stdvga.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}
|
||||||
|
|
||||||
%description
|
%description
|
||||||
QEMU is an extremely well-performing CPU emulator that allows you to
|
QEMU is an extremely well-performing CPU emulator that allows you to
|
||||||
@ -267,7 +278,6 @@ not required for KVM usage, but rather facilitates its usage with tools
|
|||||||
derived from the legacy kvm package.
|
derived from the legacy kvm package.
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?suse_version} >= 1210
|
|
||||||
%package lang
|
%package lang
|
||||||
Summary: Universal CPU emulator -- Translations
|
Summary: Universal CPU emulator -- Translations
|
||||||
Group: System/Emulators/PC
|
Group: System/Emulators/PC
|
||||||
@ -280,57 +290,6 @@ system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
|
|||||||
as PC and PowerMac systems.
|
as PC and PowerMac systems.
|
||||||
|
|
||||||
This sub-package contains translations.
|
This sub-package contains translations.
|
||||||
%endif
|
|
||||||
|
|
||||||
%package seabios
|
|
||||||
Summary: X86 BIOS for QEMU
|
|
||||||
Group: System/Emulators/PC
|
|
||||||
Version: 1.7.4
|
|
||||||
Release: 0
|
|
||||||
BuildArch: noarch
|
|
||||||
Conflicts: qemu < 1.6.0
|
|
||||||
|
|
||||||
%description seabios
|
|
||||||
SeaBIOS is an open source implementation of a 16bit x86 BIOS. SeaBIOS
|
|
||||||
is the default BIOS for QEMU.
|
|
||||||
|
|
||||||
%package vgabios
|
|
||||||
Summary: VGA BIOSes for QEMU
|
|
||||||
Group: System/Emulators/PC
|
|
||||||
Version: 1.7.4
|
|
||||||
Release: 0
|
|
||||||
BuildArch: noarch
|
|
||||||
Conflicts: qemu < 1.6.0
|
|
||||||
|
|
||||||
%description vgabios
|
|
||||||
VGABIOS provides the video ROM BIOSes for the following variants of VGA
|
|
||||||
emulated devices: Std VGA, QXL, Cirrus CLGD 5446 and VMware emulated
|
|
||||||
video card.
|
|
||||||
|
|
||||||
%package sgabios
|
|
||||||
Summary: Serial Graphics Adapter BIOS for QEMU
|
|
||||||
Group: System/Emulators/PC
|
|
||||||
Version: 8
|
|
||||||
Release: 0
|
|
||||||
BuildArch: noarch
|
|
||||||
Conflicts: qemu < 1.6.0
|
|
||||||
|
|
||||||
%description sgabios
|
|
||||||
The Google Serial Graphics Adapter BIOS or SGABIOS provides a means for legacy
|
|
||||||
x86 software to communicate with an attached serial console as if a video card
|
|
||||||
were attached.
|
|
||||||
|
|
||||||
%package ipxe
|
|
||||||
Summary: PXE ROMs for QEMU NICs
|
|
||||||
Group: System/Emulators/PC
|
|
||||||
Version: 1.0.0
|
|
||||||
Release: 0
|
|
||||||
BuildArch: noarch
|
|
||||||
Conflicts: qemu < 1.6.0
|
|
||||||
|
|
||||||
%description ipxe
|
|
||||||
Preboot Execution Environment (PXE) ROM support for various emulated network
|
|
||||||
adapters available with QEMU.
|
|
||||||
|
|
||||||
%package tools
|
%package tools
|
||||||
Summary: Universal CPU emulator -- Tools
|
Summary: Universal CPU emulator -- Tools
|
||||||
@ -347,6 +306,36 @@ as PC and PowerMac systems.
|
|||||||
|
|
||||||
This sub-package contains various tools, including a bridge helper.
|
This sub-package contains various tools, including a bridge helper.
|
||||||
|
|
||||||
|
%package -n libcacard0
|
||||||
|
Summary: Universal CPU emulator -- Smartcard emulation
|
||||||
|
Group: System/Emulators/PC
|
||||||
|
|
||||||
|
%description -n libcacard0
|
||||||
|
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 the Smartcard library.
|
||||||
|
|
||||||
|
%package -n libcacard-devel
|
||||||
|
Summary: Universal CPU emulator -- Smartcard emulation
|
||||||
|
Group: System/Emulators/PC
|
||||||
|
Requires: glib2-devel
|
||||||
|
Requires: libcacard0 = %version
|
||||||
|
Requires: mozilla-nspr
|
||||||
|
Requires: mozilla-nss
|
||||||
|
|
||||||
|
%description -n libcacard-devel
|
||||||
|
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 development files for the Smartcard library.
|
||||||
|
|
||||||
%package guest-agent
|
%package guest-agent
|
||||||
Summary: Universal CPU emulator -- Guest agent
|
Summary: Universal CPU emulator -- Guest agent
|
||||||
Group: System/Emulators/PC
|
Group: System/Emulators/PC
|
||||||
@ -361,6 +350,64 @@ as PC and PowerMac systems.
|
|||||||
|
|
||||||
This sub-package contains the guest agent.
|
This sub-package contains the guest agent.
|
||||||
|
|
||||||
|
%package seabios
|
||||||
|
Summary: X86 BIOS for QEMU
|
||||||
|
Group: System/Emulators/PC
|
||||||
|
SEABIOS_VERSION
|
||||||
|
Release: 0
|
||||||
|
%if 0%{?suse_version} > %{noarch_supported}
|
||||||
|
BuildArch: noarch
|
||||||
|
%endif
|
||||||
|
Conflicts: qemu < 1.6.0
|
||||||
|
|
||||||
|
%description seabios
|
||||||
|
SeaBIOS is an open source implementation of a 16bit x86 BIOS. SeaBIOS
|
||||||
|
is the default BIOS for QEMU.
|
||||||
|
|
||||||
|
%package vgabios
|
||||||
|
Summary: VGA BIOSes for QEMU
|
||||||
|
Group: System/Emulators/PC
|
||||||
|
SEABIOS_VERSION
|
||||||
|
Release: 0
|
||||||
|
%if 0%{?suse_version} > %{noarch_supported}
|
||||||
|
BuildArch: noarch
|
||||||
|
%endif
|
||||||
|
Conflicts: qemu < 1.6.0
|
||||||
|
|
||||||
|
%description vgabios
|
||||||
|
VGABIOS provides the video ROM BIOSes for the following variants of VGA
|
||||||
|
emulated devices: Std VGA, QXL, Cirrus CLGD 5446 and VMware emulated
|
||||||
|
video card.
|
||||||
|
|
||||||
|
%package sgabios
|
||||||
|
Summary: Serial Graphics Adapter BIOS for QEMU
|
||||||
|
Group: System/Emulators/PC
|
||||||
|
Version: 8
|
||||||
|
Release: 0
|
||||||
|
%if 0%{?suse_version} > %{noarch_supported}
|
||||||
|
BuildArch: noarch
|
||||||
|
%endif
|
||||||
|
Conflicts: qemu < 1.6.0
|
||||||
|
|
||||||
|
%description sgabios
|
||||||
|
The Google Serial Graphics Adapter BIOS or SGABIOS provides a means for legacy
|
||||||
|
x86 software to communicate with an attached serial console as if a video card
|
||||||
|
were attached.
|
||||||
|
|
||||||
|
%package ipxe
|
||||||
|
Summary: PXE ROMs for QEMU NICs
|
||||||
|
Group: System/Emulators/PC
|
||||||
|
Version: 1.0.0
|
||||||
|
Release: 0
|
||||||
|
%if 0%{?suse_version} > %{noarch_supported}
|
||||||
|
BuildArch: noarch
|
||||||
|
%endif
|
||||||
|
Conflicts: qemu < 1.6.0
|
||||||
|
|
||||||
|
%description ipxe
|
||||||
|
Preboot Execution Environment (PXE) ROM support for various emulated network
|
||||||
|
adapters available with QEMU.
|
||||||
|
|
||||||
%if 0%{?with_systemd}
|
%if 0%{?with_systemd}
|
||||||
%package ksm
|
%package ksm
|
||||||
Summary: Kernel Samepage Merging services
|
Summary: Kernel Samepage Merging services
|
||||||
@ -374,7 +421,7 @@ This package provides a service file for starting and stopping KSM.
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %name-2.0.0-rc0
|
%setup -q #-n %name-2.0.0-rc3
|
||||||
PATCH_EXEC
|
PATCH_EXEC
|
||||||
|
|
||||||
%patch1000 -p1
|
%patch1000 -p1
|
||||||
@ -383,7 +430,7 @@ PATCH_EXEC
|
|||||||
|
|
||||||
%if %{build_x86_fw_from_source}
|
%if %{build_x86_fw_from_source}
|
||||||
# as a safeguard, delete the firmware files that we intend to build
|
# as a safeguard, delete the firmware files that we intend to build
|
||||||
for i in %firmware_files
|
for i in %built_firmware_files
|
||||||
do
|
do
|
||||||
rm -f pc-bios/$i
|
rm -f pc-bios/$i
|
||||||
done
|
done
|
||||||
@ -391,7 +438,9 @@ done
|
|||||||
|
|
||||||
%build
|
%build
|
||||||
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
|
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
|
||||||
|
--libdir=%_libdir \
|
||||||
--libexecdir=%_libexecdir \
|
--libexecdir=%_libexecdir \
|
||||||
|
--localstatedir=%_localstatedir \
|
||||||
--extra-cflags="%{optflags}" \
|
--extra-cflags="%{optflags}" \
|
||||||
--disable-strip \
|
--disable-strip \
|
||||||
--enable-system --disable-linux-user \
|
--enable-system --disable-linux-user \
|
||||||
@ -405,16 +454,15 @@ done
|
|||||||
--enable-cap-ng \
|
--enable-cap-ng \
|
||||||
--enable-curl \
|
--enable-curl \
|
||||||
--enable-curses \
|
--enable-curses \
|
||||||
%if 0%{?suse_version} >= 1210
|
|
||||||
--enable-gtk \
|
--enable-gtk \
|
||||||
%if 0%{?suse_version} >= 1220
|
%if 0%{?suse_version} >= 1220
|
||||||
--with-gtkabi=3.0 \
|
--with-gtkabi=3.0 \
|
||||||
%endif
|
|
||||||
%endif
|
%endif
|
||||||
--enable-linux-aio \
|
--enable-linux-aio \
|
||||||
--enable-modules \
|
--enable-modules \
|
||||||
--enable-sdl \
|
--enable-sdl \
|
||||||
--with-sdlabi=1.2 \
|
--with-sdlabi=1.2 \
|
||||||
|
--enable-smartcard-nss \
|
||||||
%if 0%{?suse_version} >= 1140
|
%if 0%{?suse_version} >= 1140
|
||||||
%ifarch %ix86 x86_64
|
%ifarch %ix86 x86_64
|
||||||
--enable-spice \
|
--enable-spice \
|
||||||
@ -427,7 +475,7 @@ done
|
|||||||
%if 0%{?suse_version} > 1310
|
%if 0%{?suse_version} > 1310
|
||||||
--enable-libusb \
|
--enable-libusb \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?sles_version} != 11
|
%if 0%{?sles_version} != 11
|
||||||
--enable-usb-redir \
|
--enable-usb-redir \
|
||||||
%endif
|
%endif
|
||||||
--enable-vde \
|
--enable-vde \
|
||||||
@ -446,10 +494,10 @@ make %{?_smp_mflags} V=1
|
|||||||
|
|
||||||
# Firmware
|
# Firmware
|
||||||
%if %{build_x86_fw_from_source}
|
%if %{build_x86_fw_from_source}
|
||||||
make --no-print-directory -C roms bios
|
make -C roms bios
|
||||||
make --no-print-directory -C roms seavgabios
|
make -C roms seavgabios
|
||||||
make --no-print-directory -C roms pxerom
|
make -C roms pxerom
|
||||||
make --no-print-directory -C roms sgabios
|
make -C roms sgabios
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%check
|
%check
|
||||||
@ -459,17 +507,15 @@ make check V=1
|
|||||||
make install DESTDIR=$RPM_BUILD_ROOT
|
make install DESTDIR=$RPM_BUILD_ROOT
|
||||||
rm -fr $RPM_BUILD_ROOT/%_datadir/doc
|
rm -fr $RPM_BUILD_ROOT/%_datadir/doc
|
||||||
install -D -m 644 %{SOURCE302} $RPM_BUILD_ROOT/%{_sysconfdir}/qemu/bridge.conf
|
install -D -m 644 %{SOURCE302} $RPM_BUILD_ROOT/%{_sysconfdir}/qemu/bridge.conf
|
||||||
%if 0%{?suse_version} >= 1210
|
|
||||||
%find_lang %name
|
%find_lang %name
|
||||||
%endif
|
|
||||||
%ifarch %ix86 x86_64 s390x
|
%ifarch %ix86 x86_64 s390x
|
||||||
cat > %{buildroot}%{_bindir}/qemu-kvm << 'EOF'
|
cat > %{buildroot}%{_bindir}/qemu-kvm << 'EOF'
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
%ifarch %s390x
|
%ifarch s390x
|
||||||
exec /usr/bin/qemu-system-s390x -machine accel=kvm "$@"
|
exec %{_bindir}/qemu-system-s390x -machine accel=kvm "$@"
|
||||||
%else
|
%else
|
||||||
exec /usr/bin/qemu-system-x86_64 -machine accel=kvm "$@"
|
exec %{_bindir}/qemu-system-x86_64 -machine accel=kvm "$@"
|
||||||
%endif
|
%endif
|
||||||
EOF
|
EOF
|
||||||
chmod 755 %{buildroot}%{_bindir}/qemu-kvm
|
chmod 755 %{buildroot}%{_bindir}/qemu-kvm
|
||||||
@ -484,7 +530,7 @@ install -D -m 755 %{SOURCE2} %{buildroot}/usr/share/qemu/qemu-ifup
|
|||||||
install -D -m 755 %{SOURCE3} %{buildroot}%{_bindir}/kvm_stat
|
install -D -m 755 %{SOURCE3} %{buildroot}%{_bindir}/kvm_stat
|
||||||
install -D -m 644 %{SOURCE4} %{buildroot}%{_mandir}/man1/qemu-kvm.1.gz
|
install -D -m 644 %{SOURCE4} %{buildroot}%{_mandir}/man1/qemu-kvm.1.gz
|
||||||
%endif
|
%endif
|
||||||
install -D -p -m 0744 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service
|
install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service
|
||||||
%fdupes -s $RPM_BUILD_ROOT
|
%fdupes -s $RPM_BUILD_ROOT
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
@ -513,6 +559,10 @@ fi
|
|||||||
%verify_permissions %_libexecdir/qemu-bridge-helper
|
%verify_permissions %_libexecdir/qemu-bridge-helper
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%post -n libcacard0 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n libcacard0 -p /sbin/ldconfig
|
||||||
|
|
||||||
%if 0%{?with_systemd}
|
%if 0%{?with_systemd}
|
||||||
%pre ksm
|
%pre ksm
|
||||||
%service_add_pre ksm.service
|
%service_add_pre ksm.service
|
||||||
@ -529,8 +579,8 @@ fi
|
|||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%dir %_libexecdir/%name
|
%dir %_libdir/%name
|
||||||
%_libexecdir/%name/block-curl.so
|
%_libdir/%name/block-curl.so
|
||||||
%doc COPYING COPYING.LIB Changelog README VERSION qemu-doc.html qemu-tech.html
|
%doc COPYING COPYING.LIB Changelog README VERSION qemu-doc.html qemu-tech.html
|
||||||
%doc %_mandir/man1/qemu.1.gz
|
%doc %_mandir/man1/qemu.1.gz
|
||||||
%_datadir/%name
|
%_datadir/%name
|
||||||
@ -573,7 +623,9 @@ fi
|
|||||||
%exclude %_datadir/%name/petalogix-s3adsp1800.dtb
|
%exclude %_datadir/%name/petalogix-s3adsp1800.dtb
|
||||||
%exclude %_datadir/%name/QEMU,cgthree.bin
|
%exclude %_datadir/%name/QEMU,cgthree.bin
|
||||||
%exclude %_datadir/%name/QEMU,tcx.bin
|
%exclude %_datadir/%name/QEMU,tcx.bin
|
||||||
|
%ifarch %ix86 x86_64 s390x
|
||||||
%exclude %_datadir/%name/qemu-ifup
|
%exclude %_datadir/%name/qemu-ifup
|
||||||
|
%endif
|
||||||
%dir %_sysconfdir/%name
|
%dir %_sysconfdir/%name
|
||||||
%ifarch %ix86 x86_64
|
%ifarch %ix86 x86_64
|
||||||
%if 0%{?suse_version} >= 1230
|
%if 0%{?suse_version} >= 1230
|
||||||
@ -638,10 +690,8 @@ fi
|
|||||||
%_mandir/man1/qemu-kvm.1.gz
|
%_mandir/man1/qemu-kvm.1.gz
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?suse_version} >= 1210
|
|
||||||
%files lang -f %name.lang
|
%files lang -f %name.lang
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%endif
|
|
||||||
|
|
||||||
%files seabios
|
%files seabios
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
@ -686,16 +736,31 @@ fi
|
|||||||
%_bindir/qemu-img
|
%_bindir/qemu-img
|
||||||
%_bindir/qemu-nbd
|
%_bindir/qemu-nbd
|
||||||
%_bindir/virtfs-proxy-helper
|
%_bindir/virtfs-proxy-helper
|
||||||
|
%_bindir/vscclient
|
||||||
%verify(not mode) %_libexecdir/qemu-bridge-helper
|
%verify(not mode) %_libexecdir/qemu-bridge-helper
|
||||||
%dir %_sysconfdir/%name
|
%dir %_sysconfdir/%name
|
||||||
%config %_sysconfdir/%name/bridge.conf
|
%config %_sysconfdir/%name/bridge.conf
|
||||||
|
|
||||||
|
%files -n libcacard0
|
||||||
|
%defattr(-, root, root)
|
||||||
|
%_libdir/libcacard.so.0*
|
||||||
|
|
||||||
|
%files -n libcacard-devel
|
||||||
|
%defattr(-, root, root)
|
||||||
|
%dir %_includedir/cacard
|
||||||
|
%_includedir/cacard/*.h
|
||||||
|
%_libdir/libcacard.la
|
||||||
|
%_libdir/libcacard.a
|
||||||
|
%_libdir/libcacard.so
|
||||||
|
%_libdir/pkgconfig/libcacard.pc
|
||||||
|
|
||||||
%files guest-agent
|
%files guest-agent
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%attr(755,root,kvm) %_bindir/qemu-ga
|
%attr(755,root,kvm) %_bindir/qemu-ga
|
||||||
|
|
||||||
%if 0%{?with_systemd}
|
%if 0%{?with_systemd}
|
||||||
%files ksm
|
%files ksm
|
||||||
|
%defattr(-, root, root)
|
||||||
%{_unitdir}/ksm.service
|
%{_unitdir}/ksm.service
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
@ -11,16 +11,30 @@
|
|||||||
# when it comes.
|
# when it comes.
|
||||||
|
|
||||||
GIT_TREE=git://github.com/openSUSE/qemu.git
|
GIT_TREE=git://github.com/openSUSE/qemu.git
|
||||||
GIT_LOCAL_TREE=/home/andreas/QEMU/qemu-opensuse
|
GIT_LOCAL_TREE=~/git/qemu-opensuse
|
||||||
GIT_BRANCH=opensuse-2.0
|
GIT_BRANCH=opensuse-2.0
|
||||||
GIT_UPSTREAM_TAG=v2.0.0-rc0
|
GIT_UPSTREAM_TAG=v2.0.0
|
||||||
QEMU_TMP=/dev/shm/qemu-tmp
|
QEMU_TMP=/dev/shm/qemu-tmp
|
||||||
|
|
||||||
# clean up
|
restore_file_to_package() {
|
||||||
|
# If the processed file matches the previous one, move the previous
|
||||||
|
# one back in place, otherwise add the processed file.
|
||||||
|
|
||||||
|
if cmp -s "$1" saved."$1"; then
|
||||||
|
osc mv --force saved."$1" "$1"
|
||||||
|
else
|
||||||
|
osc add "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# save files in case they remain unchanged
|
||||||
if [ -e 0001-* ]; then
|
if [ -e 0001-* ]; then
|
||||||
osc rm --force 0*
|
for i in 0*; do
|
||||||
|
osc mv $i saved.$i
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
rm -f qemu.spec qemu-linux-user.spec
|
osc mv qemu.spec saved.qemu.spec
|
||||||
|
osc mv qemu-linux-user.spec saved.qemu-linux-user.spec
|
||||||
|
|
||||||
# fetch all patches
|
# fetch all patches
|
||||||
rm -rf $QEMU_TMP
|
rm -rf $QEMU_TMP
|
||||||
@ -41,13 +55,14 @@ cd "$OSCDIR"
|
|||||||
rm -rf $QEMU_TMP
|
rm -rf $QEMU_TMP
|
||||||
|
|
||||||
# cut off file name after 40 bytes, so we work around git version differences
|
# cut off file name after 40 bytes, so we work around git version differences
|
||||||
# while at it, also remove the signature
|
# while at it, also remove the signature.
|
||||||
for i in 0*; do
|
for i in 0*; do
|
||||||
PATCHNAME=${i%.patch}
|
PATCHNAME=${i%.patch}
|
||||||
PATCHNAME=${i:0:40}.patch
|
PATCHNAME=${PATCHNAME:0:40}.patch
|
||||||
head -n $(expr $(wc -l $i | cut -d ' ' -f 1) - 3) $i > "$PATCHNAME.tmp"
|
head -n $(expr $(wc -l $i | cut -d ' ' -f 1) - 3) $i > "$PATCHNAME.tmp"
|
||||||
rm "$i"
|
rm "$i"
|
||||||
mv "$PATCHNAME.tmp" "$PATCHNAME"
|
mv "$PATCHNAME.tmp" "$PATCHNAME"
|
||||||
|
restore_file_to_package "$PATCHNAME"
|
||||||
done
|
done
|
||||||
|
|
||||||
# we have all patches as files now - generate the spec files!
|
# we have all patches as files now - generate the spec files!
|
||||||
@ -65,10 +80,26 @@ for package in qemu qemu-linux-user; do
|
|||||||
done
|
done
|
||||||
elif [ "$line" = "QEMU_VERSION" ]; then
|
elif [ "$line" = "QEMU_VERSION" ]; then
|
||||||
echo "Version: $QEMU_VERSION"
|
echo "Version: $QEMU_VERSION"
|
||||||
|
elif [[ "$line" =~ ^Source: ]]; then
|
||||||
|
QEMU_TARBALL=qemu-`echo "$line" | cut -d '-' -f 2-`
|
||||||
|
VERSION_FILE=${QEMU_TARBALL%.tar.bz2}/roms/seabios/.version
|
||||||
|
SEABIOS_VERSION=`tar jxfO "$QEMU_TARBALL" "$VERSION_FILE"`
|
||||||
|
SEABIOS_VERSION=`echo $SEABIOS_VERSION | cut -d '-' -f 2`
|
||||||
|
echo "$line"
|
||||||
|
elif [ "$line" = "SEABIOS_VERSION" ]; then
|
||||||
|
echo "Version: $SEABIOS_VERSION"
|
||||||
else
|
else
|
||||||
echo "$line"
|
echo "$line"
|
||||||
fi
|
fi
|
||||||
done < $package.spec.in > $package.spec
|
done < $package.spec.in > $package.spec
|
||||||
done
|
done
|
||||||
osc add 0*
|
|
||||||
|
restore_file_to_package qemu.spec
|
||||||
|
restore_file_to_package qemu-linux-user.spec
|
||||||
|
|
||||||
|
# remove any remaining saved files
|
||||||
|
files=(saved.*)
|
||||||
|
if [ -e "${files[0]}" ]; then
|
||||||
|
osc rm --force saved.*
|
||||||
|
fi
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user