Accepting request 209786 from home:bfrogers:branches:Virtualization

Update to v1.7

OBS-URL: https://build.opensuse.org/request/show/209786
OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=169
This commit is contained in:
Bruce Rogers 2013-12-08 05:19:09 +00:00 committed by Git OBS Bridge
parent 51008c7ec8
commit f13ae0bb06
50 changed files with 267 additions and 330 deletions

View File

@ -1,4 +1,4 @@
From 96fdd2e375c9cbc38acf54f3d3c5584c8a8c66d6 Mon Sep 17 00:00:00 2001 From bb7aab5b553678fcd83cd00040aa4fc227d34eec 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,7 +8,7 @@ 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 23d65da..c6f9968 100644 index 7751c47..a9874b1 100644
--- a/linux-user/signal.c --- a/linux-user/signal.c
+++ b/linux-user/signal.c +++ b/linux-user/signal.c
@@ -395,6 +395,10 @@ static void QEMU_NORETURN force_sig(int target_sig) @@ -395,6 +395,10 @@ static void QEMU_NORETURN force_sig(int target_sig)

View File

@ -1,4 +1,4 @@
From f0ca925132c41f666887b42884f878d37a639e2f Mon Sep 17 00:00:00 2001 From 108b10473e39e9952ccd4e5b647f09b06f0f0a4e 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)
@ -12,10 +12,10 @@ Subject: [PATCH] XXX work around SA_RESTART race with boehm-gc (ARM only)
4 files changed, 130 insertions(+), 10 deletions(-) 4 files changed, 130 insertions(+), 10 deletions(-)
diff --git a/linux-user/main.c b/linux-user/main.c diff --git a/linux-user/main.c b/linux-user/main.c
index 03859bc..aae31c1 100644 index 6b4ab09..f60ad35 100644
--- a/linux-user/main.c --- a/linux-user/main.c
+++ b/linux-user/main.c +++ b/linux-user/main.c
@@ -801,15 +801,22 @@ void cpu_loop(CPUARMState *env) @@ -810,15 +810,22 @@ void cpu_loop(CPUARMState *env)
break; break;
} }
} else { } else {
@ -48,10 +48,10 @@ index 03859bc..aae31c1 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 4a16e8f..9411c77 100644 index da64e87..8137c46 100644
--- a/linux-user/qemu.h --- a/linux-user/qemu.h
+++ b/linux-user/qemu.h +++ b/linux-user/qemu.h
@@ -131,6 +131,8 @@ typedef struct TaskState { @@ -133,6 +133,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 */
@ -60,8 +60,8 @@ index 4a16e8f..9411c77 100644
} __attribute__((aligned(16))) TaskState; } __attribute__((aligned(16))) TaskState;
extern char *exec_path; extern char *exec_path;
@@ -197,6 +199,7 @@ char *target_strerror(int err); @@ -200,6 +202,7 @@ int get_osversion(void);
int get_osversion(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);
+int syscall_restartable(int syscall_nr); +int syscall_restartable(int syscall_nr);
@ -69,7 +69,7 @@ index 4a16e8f..9411c77 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 c6f9968..b52c536 100644 index a9874b1..f85341e 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 @@
@ -118,10 +118,10 @@ index c6f9968..b52c536 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 f986548..23954c1 100644 index eaaf00d..6097420 100644
--- a/linux-user/syscall.c --- a/linux-user/syscall.c
+++ b/linux-user/syscall.c +++ b/linux-user/syscall.c
@@ -5085,6 +5085,87 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode) @@ -5273,6 +5273,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));
} }
@ -209,7 +209,7 @@ index f986548..23954c1 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>. */
@@ -5098,6 +5179,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, @@ -5286,6 +5367,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;
@ -222,7 +222,7 @@ index f986548..23954c1 100644
#ifdef DEBUG #ifdef DEBUG
gemu_log("syscall %d", num); gemu_log("syscall %d", num);
@@ -8215,7 +8302,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, @@ -8391,7 +8478,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;
@ -231,7 +231,7 @@ index f986548..23954c1 100644
} }
switch(arg2) { switch(arg2) {
@@ -9006,6 +9093,7 @@ fail: @@ -9210,6 +9297,7 @@ fail:
#endif #endif
if(do_strace) if(do_strace)
print_syscall_ret(num, ret); print_syscall_ret(num, ret);

View File

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

View File

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

View File

@ -1,4 +1,4 @@
From 25491b2938a02eab0aa52511497c38a23bca59dd Mon Sep 17 00:00:00 2001 From 1aacf4b9312f3580be0e894eee5a4009ffa6d464 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
@ -20,10 +20,10 @@ Signed-off-by: Ulrich Hecht <uli@suse.de>
create mode 100644 linux-user/syscall_types_alsa.h create mode 100644 linux-user/syscall_types_alsa.h
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 439c2a9..28dc0b2 100644 index 7381012..1c9d67f 100644
--- a/linux-user/ioctls.h --- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h +++ b/linux-user/ioctls.h
@@ -314,6 +314,11 @@ @@ -315,6 +315,11 @@
IOCTL(VFAT_IOCTL_READDIR_BOTH, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2))) IOCTL(VFAT_IOCTL_READDIR_BOTH, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2)))
IOCTL(VFAT_IOCTL_READDIR_SHORT, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2))) IOCTL(VFAT_IOCTL_READDIR_SHORT, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2)))
@ -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 086fbff..a8aba1b 100644 index fe540f6..57ac1ce 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
@@ -2476,4 +2476,6 @@ struct target_ucred { @@ -2526,4 +2526,6 @@ struct target_ucred {
uint32_t gid; uint32_t gid;
}; };

View File

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

View File

@ -1,4 +1,4 @@
From 09234517892afd6d333bb74e9af2aea639b26eaf Mon Sep 17 00:00:00 2001 From 81e1305e8d87d797689947145823d6926a6f6172 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 23954c1..709c167 100644 index 6097420..aef4fb6 100644
--- a/linux-user/syscall.c --- a/linux-user/syscall.c
+++ b/linux-user/syscall.c +++ b/linux-user/syscall.c
@@ -6236,6 +6236,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, @@ -6411,6 +6411,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;

View File

@ -1,4 +1,4 @@
From 29c0e43999b1a7e21718ff83b15ba53fee7dfe4a Mon Sep 17 00:00:00 2001 From c3cfd1495e3d4862634b2a5b3b77db8d0c2ffbeb 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 709c167..7453ff5 100644 index aef4fb6..c8c9e1a 100644
--- a/linux-user/syscall.c --- a/linux-user/syscall.c
+++ b/linux-user/syscall.c +++ b/linux-user/syscall.c
@@ -3649,7 +3649,12 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg) @@ -3755,7 +3755,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) {

View File

@ -1,4 +1,4 @@
From 30dbae58808b8c3f0d16486b06b2beec329baab4 Mon Sep 17 00:00:00 2001 From 303d0b0031d6e18a31e95579cb21d712fac5499e 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 7453ff5..18ec182 100644 index c8c9e1a..2b4e263 100644
--- a/linux-user/syscall.c --- a/linux-user/syscall.c
+++ b/linux-user/syscall.c +++ b/linux-user/syscall.c
@@ -3683,6 +3683,11 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg) @@ -3789,6 +3789,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 7453ff5..18ec182 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)) {
@@ -3701,6 +3706,7 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg) @@ -3807,6 +3812,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;

View File

@ -1,4 +1,4 @@
From 9678a942cfcd5bc8640300527d557715a14fb103 Mon Sep 17 00:00:00 2001 From d45da9e89458d0641e80fac80699f847a18714b5 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
@ -9,6 +9,7 @@ Content-Transfer-Encoding: 8bit
Signed-off-by: Ulrich Hecht <uli@suse.de> Signed-off-by: Ulrich Hecht <uli@suse.de>
[AF: Changed BLOCK_FLAG_SCSI from 8 to 16 for v1.2] [AF: Changed BLOCK_FLAG_SCSI from 8 to 16 for v1.2]
[AF: Rebased onto upstream VMDK SCSI support] [AF: Rebased onto upstream VMDK SCSI support]
[AF: Rebased onto skipping of image creation in v1.7]
Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Andreas Färber <afaerber@suse.de>
--- ---
block.c | 6 +++++- block.c | 6 +++++-
@ -18,10 +19,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 01b66d8..35a07a5 100644 index 382ea71..7c89d4e 100644
--- a/block.c --- a/block.c
+++ b/block.c +++ b/block.c
@@ -4469,7 +4469,7 @@ void bdrv_img_create(const char *filename, const char *fmt, @@ -4503,7 +4503,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;
@ -30,7 +31,7 @@ index 01b66d8..35a07a5 100644
BlockDriverState *bs = NULL; BlockDriverState *bs = NULL;
BlockDriver *drv, *proto_drv; BlockDriver *drv, *proto_drv;
BlockDriver *backing_drv = NULL; BlockDriver *backing_drv = NULL;
@@ -4579,6 +4579,10 @@ void bdrv_img_create(const char *filename, const char *fmt, @@ -4617,6 +4617,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);
@ -40,12 +41,12 @@ index 01b66d8..35a07a5 100644
+ } + }
puts(""); puts("");
} }
ret = bdrv_create(drv, filename, param); ret = bdrv_create(drv, filename, param, &local_err);
diff --git a/block/vmdk.c b/block/vmdk.c diff --git a/block/vmdk.c b/block/vmdk.c
index 346bb5c..c45558c 100644 index a7ebd0f..c047a52 100644
--- a/block/vmdk.c --- a/block/vmdk.c
+++ b/block/vmdk.c +++ b/block/vmdk.c
@@ -1588,6 +1588,8 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options) @@ -1641,6 +1641,8 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options,
fmt = options->value.s; fmt = options->value.s;
} else if (!strcmp(options->name, BLOCK_OPT_ZEROED_GRAIN)) { } else if (!strcmp(options->name, BLOCK_OPT_ZEROED_GRAIN)) {
zeroed_grain |= options->value.n; zeroed_grain |= options->value.n;
@ -54,7 +55,7 @@ index 346bb5c..c45558c 100644
} }
options++; options++;
} }
@@ -1691,7 +1693,7 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options) @@ -1748,7 +1750,7 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options,
ext_desc_lines, ext_desc_lines,
(flags & BLOCK_FLAG_COMPAT6 ? 6 : 4), (flags & BLOCK_FLAG_COMPAT6 ? 6 : 4),
total_size / (int64_t)(63 * number_heads * 512), number_heads, total_size / (int64_t)(63 * number_heads * 512), number_heads,
@ -63,7 +64,7 @@ index 346bb5c..c45558c 100644
if (split || flat) { if (split || flat) {
fd = qemu_open(filename, fd = qemu_open(filename,
O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_LARGEFILE, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_LARGEFILE,
@@ -1820,6 +1822,11 @@ static QEMUOptionParameter vmdk_create_options[] = { @@ -1926,6 +1928,11 @@ static QEMUOptionParameter vmdk_create_options[] = {
.type = OPT_FLAG, .type = OPT_FLAG,
.help = "Enable efficient zero writes using the zeroed-grain GTE feature" .help = "Enable efficient zero writes using the zeroed-grain GTE feature"
}, },
@ -76,18 +77,15 @@ index 346bb5c..c45558c 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 e45f2a0..74f71ba 100644 index 1666066..9895b61 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
@@ -38,6 +38,7 @@ @@ -40,10 +40,12 @@
#define BLOCK_FLAG_ENCRYPT 1 #define BLOCK_FLAG_ENCRYPT 1
#define BLOCK_FLAG_COMPAT6 4 #define BLOCK_FLAG_COMPAT6 4
#define BLOCK_FLAG_LAZY_REFCOUNTS 8 #define BLOCK_FLAG_LAZY_REFCOUNTS 8
+#define BLOCK_FLAG_SCSI 16 +#define BLOCK_FLAG_SCSI 16
#define BLOCK_IO_LIMIT_READ 0
#define BLOCK_IO_LIMIT_WRITE 1
@@ -49,6 +50,7 @@
#define BLOCK_OPT_SIZE "size" #define BLOCK_OPT_SIZE "size"
#define BLOCK_OPT_ENCRYPT "encryption" #define BLOCK_OPT_ENCRYPT "encryption"
#define BLOCK_OPT_COMPAT6 "compat6" #define BLOCK_OPT_COMPAT6 "compat6"
@ -96,10 +94,10 @@ index e45f2a0..74f71ba 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 b9a848d..abf345e 100644 index b6b5644..98ee71a 100644
--- a/qemu-img.c --- a/qemu-img.c
+++ b/qemu-img.c +++ b/qemu-img.c
@@ -1127,7 +1127,7 @@ static int img_convert(int argc, char **argv) @@ -1133,7 +1133,7 @@ static int img_convert(int argc, char **argv)
const uint8_t *buf1; const uint8_t *buf1;
BlockDriverInfo bdi; BlockDriverInfo bdi;
QEMUOptionParameter *param = NULL, *create_options = NULL; QEMUOptionParameter *param = NULL, *create_options = NULL;
@ -108,7 +106,7 @@ index b9a848d..abf345e 100644
char *options = NULL; char *options = NULL;
const char *snapshot_name = NULL; const char *snapshot_name = NULL;
float local_progress = 0; float local_progress = 0;
@@ -1329,6 +1329,12 @@ static int img_convert(int argc, char **argv) @@ -1340,6 +1340,12 @@ static int img_convert(int argc, char **argv)
} }
} }
@ -118,6 +116,6 @@ index b9a848d..abf345e 100644
+ goto out; + goto out;
+ } + }
+ +
if (!skip_create) {
/* Create the new image */ /* Create the new image */
ret = bdrv_create(drv, out_filename, param); ret = bdrv_create(drv, out_filename, param, &local_err);
if (ret < 0) {

View File

@ -1,4 +1,4 @@
From a223094df8e97baebcc74f94f9406899ac31afe5 Mon Sep 17 00:00:00 2001 From 2f5b7655408db4b0f03795589591d44f64d5f270 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
@ -35,7 +35,7 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
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
index 9a49852..58e7a22 100644 index af6ac7e..ce99364 100644
--- a/Makefile.target --- a/Makefile.target
+++ b/Makefile.target +++ b/Makefile.target
@@ -31,6 +31,10 @@ PROGS+=$(QEMU_PROGW) @@ -31,6 +31,10 @@ PROGS+=$(QEMU_PROGW)
@ -49,7 +49,7 @@ index 9a49852..58e7a22 100644
config-target.h: config-target.h-timestamp config-target.h: config-target.h-timestamp
config-target.h-timestamp: config-target.mak config-target.h-timestamp: config-target.mak
@@ -96,6 +100,8 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) -I$(SRC_PATH)/linux-user @@ -92,6 +96,8 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) -I$(SRC_PATH)/linux-user
obj-y += linux-user/ obj-y += linux-user/
obj-y += gdbstub.o thunk.o user-exec.o obj-y += gdbstub.o thunk.o user-exec.o
@ -58,7 +58,7 @@ index 9a49852..58e7a22 100644
endif #CONFIG_LINUX_USER endif #CONFIG_LINUX_USER
######################################################### #########################################################
@@ -144,6 +150,9 @@ endif # CONFIG_SOFTMMU @@ -140,6 +146,9 @@ endif # CONFIG_SOFTMMU
%/translate.o: QEMU_CFLAGS += $(TRANSLATE_OPT_CFLAGS) %/translate.o: QEMU_CFLAGS += $(TRANSLATE_OPT_CFLAGS)
nested-vars += obj-y nested-vars += obj-y
@ -68,7 +68,7 @@ index 9a49852..58e7a22 100644
# This resolves all nested paths, so it must come last # This resolves all nested paths, so it must come last
include $(SRC_PATH)/Makefile.objs include $(SRC_PATH)/Makefile.objs
@@ -166,6 +175,9 @@ $(QEMU_PROG): $(all-obj-y) ../libqemuutil.a ../libqemustub.a @@ -162,6 +171,9 @@ $(QEMU_PROG): $(all-obj-y) ../libqemuutil.a ../libqemustub.a
$(call LINK,$^) $(call LINK,$^)
endif endif

View File

@ -1,4 +1,4 @@
From d7de533ce03531c6cdf7a3327466a752e25c2ae6 Mon Sep 17 00:00:00 2001 From 5bfa8a31057be27c9e618cb3c11628c8d64f7d0a Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de> From: Alexander Graf <agraf@suse.de>
Date: Sun, 11 Dec 2011 01:19:24 +0100 Date: Sun, 11 Dec 2011 01:19:24 +0100
Subject: [PATCH] linux-user: Ignore timer_create syscall Subject: [PATCH] linux-user: Ignore timer_create syscall
@ -12,10 +12,10 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
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 18ec182..eda4455 100644 index 2b4e263..e423def 100644
--- a/linux-user/syscall.c --- a/linux-user/syscall.c
+++ b/linux-user/syscall.c +++ b/linux-user/syscall.c
@@ -8690,6 +8690,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, @@ -8866,6 +8866,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
break; break;
#endif #endif

View File

@ -1,4 +1,4 @@
From 61efbfd053a5a2f460bcc252e12d0d8b360455cb Mon Sep 17 00:00:00 2001 From dc88ad73d02655728ed1be588881c7e2868a5430 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de> From: Alexander Graf <agraf@suse.de>
Date: Sun, 11 Dec 2011 01:21:51 +0100 Date: Sun, 11 Dec 2011 01:21:51 +0100
Subject: [PATCH] linux-user: be silent about capget failures Subject: [PATCH] linux-user: be silent about capget failures
@ -13,10 +13,10 @@ 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/linux-user/syscall.c b/linux-user/syscall.c diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index eda4455..628fe66 100644 index e423def..d5b3d02 100644
--- a/linux-user/syscall.c --- a/linux-user/syscall.c
+++ b/linux-user/syscall.c +++ b/linux-user/syscall.c
@@ -7609,7 +7609,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, @@ -7785,7 +7785,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
unlock_user(p, arg1, ret); unlock_user(p, arg1, ret);
break; break;
case TARGET_NR_capget: case TARGET_NR_capget:

View File

@ -1,4 +1,4 @@
From 50e6d901644bdff9b40ff869ecbd33943a63c4d0 Mon Sep 17 00:00:00 2001 From f4b962121f2af60b6daa1c45b0be9ac271833e61 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,10 +13,10 @@ 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 3ca9381..e4d92d7 100644 index 95c4356..58b0647 100644
--- a/exec.c --- a/exec.c
+++ b/exec.c +++ b/exec.c
@@ -944,10 +944,12 @@ static void *file_ram_alloc(RAMBlock *block, @@ -927,10 +927,12 @@ static void *file_ram_alloc(RAMBlock *block,
return NULL; return NULL;
} }

View File

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

View File

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

View File

@ -1,4 +1,4 @@
From 306a5b84ac706fbb123cbe1aecb09e1d906df0fe Mon Sep 17 00:00:00 2001 From 1f7a819e8553dce0bf9c5ab6280b012483cd7b6d 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
@ -14,10 +14,10 @@ change to at least get a working build again.
1 file changed, 4 insertions(+) 1 file changed, 4 insertions(+)
diff --git a/target-arm/cpu.c b/target-arm/cpu.c diff --git a/target-arm/cpu.c b/target-arm/cpu.c
index 5a7566b..40bddc3 100644 index d40f2a7..3113456 100644
--- a/target-arm/cpu.c --- a/target-arm/cpu.c
+++ b/target-arm/cpu.c +++ b/target-arm/cpu.c
@@ -126,7 +126,11 @@ static void arm_cpu_reset(CPUState *s) @@ -133,7 +133,11 @@ static void arm_cpu_reset(CPUState *s)
* bake assumptions about into translated code, so we need to * bake assumptions about into translated code, so we need to
* tb_flush(). * tb_flush().
*/ */
@ -28,4 +28,4 @@ index 5a7566b..40bddc3 100644
+#endif +#endif
} }
static inline void set_feature(CPUARMState *env, int feature) #ifndef CONFIG_USER_ONLY

View File

@ -1,4 +1,4 @@
From 749d4457bf87a20683387e3535b859e71c3d0a54 Mon Sep 17 00:00:00 2001 From 342a8d782336d637da2e22f378684400d8459604 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
@ -18,10 +18,10 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
4 files changed, 10 insertions(+) 4 files changed, 10 insertions(+)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 28dc0b2..da4f12c 100644 index 1c9d67f..b743309 100644
--- a/linux-user/ioctls.h --- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h +++ b/linux-user/ioctls.h
@@ -326,6 +326,7 @@ @@ -327,6 +327,7 @@
IOCTL(LOOP_SET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64))) IOCTL(LOOP_SET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64)))
IOCTL(LOOP_GET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64))) IOCTL(LOOP_GET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64)))
IOCTL(LOOP_CHANGE_FD, 0, TYPE_INT) IOCTL(LOOP_CHANGE_FD, 0, TYPE_INT)
@ -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 628fe66..38ca7af 100644 index d5b3d02..5113d22 100644
--- a/linux-user/syscall.c --- a/linux-user/syscall.c
+++ b/linux-user/syscall.c +++ b/linux-user/syscall.c
@@ -3626,6 +3626,13 @@ static abi_long do_ioctl_rt(const IOCTLEntry *ie, uint8_t *buf_temp, @@ -3732,6 +3732,13 @@ static abi_long do_ioctl_rt(const IOCTLEntry *ie, uint8_t *buf_temp,
return ret; return ret;
} }
@ -59,10 +59,10 @@ index 628fe66..38ca7af 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 a8aba1b..bb83772 100644 index 57ac1ce..763fb30 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
@@ -1020,6 +1020,7 @@ struct target_pollfd { @@ -1032,6 +1032,7 @@ struct target_pollfd {
#define TARGET_LOOP_SET_STATUS64 0x4C04 #define TARGET_LOOP_SET_STATUS64 0x4C04
#define TARGET_LOOP_GET_STATUS64 0x4C05 #define TARGET_LOOP_GET_STATUS64 0x4C05
#define TARGET_LOOP_CHANGE_FD 0x4C06 #define TARGET_LOOP_CHANGE_FD 0x4C06

View File

@ -1,4 +1,4 @@
From f118aa109bd0802221fe25d7b8f077eb79ad969e Mon Sep 17 00:00:00 2001 From 7b37ca7330058615efd4da075e39f482099edb5b 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
@ -47,7 +47,7 @@ index 34a5615..7ebf953 100644
} }
diff --git a/tcg/tcg.c b/tcg/tcg.c diff --git a/tcg/tcg.c b/tcg/tcg.c
index dac8224..914456f 100644 index 66d3f3d..a169e53 100644
--- a/tcg/tcg.c --- a/tcg/tcg.c
+++ b/tcg/tcg.c +++ b/tcg/tcg.c
@@ -40,6 +40,8 @@ @@ -40,6 +40,8 @@
@ -59,7 +59,7 @@ index dac8224..914456f 100644
/* Note: the long term plan is to reduce the dependancies on the QEMU /* Note: the long term plan is to reduce the dependancies on the QEMU
CPU definitions. Currently they are used for qemu_ld/st CPU definitions. Currently they are used for qemu_ld/st
@@ -114,6 +116,29 @@ const size_t tcg_op_defs_max = ARRAY_SIZE(tcg_op_defs); @@ -117,6 +119,29 @@ const size_t tcg_op_defs_max = ARRAY_SIZE(tcg_op_defs);
static TCGRegSet tcg_target_available_regs[2]; static TCGRegSet tcg_target_available_regs[2];
static TCGRegSet tcg_target_call_clobber_regs; static TCGRegSet tcg_target_call_clobber_regs;
@ -89,7 +89,7 @@ index dac8224..914456f 100644
static inline void tcg_out8(TCGContext *s, uint8_t v) static inline void tcg_out8(TCGContext *s, uint8_t v)
{ {
*s->code_ptr++ = v; *s->code_ptr++ = v;
@@ -253,7 +278,8 @@ void tcg_context_init(TCGContext *s) @@ -295,7 +320,8 @@ void tcg_context_init(TCGContext *s)
memset(s, 0, sizeof(*s)); memset(s, 0, sizeof(*s));
s->nb_globals = 0; s->nb_globals = 0;
@ -99,7 +99,7 @@ index dac8224..914456f 100644
/* Count total number of arguments and allocate the corresponding /* Count total number of arguments and allocate the corresponding
space */ space */
total_args = 0; total_args = 0;
@@ -2379,11 +2405,13 @@ int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf) @@ -2599,10 +2625,12 @@ int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf)
} }
#endif #endif
@ -107,13 +107,12 @@ index dac8224..914456f 100644
tcg_gen_code_common(s, gen_code_buf, -1); tcg_gen_code_common(s, gen_code_buf, -1);
/* flush instruction cache */ /* flush instruction cache */
flush_icache_range((tcg_target_ulong)gen_code_buf, flush_icache_range((uintptr_t)gen_code_buf, (uintptr_t)s->code_ptr);
(tcg_target_ulong)s->code_ptr);
+ tcg_unlock(); + tcg_unlock();
return s->code_ptr - gen_code_buf; return s->code_ptr - gen_code_buf;
} }
@@ -2394,7 +2422,11 @@ int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf) @@ -2613,7 +2641,11 @@ int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf)
Return -1 if not found. */ Return -1 if not found. */
int tcg_gen_code_search_pc(TCGContext *s, uint8_t *gen_code_buf, long offset) int tcg_gen_code_search_pc(TCGContext *s, uint8_t *gen_code_buf, long offset)
{ {
@ -127,27 +126,27 @@ index dac8224..914456f 100644
#ifdef CONFIG_PROFILER #ifdef CONFIG_PROFILER
diff --git a/tcg/tcg.h b/tcg/tcg.h diff --git a/tcg/tcg.h b/tcg/tcg.h
index f3f9889..49ede77 100644 index 0d9bd29..720fdd2 100644
--- a/tcg/tcg.h --- a/tcg/tcg.h
+++ b/tcg/tcg.h +++ b/tcg/tcg.h
@@ -46,6 +46,8 @@ typedef uint64_t tcg_target_ulong; @@ -54,6 +54,8 @@ typedef uint64_t tcg_target_ulong;
#error unsupported #error unsupported
#endif #endif
+#include "config-host.h" +#include "config-host.h"
+#include "qemu/thread.h" +#include "qemu/thread.h"
#include "tcg-target.h"
#include "tcg-runtime.h" #include "tcg-runtime.h"
@@ -490,6 +492,7 @@ struct TCGContext { #if TCG_TARGET_NB_REGS <= 32
TCGLabelQemuLdst *qemu_ldst_labels; @@ -526,6 +528,7 @@ struct TCGContext {
int nb_qemu_ldst_labels;
#endif /* The TCGBackendData structure is private to tcg-target.c. */
struct TCGBackendData *be;
+ QemuMutex lock; + QemuMutex lock;
}; };
extern TCGContext tcg_ctx; extern TCGContext tcg_ctx;
@@ -670,6 +673,9 @@ void tcg_gen_shifti_i64(TCGv_i64 ret, TCGv_i64 arg1, @@ -703,6 +706,9 @@ void tcg_gen_shifti_i64(TCGv_i64 ret, TCGv_i64 arg1,
TCGArg *tcg_optimize(TCGContext *s, uint16_t *tcg_opc_ptr, TCGArg *args, TCGArg *tcg_optimize(TCGContext *s, uint16_t *tcg_opc_ptr, TCGArg *args,
TCGOpDef *tcg_op_def); TCGOpDef *tcg_op_def);
@ -155,5 +154,5 @@ index f3f9889..49ede77 100644
+extern void tcg_unlock(void); +extern void tcg_unlock(void);
+ +
/* only used for debugging purposes */ /* only used for debugging purposes */
void tcg_register_helper(void *func, const char *name); void tcg_dump_ops(TCGContext *s);
const char *tcg_helper_get_name(TCGContext *s, void *func);

View File

@ -1,4 +1,4 @@
From 068bcb7ca7d901d84a9868e8ecc2346956e51388 Mon Sep 17 00:00:00 2001 From 5a24d8e40ae04bbc4cb20472e16c86f5b587d1cb 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 38ca7af..8aef3e8 100644 index 5113d22..7be6873 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, @@ -4432,6 +4432,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);

View File

@ -1,4 +1,4 @@
From f9b22f171b7a6ca44ca37918dd0b2304becbd324 Mon Sep 17 00:00:00 2001 From 8066265b8a179b791443faa55f79533086a7531c 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 3b5fc7c..165a63e 100644 index aeda54d..6cfba5a 100644
--- a/translate-all.c --- a/translate-all.c
+++ b/translate-all.c +++ b/translate-all.c
@@ -612,19 +612,23 @@ static TranslationBlock *tb_alloc(target_ulong pc) @@ -612,19 +612,23 @@ static TranslationBlock *tb_alloc(target_ulong pc)
@ -84,7 +84,7 @@ index 3b5fc7c..165a63e 100644
} }
/* len must be <= 8 and start must be a multiple of len */ /* len must be <= 8 and start must be a multiple of len */
@@ -1336,13 +1346,16 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr) @@ -1324,13 +1334,16 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
{ {
int m_min, m_max, m; int m_min, m_max, m;
uintptr_t v; uintptr_t v;
@ -102,7 +102,7 @@ index 3b5fc7c..165a63e 100644
return NULL; return NULL;
} }
/* binary search (cf Knuth) */ /* binary search (cf Knuth) */
@@ -1353,6 +1366,7 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr) @@ -1341,6 +1354,7 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
tb = &tcg_ctx.tb_ctx.tbs[m]; tb = &tcg_ctx.tb_ctx.tbs[m];
v = (uintptr_t)tb->tc_ptr; v = (uintptr_t)tb->tc_ptr;
if (v == tc_ptr) { if (v == tc_ptr) {
@ -110,7 +110,7 @@ index 3b5fc7c..165a63e 100644
return tb; return tb;
} else if (tc_ptr < v) { } else if (tc_ptr < v) {
m_max = m - 1; m_max = m - 1;
@@ -1360,7 +1374,9 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr) @@ -1348,7 +1362,9 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
m_min = m + 1; m_min = m + 1;
} }
} }

View File

@ -1,4 +1,4 @@
From a15d5879a156f448bdcf33f3ab9b1d45d4ceb7b0 Mon Sep 17 00:00:00 2001 From c34029edc401e149283f86f6a14c41cc5d24d737 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
@ -15,17 +15,17 @@ on the selected CPU. Please do not submit this patch upstream until this
has happened. has happened.
Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Alexander Graf <agraf@suse.de>
[AF: Rebased for v1.6] [AF: Rebased for v1.6 and v1.7]
Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Andreas Färber <afaerber@suse.de>
--- ---
linux-user/syscall.c | 20 ++++++++++++++++++++ linux-user/syscall.c | 20 ++++++++++++++++++++
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 8aef3e8..429ab3a 100644 index 7be6873..e678f9b 100644
--- a/linux-user/syscall.c --- a/linux-user/syscall.c
+++ b/linux-user/syscall.c +++ b/linux-user/syscall.c
@@ -5011,6 +5011,25 @@ static int open_self_stat(void *cpu_env, int fd) @@ -5151,6 +5151,25 @@ static int open_self_stat(void *cpu_env, int fd)
return 0; return 0;
} }
@ -51,11 +51,11 @@ index 8aef3e8..429ab3a 100644
static int open_self_auxv(void *cpu_env, int fd) static int open_self_auxv(void *cpu_env, int fd)
{ {
TaskState *ts = ((CPUArchState *)cpu_env)->opaque; TaskState *ts = ((CPUArchState *)cpu_env)->opaque;
@@ -5075,6 +5094,7 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode) @@ -5263,6 +5282,7 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
{ "maps", open_self_maps }, #if defined(HOST_WORDS_BIGENDIAN) != defined(TARGET_WORDS_BIGENDIAN)
{ "stat", open_self_stat }, { "/proc/net/route", open_net_route, is_proc },
{ "auxv", open_self_auxv }, #endif
+ { "cpuinfo", open_cpuinfo }, + { "cpuinfo", open_cpuinfo, is_proc_myself },
{ NULL, NULL } { NULL, NULL, NULL }
}; };

View File

@ -1,4 +1,4 @@
From 9834aedad699d489cf3a4da2a0f9c7762f52ac81 Mon Sep 17 00:00:00 2001 From e5a126a039903adc1be28c3860378d21cd1e69ec 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
@ -16,10 +16,10 @@ v1 -> v2:
2 files changed, 3 insertions(+) 2 files changed, 3 insertions(+)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index da4f12c..17b67af 100644 index b743309..f273ccb 100644
--- a/linux-user/ioctls.h --- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h +++ b/linux-user/ioctls.h
@@ -86,6 +86,7 @@ @@ -87,6 +87,7 @@
IOCTL_SPECIAL(FS_IOC_FIEMAP, IOC_W | IOC_R, do_ioctl_fs_ioc_fiemap, IOCTL_SPECIAL(FS_IOC_FIEMAP, IOC_W | IOC_R, do_ioctl_fs_ioc_fiemap,
MK_PTR(MK_STRUCT(STRUCT_fiemap))) MK_PTR(MK_STRUCT(STRUCT_fiemap)))
#endif #endif
@ -28,10 +28,10 @@ index da4f12c..17b67af 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 bb83772..7a08123 100644 index 763fb30..9ddec49 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
@@ -2391,6 +2391,8 @@ struct target_eabi_flock64 { @@ -2441,6 +2441,8 @@ struct target_eabi_flock64 {
#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)

View File

@ -1,4 +1,4 @@
From 03739a1757adb64bcd5a4892eb7b5a01d55039c0 Mon Sep 17 00:00:00 2001 From 15305b991f0b484b1fef9fcdb0859bb784fc8d94 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
@ -16,10 +16,10 @@ v1 -> v2
2 files changed, 2 insertions(+) 2 files changed, 2 insertions(+)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 17b67af..a77b72c 100644 index f273ccb..a5f3514 100644
--- a/linux-user/ioctls.h --- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h +++ b/linux-user/ioctls.h
@@ -87,6 +87,7 @@ @@ -88,6 +88,7 @@
MK_PTR(MK_STRUCT(STRUCT_fiemap))) MK_PTR(MK_STRUCT(STRUCT_fiemap)))
#endif #endif
IOCTL(FS_IOC_GETFLAGS, IOC_R, MK_PTR(TYPE_LONG)) IOCTL(FS_IOC_GETFLAGS, IOC_R, MK_PTR(TYPE_LONG))
@ -28,10 +28,10 @@ index 17b67af..a77b72c 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 7a08123..bbcdec2 100644 index 9ddec49..4ab3a61 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
@@ -2392,6 +2392,7 @@ struct target_eabi_flock64 { @@ -2442,6 +2442,7 @@ struct target_eabi_flock64 {
#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)

View File

@ -1,4 +1,4 @@
From 497b59964cc331b71ca5f9faa8e79384b56c3dba Mon Sep 17 00:00:00 2001 From e903c77c77f6c01a73de3f0df4668c692ad409a1 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 429ab3a..5c42bc9 100644 index e678f9b..7fc61fe 100644
--- a/linux-user/syscall.c --- a/linux-user/syscall.c
+++ b/linux-user/syscall.c +++ b/linux-user/syscall.c
@@ -3183,6 +3183,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry *ie, uint8_t *buf_temp, @@ -3289,6 +3289,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;

View File

@ -1,4 +1,4 @@
From 75fab73abdedf67a016fd49767a321ae796a374a Mon Sep 17 00:00:00 2001 From 34064f187f0bf84ae3388cda80e5a693023e5746 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 d15338e..e8097ac 100644 index 8b94264..179cf72 100644
--- a/qemu-options.hx --- a/qemu-options.hx
+++ b/qemu-options.hx +++ b/qemu-options.hx
@@ -2574,6 +2574,16 @@ Store the QEMU process PID in @var{file}. It is useful if you launch QEMU @@ -2578,6 +2578,16 @@ Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
from a script. from a script.
ETEXI ETEXI
@ -33,7 +33,7 @@ index d15338e..e8097ac 100644
"-singlestep always run in singlestep mode\n", QEMU_ARCH_ALL) "-singlestep always run in singlestep mode\n", QEMU_ARCH_ALL)
STEXI STEXI
diff --git a/slirp/socket.c b/slirp/socket.c diff --git a/slirp/socket.c b/slirp/socket.c
index 8e8819c..57a45dc 100644 index 37ac5cf..b64baff 100644
--- a/slirp/socket.c --- a/slirp/socket.c
+++ b/slirp/socket.c +++ b/slirp/socket.c
@@ -532,6 +532,8 @@ sorecvfrom(struct socket *so) @@ -532,6 +532,8 @@ sorecvfrom(struct socket *so)
@ -59,7 +59,7 @@ index 8e8819c..57a45dc 100644
ret = sendto(so->s, m->m_data, m->m_len, 0, ret = sendto(so->s, m->m_data, m->m_len, 0,
(struct sockaddr *)&addr, sizeof (struct sockaddr)); (struct sockaddr *)&addr, sizeof (struct sockaddr));
diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c
index 043f28f..76b6525 100644 index 7571c5a..0555e18 100644
--- a/slirp/tcp_subr.c --- a/slirp/tcp_subr.c
+++ b/slirp/tcp_subr.c +++ b/slirp/tcp_subr.c
@@ -324,6 +324,9 @@ tcp_sockclosed(struct tcpcb *tp) @@ -324,6 +324,9 @@ tcp_sockclosed(struct tcpcb *tp)
@ -84,7 +84,7 @@ index 043f28f..76b6525 100644
if( (ret = so->s = qemu_socket(AF_INET,SOCK_STREAM,0)) >= 0) { if( (ret = so->s = qemu_socket(AF_INET,SOCK_STREAM,0)) >= 0) {
int opt, s=so->s; int opt, s=so->s;
struct sockaddr_in addr; struct sockaddr_in addr;
@@ -425,6 +433,11 @@ void tcp_connect(struct socket *inso) @@ -424,6 +432,11 @@ void tcp_connect(struct socket *inso)
tcp_close(sototcpcb(so)); /* This will sofree() as well */ tcp_close(sototcpcb(so)); /* This will sofree() as well */
return; return;
} }
@ -94,10 +94,10 @@ index 043f28f..76b6525 100644
+ return; + return;
+ } + }
qemu_set_nonblock(s); qemu_set_nonblock(s);
socket_set_fast_reuse(s);
opt = 1; opt = 1;
qemu_setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(int));
diff --git a/vl.c b/vl.c diff --git a/vl.c b/vl.c
index f422a1c..b041911 100644 index 8d5d874..c95e9e6 100644
--- a/vl.c --- a/vl.c
+++ b/vl.c +++ b/vl.c
@@ -217,6 +217,7 @@ const char *vnc_display; @@ -217,6 +217,7 @@ const char *vnc_display;
@ -108,7 +108,7 @@ index f422a1c..b041911 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;
@@ -3307,6 +3308,14 @@ int main(int argc, char **argv, char **envp) @@ -3234,6 +3235,14 @@ int main(int argc, char **argv, char **envp)
case QEMU_OPTION_singlestep: case QEMU_OPTION_singlestep:
singlestep = 1; singlestep = 1;
break; break;

View File

@ -1,4 +1,4 @@
From 6c83da90ce0fc7b27960c0d2233c8c519a0d4bf3 Mon Sep 17 00:00:00 2001 From f364cea24a3cbacd003ea048a20e6e6aea639221 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=

View File

@ -1,4 +1,4 @@
From 75a4b3cab3c942e611a254e519ca327e6ca25a7c Mon Sep 17 00:00:00 2001 From bb1e4498e57e320011c87f203fab45e01be84b99 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
@ -13,10 +13,10 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
3 files changed, 27 insertions(+) 3 files changed, 27 insertions(+)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index a77b72c..4c6d2ee 100644 index a5f3514..a96a419 100644
--- a/linux-user/ioctls.h --- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h +++ b/linux-user/ioctls.h
@@ -71,6 +71,24 @@ @@ -72,6 +72,24 @@
#ifdef BLKGETSIZE64 #ifdef BLKGETSIZE64
IOCTL(BLKGETSIZE64, IOC_R, MK_PTR(TYPE_ULONGLONG)) IOCTL(BLKGETSIZE64, IOC_R, MK_PTR(TYPE_ULONGLONG))
#endif #endif
@ -42,10 +42,10 @@ index a77b72c..4c6d2ee 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 bbcdec2..5aeb3dd 100644 index 4ab3a61..2d41202 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
@@ -889,6 +889,12 @@ struct target_pollfd { @@ -901,6 +901,12 @@ struct target_pollfd {
#define TARGET_BLKGETSIZE64 TARGET_IOR(0x12,114,abi_ulong) #define TARGET_BLKGETSIZE64 TARGET_IOR(0x12,114,abi_ulong)
/* return device size in bytes /* return device size in bytes
(u64 *arg) */ (u64 *arg) */

View File

@ -1,4 +1,4 @@
From 8c47c74320ada483abce527ab144c414f8c6a17e Mon Sep 17 00:00:00 2001 From 29aa5e72e8344cb0357a07c92f9603eeebfe3fb6 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 9411c77..26c51a6 100644 index 8137c46..710ded7 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, @@ -190,10 +190,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 9411c77..26c51a6 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 5c42bc9..ab30b58 100644 index 7fc61fe..b794666 100644
--- a/linux-user/syscall.c --- a/linux-user/syscall.c
+++ b/linux-user/syscall.c +++ b/linux-user/syscall.c
@@ -5221,10 +5221,10 @@ int syscall_restartable(int syscall_nr) @@ -5409,10 +5409,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>. */

View File

@ -1,7 +1,7 @@
From f78e195390bcae1cc3de7d401a52dd2a0113017b Mon Sep 17 00:00:00 2001 From 59e80cf171a9fc9d381af5d94c9db38612486a05 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] Add support for DictZip enabled gzip files Subject: [PATCH] block: Add support for DictZip enabled gzip files
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
@ -25,6 +25,7 @@ Signed-off-by: Bruce Rogers <brogers@novell.com>
Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Andreas Färber <afaerber@suse.de>
[TH: Use bdrv_open options instead of filename] [TH: Use bdrv_open options instead of filename]
Signed-off-by: Tim Hardeck <thardeck@suse.de> Signed-off-by: Tim Hardeck <thardeck@suse.de>
[AF: Error **errp added for bdrv_file_open, bdrv_delete -> bdrv_unref]
Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Andreas Färber <afaerber@suse.de>
--- ---
block/Makefile.objs | 1 + block/Makefile.objs | 1 +
@ -33,7 +34,7 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
create mode 100644 block/dictzip.c create mode 100644 block/dictzip.c
diff --git a/block/Makefile.objs b/block/Makefile.objs diff --git a/block/Makefile.objs b/block/Makefile.objs
index 4cf9aa4..2b1c535 100644 index f43ecbc..581581f 100644
--- a/block/Makefile.objs --- a/block/Makefile.objs
+++ b/block/Makefile.objs +++ b/block/Makefile.objs
@@ -22,5 +22,6 @@ common-obj-y += stream.o @@ -22,5 +22,6 @@ common-obj-y += stream.o
@ -45,7 +46,7 @@ index 4cf9aa4..2b1c535 100644
$(obj)/curl.o: QEMU_CFLAGS+=$(CURL_CFLAGS) $(obj)/curl.o: QEMU_CFLAGS+=$(CURL_CFLAGS)
diff --git a/block/dictzip.c b/block/dictzip.c diff --git a/block/dictzip.c b/block/dictzip.c
new file mode 100644 new file mode 100644
index 0000000..0ef327b index 0000000..8916cfa
--- /dev/null --- /dev/null
+++ b/block/dictzip.c +++ b/block/dictzip.c
@@ -0,0 +1,596 @@ @@ -0,0 +1,596 @@
@ -208,7 +209,7 @@ index 0000000..0ef327b
+ }, + },
+}; +};
+ +
+static int dictzip_open(BlockDriverState *bs, QDict *options, int flags) +static int dictzip_open(BlockDriverState *bs, QDict *options, int flags, Error **errp)
+{ +{
+ BDRVDictZipState *s = bs->opaque; + BDRVDictZipState *s = bs->opaque;
+ const char *err = "Unknown (read error?)"; + const char *err = "Unknown (read error?)";
@ -232,8 +233,7 @@ index 0000000..0ef327b
+ opts = qemu_opts_create_nofail(&runtime_opts); + opts = qemu_opts_create_nofail(&runtime_opts);
+ qemu_opts_absorb_qdict(opts, options, &local_err); + qemu_opts_absorb_qdict(opts, options, &local_err);
+ if (error_is_set(&local_err)) { + if (error_is_set(&local_err)) {
+ qerror_report_err(local_err); + error_propagate(errp, local_err);
+ error_free(local_err);
+ ret = -EINVAL; + ret = -EINVAL;
+ goto fail; + goto fail;
+ } + }
@ -245,8 +245,9 @@ index 0000000..0ef327b
+ else if (!strncmp(filename, "dzip:", 5)) + else if (!strncmp(filename, "dzip:", 5))
+ filename += 5; + filename += 5;
+ +
+ ret = bdrv_file_open(&s->hd, filename, NULL, flags); + ret = bdrv_file_open(&s->hd, filename, NULL, flags, &local_err);
+ if (ret < 0) { + if (ret < 0) {
+ error_propagate(errp, local_err);
+ qemu_opts_del(opts); + qemu_opts_del(opts);
+ return ret; + return ret;
+ } + }
@ -414,7 +415,7 @@ index 0000000..0ef327b
+ +
+fail: +fail:
+ fprintf(stderr, "DictZip: Error opening file: %s\n", err); + fprintf(stderr, "DictZip: Error opening file: %s\n", err);
+ bdrv_delete(s->hd); + bdrv_unref(s->hd);
+ if (s->chunks) + if (s->chunks)
+ g_free(s->chunks); + g_free(s->chunks);
+ qemu_opts_del(opts); + qemu_opts_del(opts);

View File

@ -1,7 +1,7 @@
From cd0d68057632b737fed37ab82e559a57ad6d473d Mon Sep 17 00:00:00 2001 From 87eb7dec88d00f4196fabbc5162cebb1ff6c4278 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] Add tar container format Subject: [PATCH] block: Add tar container format
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
@ -26,6 +26,7 @@ Signed-off-by: Bruce Rogers <brogers@novell.com>
Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Andreas Färber <afaerber@suse.de>
[TH: Use bdrv_open options instead of filename] [TH: Use bdrv_open options instead of filename]
Signed-off-by: Tim Hardeck <thardeck@suse.de> Signed-off-by: Tim Hardeck <thardeck@suse.de>
[AF: bdrv_file_open got an Error **errp argument, bdrv_delete -> brd_unref]
Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Andreas Färber <afaerber@suse.de>
--- ---
block/Makefile.objs | 1 + block/Makefile.objs | 1 +
@ -34,7 +35,7 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
create mode 100644 block/tar.c create mode 100644 block/tar.c
diff --git a/block/Makefile.objs b/block/Makefile.objs diff --git a/block/Makefile.objs b/block/Makefile.objs
index 2b1c535..5b0d3ef 100644 index 581581f..d4f31ee 100644
--- a/block/Makefile.objs --- a/block/Makefile.objs
+++ b/block/Makefile.objs +++ b/block/Makefile.objs
@@ -23,5 +23,6 @@ common-obj-y += commit.o @@ -23,5 +23,6 @@ common-obj-y += commit.o
@ -46,7 +47,7 @@ index 2b1c535..5b0d3ef 100644
$(obj)/curl.o: QEMU_CFLAGS+=$(CURL_CFLAGS) $(obj)/curl.o: QEMU_CFLAGS+=$(CURL_CFLAGS)
diff --git a/block/tar.c b/block/tar.c diff --git a/block/tar.c b/block/tar.c
new file mode 100644 new file mode 100644
index 0000000..87bf552 index 0000000..24ed37b
--- /dev/null --- /dev/null
+++ b/block/tar.c +++ b/block/tar.c
@@ -0,0 +1,386 @@ @@ -0,0 +1,386 @@
@ -216,7 +217,7 @@ index 0000000..87bf552
+ }, + },
+}; +};
+ +
+static int tar_open(BlockDriverState *bs, QDict *options, int flags) +static int tar_open(BlockDriverState *bs, QDict *options, int flags, Error **errp)
+{ +{
+ BDRVTarState *s = bs->opaque; + BDRVTarState *s = bs->opaque;
+ char header[SECTOR_SIZE]; + char header[SECTOR_SIZE];
@ -231,8 +232,7 @@ index 0000000..87bf552
+ opts = qemu_opts_create_nofail(&runtime_opts); + opts = qemu_opts_create_nofail(&runtime_opts);
+ qemu_opts_absorb_qdict(opts, options, &local_err); + qemu_opts_absorb_qdict(opts, options, &local_err);
+ if (error_is_set(&local_err)) { + if (error_is_set(&local_err)) {
+ qerror_report_err(local_err); + error_propagate(errp, local_err);
+ error_free(local_err);
+ ret = -EINVAL; + ret = -EINVAL;
+ goto fail; + goto fail;
+ } + }
@ -244,8 +244,9 @@ index 0000000..87bf552
+ else if (!strncmp(filename, "tar:", 4)) + else if (!strncmp(filename, "tar:", 4))
+ filename += 4; + filename += 4;
+ +
+ ret = bdrv_file_open(&s->hd, filename, NULL, flags); + ret = bdrv_file_open(&s->hd, filename, NULL, flags, &local_err);
+ if (ret < 0) { + if (ret < 0) {
+ error_propagate(errp, local_err);
+ qemu_opts_del(opts); + qemu_opts_del(opts);
+ return ret; + return ret;
+ } + }
@ -318,7 +319,7 @@ index 0000000..87bf552
+ +
+fail: +fail:
+ fprintf(stderr, "Tar: Error opening file\n"); + fprintf(stderr, "Tar: Error opening file\n");
+ bdrv_delete(s->hd); + bdrv_unref(s->hd);
+ qemu_opts_del(opts); + qemu_opts_del(opts);
+ return -EINVAL; + return -EINVAL;
+} +}

View File

@ -1,4 +1,4 @@
From 4a44e0ec2e8c8db76a952979817f27c84883afd9 Mon Sep 17 00:00:00 2001 From 07c245de0ee18627f5ba0bd91f53e581868a09fa 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
@ -8,7 +8,7 @@ Subject: [PATCH] Legacy Patch kvm-qemu-preXX-dictzip3.patch
1 file changed, 11 insertions(+), 2 deletions(-) 1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/block/tar.c b/block/tar.c diff --git a/block/tar.c b/block/tar.c
index 87bf552..bf24c98 100644 index 24ed37b..c324240 100644
--- a/block/tar.c --- a/block/tar.c
+++ b/block/tar.c +++ b/block/tar.c
@@ -83,7 +83,8 @@ static int str_ends(char *str, const char *end) @@ -83,7 +83,8 @@ static int str_ends(char *str, const char *end)
@ -39,7 +39,7 @@ index 87bf552..bf24c98 100644
return retval; return retval;
} }
@@ -229,12 +237,13 @@ static int tar_open(BlockDriverState *bs, QDict *options, int flags) @@ -229,12 +237,13 @@ static int tar_open(BlockDriverState *bs, QDict *options, int flags, Error **err
bdrv_pread(s->hd, header_offs - s->file_len, s->longfile, bdrv_pread(s->hd, header_offs - s->file_len, s->longfile,
sizeof(s->longfile)); sizeof(s->longfile));
s->longfile[sizeof(s->longfile)-1] = '\0'; s->longfile[sizeof(s->longfile)-1] = '\0';

View File

@ -1,4 +1,4 @@
From 111d3238b56181b57b210d34f787a8a4edb3c771 Mon Sep 17 00:00:00 2001 From 8e742d4b086acbff8285675935ba439b598de5a8 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
@ -8,10 +8,10 @@ Subject: [PATCH] Legacy Patch kvm-qemu-preXX-report-default-mac-used.patch
1 file changed, 22 insertions(+) 1 file changed, 22 insertions(+)
diff --git a/net/net.c b/net/net.c diff --git a/net/net.c b/net/net.c
index c0d61bf..adc389f 100644 index 0a88e68..0716a72 100644
--- a/net/net.c --- a/net/net.c
+++ b/net/net.c +++ b/net/net.c
@@ -139,6 +139,27 @@ void qemu_format_nic_info_str(NetClientState *nc, uint8_t macaddr[6]) @@ -141,6 +141,27 @@ void qemu_format_nic_info_str(NetClientState *nc, uint8_t macaddr[6])
macaddr[3], macaddr[4], macaddr[5]); macaddr[3], macaddr[4], macaddr[5]);
} }
@ -39,7 +39,7 @@ index c0d61bf..adc389f 100644
void qemu_macaddr_default_if_unset(MACAddr *macaddr) void qemu_macaddr_default_if_unset(MACAddr *macaddr)
{ {
static int index = 0; static int index = 0;
@@ -1179,6 +1200,7 @@ int net_init_clients(void) @@ -1185,6 +1206,7 @@ int net_init_clients(void)
if (qemu_opts_foreach(net, net_init_client, NULL, 1) == -1) { if (qemu_opts_foreach(net, net_init_client, NULL, 1) == -1) {
return -1; return -1;
} }

View File

@ -1,4 +1,4 @@
From d07f6959fd23555f651e5d8d7c04a8ba344a9b7d Mon Sep 17 00:00:00 2001 From 1c20cbb2976e61d615682fe28dd8de87b573fab5 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,10 +16,10 @@ 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 e3e8297..8784cd0 100644 index 199ba69..f7894f8 100644
--- a/ui/console.c --- a/ui/console.c
+++ b/ui/console.c +++ b/ui/console.c
@@ -897,7 +897,7 @@ static void console_putchar(QemuConsole *s, int ch) @@ -864,7 +864,7 @@ static void console_putchar(QemuConsole *s, int ch)
} else { } else {
if (s->nb_esc_params < MAX_ESC_PARAMS) if (s->nb_esc_params < MAX_ESC_PARAMS)
s->nb_esc_params++; s->nb_esc_params++;

View File

@ -1,4 +1,4 @@
From 6e8d1f52bcc65003f128e6e78add927415d19cc8 Mon Sep 17 00:00:00 2001 From c9c835120d3b24d813374a58bd0aaa4ce0dc398b 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
@ -22,10 +22,10 @@ This patch fixes input when using -nographic on s390 for me.
1 file changed, 16 insertions(+) 1 file changed, 16 insertions(+)
diff --git a/qemu-char.c b/qemu-char.c diff --git a/qemu-char.c b/qemu-char.c
index 1be1cf6..ad7c8fd 100644 index e00f84c..60faa71 100644
--- a/qemu-char.c --- a/qemu-char.c
+++ b/qemu-char.c +++ b/qemu-char.c
@@ -249,6 +249,9 @@ typedef struct { @@ -252,6 +252,9 @@ typedef struct {
IOEventHandler *chr_event[MAX_MUX]; IOEventHandler *chr_event[MAX_MUX];
void *ext_opaque[MAX_MUX]; void *ext_opaque[MAX_MUX];
CharDriverState *drv; CharDriverState *drv;
@ -35,7 +35,7 @@ index 1be1cf6..ad7c8fd 100644
int focus; int focus;
int mux_cnt; int mux_cnt;
int term_got_escape; int term_got_escape;
@@ -405,6 +408,15 @@ static void mux_chr_accept_input(CharDriverState *chr) @@ -408,6 +411,15 @@ static void mux_chr_accept_input(CharDriverState *chr)
d->chr_read[m](d->ext_opaque[m], d->chr_read[m](d->ext_opaque[m],
&d->buffer[m][d->cons[m]++ & MUX_BUFFER_MASK], 1); &d->buffer[m][d->cons[m]++ & MUX_BUFFER_MASK], 1);
} }
@ -51,7 +51,7 @@ index 1be1cf6..ad7c8fd 100644
} }
static int mux_chr_can_read(void *opaque) static int mux_chr_can_read(void *opaque)
@@ -527,6 +539,10 @@ static CharDriverState *qemu_chr_open_mux(CharDriverState *drv) @@ -530,6 +542,10 @@ static CharDriverState *qemu_chr_open_mux(CharDriverState *drv)
chr->opaque = d; chr->opaque = d;
d->drv = drv; d->drv = drv;
d->focus = -1; d->focus = -1;

View File

@ -1,4 +1,4 @@
From 8b6c3923497e577546cb1a388decfa1e63496d10 Mon Sep 17 00:00:00 2001 From 2a97fe64cb1a621b99dcb4f5f37f30264e63bbbd 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 ab30b58..4136873 100644 index b794666..4f7327a 100644
--- a/linux-user/syscall.c --- a/linux-user/syscall.c
+++ b/linux-user/syscall.c +++ b/linux-user/syscall.c
@@ -5548,9 +5548,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1, @@ -5723,9 +5723,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

View File

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

View File

@ -1,96 +0,0 @@
From f53729fe3c617028aad57b8d7d01f34d1740c20c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Mon, 12 Aug 2013 18:09:47 +0200
Subject: [PATCH] gdbstub: Fix gdb_register_coprocessor() register counting
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Commit a0e372f0c49ac01faeaeb73a6e8f50e8ac615f34 reorganized the register
counting for GDB. While it seems correct not to let the total number of
registers skyrocket in an SMP scenario through a static variable, the
distinction between total register count and 'g' packet register count
(last_reg vs. num_g_regs) got lost among the way.
Fix this by introducing CPUState::gdb_num_g_regs and using that in
gdb_handle_packet().
Reported-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: qemu-stable@nongnu.org (stable-1.6)
Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Tested-by: Max Filippov <jcmvbkbc@gmail.com>
Tested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andreas Färber <afaerber@suse.de>
(cherry-picked from commit 35143f0164e6933a85c7c2b8a89a040d881a9151)
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
gdbstub.c | 6 ++++--
include/qom/cpu.h | 2 ++
qom/cpu.c | 2 +-
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/gdbstub.c b/gdbstub.c
index 1af25a6..9d067d6 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -621,6 +621,8 @@ void gdb_register_coprocessor(CPUState *cpu,
if (g_pos != s->base_reg) {
fprintf(stderr, "Error: Bad gdb register numbering for '%s'\n"
"Expected %d got %d\n", xml, g_pos, s->base_reg);
+ } else {
+ cpu->gdb_num_g_regs = cpu->gdb_num_regs;
}
}
}
@@ -902,7 +904,7 @@ static int gdb_handle_packet(GDBState *s, const char *line_buf)
case 'g':
cpu_synchronize_state(s->g_cpu);
len = 0;
- for (addr = 0; addr < s->g_cpu->gdb_num_regs; addr++) {
+ for (addr = 0; addr < s->g_cpu->gdb_num_g_regs; addr++) {
reg_size = gdb_read_register(s->g_cpu, mem_buf + len, addr);
len += reg_size;
}
@@ -914,7 +916,7 @@ static int gdb_handle_packet(GDBState *s, const char *line_buf)
registers = mem_buf;
len = strlen(p) / 2;
hextomem((uint8_t *)registers, p, len);
- for (addr = 0; addr < s->g_cpu->gdb_num_regs && len > 0; addr++) {
+ for (addr = 0; addr < s->g_cpu->gdb_num_g_regs && len > 0; addr++) {
reg_size = gdb_write_register(s->g_cpu, registers, addr);
len -= reg_size;
registers += reg_size;
diff --git a/include/qom/cpu.h b/include/qom/cpu.h
index 0d6e95c..3e49936 100644
--- a/include/qom/cpu.h
+++ b/include/qom/cpu.h
@@ -152,6 +152,7 @@ struct kvm_run;
* @current_tb: Currently executing TB.
* @gdb_regs: Additional GDB registers.
* @gdb_num_regs: Number of total registers accessible to GDB.
+ * @gdb_num_g_regs: Number of registers in GDB 'g' packets.
* @next_cpu: Next CPU sharing TB cache.
* @kvm_fd: vCPU file descriptor for KVM.
*
@@ -188,6 +189,7 @@ struct CPUState {
struct TranslationBlock *current_tb;
struct GDBRegisterState *gdb_regs;
int gdb_num_regs;
+ int gdb_num_g_regs;
CPUState *next_cpu;
int kvm_fd;
diff --git a/qom/cpu.c b/qom/cpu.c
index aa95108..e71e57b 100644
--- a/qom/cpu.c
+++ b/qom/cpu.c
@@ -240,7 +240,7 @@ static void cpu_common_initfn(Object *obj)
CPUState *cpu = CPU(obj);
CPUClass *cc = CPU_GET_CLASS(obj);
- cpu->gdb_num_regs = cc->gdb_num_core_regs;
+ cpu->gdb_num_regs = cpu->gdb_num_g_regs = cc->gdb_num_core_regs;
}
static int64_t cpu_common_get_arch_id(CPUState *cpu)

View File

@ -1,4 +1,4 @@
From 2bf9e17dc9b16ed6094ba923479b5dc38f549141 Mon Sep 17 00:00:00 2001 From 752e7f8fd399dd18f0eb59e63588cdf877c76d42 Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com> From: Bruce Rogers <brogers@suse.com>
Date: Wed, 2 Oct 2013 17:51:46 +0200 Date: Wed, 2 Oct 2013 17:51:46 +0200
Subject: [PATCH] roms: Build vgabios.bin Subject: [PATCH] roms: Build vgabios.bin
@ -8,15 +8,15 @@ Subject: [PATCH] roms: Build vgabios.bin
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
diff --git a/roms/Makefile b/roms/Makefile diff --git a/roms/Makefile b/roms/Makefile
index 7a228ae..bbf21a9 100644 index 10d5a65..3bb1f48 100644
--- a/roms/Makefile --- a/roms/Makefile
+++ b/roms/Makefile +++ b/roms/Makefile
@@ -50,6 +50,8 @@ seavgabios-%: config.vga.% @@ -80,6 +80,8 @@ build-seabios-config-%: config.%
cp seabios/out/vgabios.bin ../pc-bios/vgabios-$*.bin
lgplvgabios: $(patsubst %,lgplvgabios-%,$(vgabios_variants)) lgplvgabios: $(patsubst %,lgplvgabios-%,$(vgabios_variants))
+ make -C vgabios vgabios.bin + make -C vgabios vgabios.bin
+ cp vgabios/VGABIOS-lgpl-latest.bin ../pc-bios/vgabios.bin + cp vgabios/VGABIOS-lgpl-latest.bin ../pc-bios/vgabios.bin
lgplvgabios-%: lgplvgabios-isavga: build-lgplvgabios
make -C vgabios vgabios-$*.bin cp vgabios/VGABIOS-lgpl-latest.bin ../pc-bios/vgabios.bin

View File

@ -1,4 +1,4 @@
From 0f48ef2d13e261e7dbb05e8ac74d719ce9158f5a Mon Sep 17 00:00:00 2001 From 26cd29bf6bce044ae2eb852e4ac135f5930f6ce8 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
@ -7,21 +7,22 @@ Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
Signed-off-by: Dinar Valeev <dvaleev@suse.com> Signed-off-by: Dinar Valeev <dvaleev@suse.com>
[AF: Rebased for v1.7]
Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Andreas Färber <afaerber@suse.de>
--- ---
configure | 2 +- configure | 2 +-
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 18fa608..0a4b22e 100755 index 0666228..d508d50 100755
--- a/configure --- a/configure
+++ b/configure +++ b/configure
@@ -1251,7 +1251,7 @@ fi @@ -1320,7 +1320,7 @@ fi
if test "$pie" = ""; then if test "$pie" = ""; then
case "$cpu-$targetos" in case "$cpu-$targetos" in
- i386-Linux|x86_64-Linux|i386-OpenBSD|x86_64-OpenBSD) - i386-Linux|x86_64-Linux|x32-Linux|i386-OpenBSD|x86_64-OpenBSD)
+ i386-Linux|x86_64-Linux|ppc*-Linux|i386-OpenBSD|x86_64-OpenBSD) + i386-Linux|x86_64-Linux|x32-Linux|ppc*-Linux|i386-OpenBSD|x86_64-OpenBSD)
;; ;;
*) *)
pie="no" pie="no"

15
iasl_workaround.patch Normal file
View File

@ -0,0 +1,15 @@
--- qemu-1.7.0/roms/seabios/Makefile
+++ qemu-1.7.0/roms/seabios/Makefile
@@ -219,7 +219,11 @@ $(OUT)%.hex: src/%.dsl ./tools/acpi_extr
@echo " Compiling IASL $@"
$(Q)$(CPP) $(CPPFLAGS) $< -o $(OUT)$*.dsl.i.orig
$(Q)$(PYTHON) ./tools/acpi_extract_preprocess.py $(OUT)$*.dsl.i.orig > $(OUT)$*.dsl.i
- $(Q)$(IASL) $(call iasl-option,$(IASL),-Pn,) -vs -l -tc -p $(OUT)$* $(OUT)$*.dsl.i
+ $(Q)rm -rf /tmp/iasl_workaround
+ $(Q)mkdir /tmp/iasl_workaround
+ $(Q)$(IASL) $(call iasl-option,$(IASL),-Pn,) -vs -l -tc -p /tmp/iasl_workaround/$* $(OUT)$*.dsl.i
+ $(Q)mv /tmp/iasl_workaround/* $(OUT)
+ $(Q)rmdir /tmp/iasl_workaround
$(Q)$(PYTHON) ./tools/acpi_extract.py $(OUT)$*.lst > $(OUT)$*.off
$(Q)cat $(OUT)$*.off > $@

View File

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

3
qemu-1.7.0.tar.bz2 Normal file
View File

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

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Fri Dec 6 22:21:50 UTC 2013 - afaerber@suse.de
- Update to v1.7.0: See http://wiki.qemu-project.org/ChangeLog/1.7
* Adapted update_git.sh accordingly
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Aug 17 12:12:57 UTC 2013 - afaerber@suse.de Sat Aug 17 12:12:57 UTC 2013 - afaerber@suse.de

View File

@ -21,9 +21,9 @@ 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.6.0 Version: 1.7.0
Release: 0 Release: 0
Source: qemu-1.6.0.tar.bz2 Source: qemu-1.7.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.patc.patch
Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch
@ -54,17 +54,16 @@ Patch0026: 0026-slirp-nooutgoing.patch.patch
Patch0027: 0027-vnc-password-file-and-incoming-conn.patch Patch0027: 0027-vnc-password-file-and-incoming-conn.patch
Patch0028: 0028-linux-user-add-more-blk-ioctls.patc.patch Patch0028: 0028-linux-user-add-more-blk-ioctls.patc.patch
Patch0029: 0029-linux-user-use-target_ulong.patch.patch Patch0029: 0029-linux-user-use-target_ulong.patch.patch
Patch0030: 0030-Add-support-for-DictZip-enabled-gzi.patch Patch0030: 0030-block-Add-support-for-DictZip-enabl.patch
Patch0031: 0031-Add-tar-container-format.patch.patch Patch0031: 0031-block-Add-tar-container-format.patc.patch
Patch0032: 0032-Legacy-Patch-kvm-qemu-preXX-dictzip.patch Patch0032: 0032-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
Patch0033: 0033-Legacy-Patch-kvm-qemu-preXX-report-.patch Patch0033: 0033-Legacy-Patch-kvm-qemu-preXX-report-.patch
Patch0034: 0034-console-add-question-mark-escape-op.patch Patch0034: 0034-console-add-question-mark-escape-op.patch
Patch0035: 0035-Make-char-muxer-more-robust-wrt-sma.patch Patch0035: 0035-Make-char-muxer-more-robust-wrt-sma.patch
Patch0036: 0036-linux-user-lseek-explicitly-cast-no.patch Patch0036: 0036-linux-user-lseek-explicitly-cast-no.patch
Patch0037: 0037-virtfs-proxy-helper-Provide-__u64-f.patch Patch0037: 0037-virtfs-proxy-helper-Provide-__u64-f.patch
Patch0038: 0038-gdbstub-Fix-gdb_register_coprocesso.patch Patch0038: 0038-roms-Build-vgabios.bin.patch.patch
Patch0039: 0039-roms-Build-vgabios.bin.patch.patch Patch0039: 0039-configure-Enable-PIE-for-ppc-and-pp.patch
Patch0040: 0040-configure-Enable-PIE-for-ppc-and-pp.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
@ -116,7 +115,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-1.6.0 %setup -q -n qemu-1.7.0
%patch0001 -p1 %patch0001 -p1
%patch0002 -p1 %patch0002 -p1
%patch0003 -p1 %patch0003 -p1
@ -156,7 +155,6 @@ run cross-architecture builds.
%patch0037 -p1 %patch0037 -p1
%patch0038 -p1 %patch0038 -p1
%patch0039 -p1 %patch0039 -p1
%patch0040 -p1
%build %build
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \ ./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \

View File

@ -21,9 +21,9 @@ 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.6.0 Version: 1.7.0
Release: 0 Release: 0
Source: qemu-1.6.0.tar.bz2 Source: qemu-1.7.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.
@ -77,7 +77,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-1.6.0 %setup -q -n qemu-1.7.0
PATCH_EXEC PATCH_EXEC
%build %build

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Fri Dec 6 22:21:50 UTC 2013 - afaerber@suse.de
- Update to v1.7.0: See http://wiki.qemu-project.org/ChangeLog/1.7
* Adapted update_git.sh accordingly
* Dropped --enable-mixemu (no longer available)
* Added a work around patch for an iasl bug
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Oct 9 16:23:56 UTC 2013 - dmueller@suse.com Wed Oct 9 16:23:56 UTC 2013 - dmueller@suse.com

View File

@ -28,9 +28,9 @@ 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.6.0 Version: 1.7.0
Release: 0 Release: 0
Source: %name-1.6.0.tar.bz2 Source: %name-1.7.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.patc.patch
Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch
@ -61,23 +61,23 @@ Patch0026: 0026-slirp-nooutgoing.patch.patch
Patch0027: 0027-vnc-password-file-and-incoming-conn.patch Patch0027: 0027-vnc-password-file-and-incoming-conn.patch
Patch0028: 0028-linux-user-add-more-blk-ioctls.patc.patch Patch0028: 0028-linux-user-add-more-blk-ioctls.patc.patch
Patch0029: 0029-linux-user-use-target_ulong.patch.patch Patch0029: 0029-linux-user-use-target_ulong.patch.patch
Patch0030: 0030-Add-support-for-DictZip-enabled-gzi.patch Patch0030: 0030-block-Add-support-for-DictZip-enabl.patch
Patch0031: 0031-Add-tar-container-format.patch.patch Patch0031: 0031-block-Add-tar-container-format.patc.patch
Patch0032: 0032-Legacy-Patch-kvm-qemu-preXX-dictzip.patch Patch0032: 0032-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
Patch0033: 0033-Legacy-Patch-kvm-qemu-preXX-report-.patch Patch0033: 0033-Legacy-Patch-kvm-qemu-preXX-report-.patch
Patch0034: 0034-console-add-question-mark-escape-op.patch Patch0034: 0034-console-add-question-mark-escape-op.patch
Patch0035: 0035-Make-char-muxer-more-robust-wrt-sma.patch Patch0035: 0035-Make-char-muxer-more-robust-wrt-sma.patch
Patch0036: 0036-linux-user-lseek-explicitly-cast-no.patch Patch0036: 0036-linux-user-lseek-explicitly-cast-no.patch
Patch0037: 0037-virtfs-proxy-helper-Provide-__u64-f.patch Patch0037: 0037-virtfs-proxy-helper-Provide-__u64-f.patch
Patch0038: 0038-gdbstub-Fix-gdb_register_coprocesso.patch Patch0038: 0038-roms-Build-vgabios.bin.patch.patch
Patch0039: 0039-roms-Build-vgabios.bin.patch.patch Patch0039: 0039-configure-Enable-PIE-for-ppc-and-pp.patch
Patch0040: 0040-configure-Enable-PIE-for-ppc-and-pp.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
Patch1000: ipxe-build-Work-around-bug-in-gcc-4.8.patch Patch1000: ipxe-build-Work-around-bug-in-gcc-4.8.patch
Patch1001: ipxe-zbin-Fix-size-used-for-memset-in-al.patch Patch1001: ipxe-zbin-Fix-size-used-for-memset-in-al.patch
Patch1002: ipxe-build-Avoid-strict-aliasing-warning.patch Patch1002: ipxe-build-Avoid-strict-aliasing-warning.patch
Patch1003: iasl_workaround.patch
# end roms/ipxe patches # end roms/ipxe patches
# this is to make lint happy # this is to make lint happy
@ -260,7 +260,7 @@ as PC and PowerMac systems.
This sub-package contains the guest agent. This sub-package contains the guest agent.
%prep %prep
%setup -q #-n %name-1.6.0-rc3 %setup -q #-n %name-1.7.0-rc2
%patch0001 -p1 %patch0001 -p1
%patch0002 -p1 %patch0002 -p1
%patch0003 -p1 %patch0003 -p1
@ -300,11 +300,11 @@ This sub-package contains the guest agent.
%patch0037 -p1 %patch0037 -p1
%patch0038 -p1 %patch0038 -p1
%patch0039 -p1 %patch0039 -p1
%patch0040 -p1
%patch1000 -p1 %patch1000 -p1
%patch1001 -p1 %patch1001 -p1
%patch1002 -p1 %patch1002 -p1
%patch1003 -p1
%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
@ -323,7 +323,7 @@ done
--enable-tools --enable-guest-agent \ --enable-tools --enable-guest-agent \
--enable-pie \ --enable-pie \
--enable-docs \ --enable-docs \
--audio-drv-list="pa alsa sdl oss" --enable-mixemu \ --audio-drv-list="pa alsa sdl oss" \
%if 0%{?suse_version} >= 1130 %if 0%{?suse_version} >= 1130
--enable-brlapi \ --enable-brlapi \
%endif %endif
@ -362,9 +362,11 @@ make %{?_smp_mflags} V=1
# Firmware # Firmware
%if %{build_x86_fw_from_source} %if %{build_x86_fw_from_source}
make -C roms bios cd roms
make -C roms lgplvgabios make bios
make -C roms pxerom make lgplvgabios
make pxerom
cd ..
make -C roms/sgabios make -C roms/sgabios
cp roms/sgabios/sgabios.bin pc-bios/sgabios.bin cp roms/sgabios/sgabios.bin pc-bios/sgabios.bin
%endif %endif

View File

@ -28,9 +28,9 @@ 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.6.0 Version: 1.7.0
Release: 0 Release: 0
Source: %name-1.6.0.tar.bz2 Source: %name-1.7.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.
@ -39,6 +39,7 @@ PATCH_FILES
Patch1000: ipxe-build-Work-around-bug-in-gcc-4.8.patch Patch1000: ipxe-build-Work-around-bug-in-gcc-4.8.patch
Patch1001: ipxe-zbin-Fix-size-used-for-memset-in-al.patch Patch1001: ipxe-zbin-Fix-size-used-for-memset-in-al.patch
Patch1002: ipxe-build-Avoid-strict-aliasing-warning.patch Patch1002: ipxe-build-Avoid-strict-aliasing-warning.patch
Patch1003: iasl_workaround.patch
# end roms/ipxe patches # end roms/ipxe patches
# this is to make lint happy # this is to make lint happy
@ -221,12 +222,13 @@ as PC and PowerMac systems.
This sub-package contains the guest agent. This sub-package contains the guest agent.
%prep %prep
%setup -q #-n %name-1.6.0-rc3 %setup -q #-n %name-1.7.0-rc2
PATCH_EXEC PATCH_EXEC
%patch1000 -p1 %patch1000 -p1
%patch1001 -p1 %patch1001 -p1
%patch1002 -p1 %patch1002 -p1
%patch1003 -p1
%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
@ -245,7 +247,7 @@ done
--enable-tools --enable-guest-agent \ --enable-tools --enable-guest-agent \
--enable-pie \ --enable-pie \
--enable-docs \ --enable-docs \
--audio-drv-list="pa alsa sdl oss" --enable-mixemu \ --audio-drv-list="pa alsa sdl oss" \
%if 0%{?suse_version} >= 1130 %if 0%{?suse_version} >= 1130
--enable-brlapi \ --enable-brlapi \
%endif %endif
@ -284,9 +286,11 @@ make %{?_smp_mflags} V=1
# Firmware # Firmware
%if %{build_x86_fw_from_source} %if %{build_x86_fw_from_source}
make -C roms bios cd roms
make -C roms lgplvgabios make bios
make -C roms pxerom make lgplvgabios
make pxerom
cd ..
make -C roms/sgabios make -C roms/sgabios
cp roms/sgabios/sgabios.bin pc-bios/sgabios.bin cp roms/sgabios/sgabios.bin pc-bios/sgabios.bin
%endif %endif

View File

@ -12,8 +12,8 @@
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=/home/andreas/QEMU/qemu-opensuse
GIT_BRANCH=opensuse-1.6 GIT_BRANCH=opensuse-1.7
GIT_UPSTREAM_TAG=v1.6.0 GIT_UPSTREAM_TAG=v1.7.0
QEMU_TMP=/dev/shm/qemu-tmp QEMU_TMP=/dev/shm/qemu-tmp
# clean up # clean up