Accepting request 121983 from home:a_faerber:branches:Virtualization

Update qemu from 1.1.0-rc2 to 1.1.0-rc3.

OBS-URL: https://build.opensuse.org/request/show/121983
OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=70
This commit is contained in:
Andreas Färber 2012-05-23 18:34:03 +00:00 committed by Git OBS Bridge
parent c9c84b0eec
commit ff9e7a806a
25 changed files with 40 additions and 125 deletions

View File

@ -1,4 +1,4 @@
From 002c26350cbb05845cd06a8100309a1076da14fd Mon Sep 17 00:00:00 2001
From aa21387b7e43d3aca4a3111502eff7d50e6f5944 Mon Sep 17 00:00:00 2001
From: Peter Maydell <peter.maydell@linaro.org>
Date: Wed, 5 Oct 2011 10:04:02 +0100
Subject: [PATCH] Handle CPU interrupts by inline checking of a flag
@ -54,7 +54,7 @@ index 0344cd5..0547f2d 100644
int insns_left;
tb = (TranslationBlock *)(next_tb & ~3);
diff --git a/exec.c b/exec.c
index 0607c9b..455e0bb 100644
index a0494c7..21fce4e 100644
--- a/exec.c
+++ b/exec.c
@@ -130,6 +130,8 @@ DEFINE_TLS(CPUArchState *,cpu_single_env);
@ -66,7 +66,7 @@ index 0607c9b..455e0bb 100644
typedef struct PageDesc {
/* list of TBs intersecting this ram page */
@@ -1738,7 +1740,13 @@ static void tcg_handle_interrupt(CPUArchState *env, int mask)
@@ -1755,7 +1757,13 @@ static void tcg_handle_interrupt(CPUArchState *env, int mask)
cpu_abort(env, "Raised interrupt while not in I/O function");
}
} else {
@ -81,7 +81,7 @@ index 0607c9b..455e0bb 100644
}
}
@@ -1761,7 +1769,9 @@ void cpu_reset_interrupt(CPUArchState *env, int mask)
@@ -1778,7 +1786,9 @@ void cpu_reset_interrupt(CPUArchState *env, int mask)
void cpu_exit(CPUArchState *env)
{
env->exit_request = 1;

View File

@ -1,4 +1,4 @@
From 3ed6f69a55bc64d4bb170b4c70311db88f6dc825 Mon Sep 17 00:00:00 2001
From 57a19d136179d433b20ca977c5db54156a4959a3 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Mon, 21 Nov 2011 23:50:36 +0100
Subject: [PATCH] XXX dont dump core on sigabort

View File

@ -1,4 +1,4 @@
From 5420c1c9ad6917bd1b47cf376a54c971fe050235 Mon Sep 17 00:00:00 2001
From ecdca756dc912d0fb26c28bff701cc2b2b4402d6 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Thu, 1 Dec 2011 19:00:01 +0100
Subject: [PATCH] XXX work around SA_RESTART race with boehm-gc (ARM only)

View File

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

View File

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

View File

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

View File

@ -1,4 +1,4 @@
From 7d8d450f8bda6d15dd4b8383cfe26dd129565523 Mon Sep 17 00:00:00 2001
From 4ebd8783b71189cd041058171c2fc21c2283c3c6 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 14 Apr 2009 16:24:15 +0200
Subject: [PATCH] qemu-cvs-alsa_mmap
@ -12,7 +12,7 @@ Signed-off-by: Ulrich Hecht <uli@suse.de>
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index 7125d1c..2a1e4a1 100644
index d9468fe..3f5e1d7 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
@@ -377,6 +377,9 @@ abi_ulong mmap_find_vma(abi_ulong start, abi_ulong size)

View File

@ -1,4 +1,4 @@
From 3951c2933151d9e8fc10263d84d88e4ca5c50227 Mon Sep 17 00:00:00 2001
From a59d2c83f7fbbbf06964c68d411c3876164451e2 Mon Sep 17 00:00:00 2001
From: Ulrich Hecht <uli@suse.de>
Date: Tue, 14 Apr 2009 16:25:41 +0200
Subject: [PATCH] qemu-cvs-gettimeofday

View File

@ -1,4 +1,4 @@
From ff78ff3488efc926c745068402079d0ab1ad7631 Mon Sep 17 00:00:00 2001
From 32368637cf35ce3495b1e834e116f561b4ba50ee Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 14 Apr 2009 16:26:33 +0200
Subject: [PATCH] qemu-cvs-ioctl_debug

View File

@ -1,4 +1,4 @@
From d0e2270eed1ce0d1ba056f367901890085fadc38 Mon Sep 17 00:00:00 2001
From 8cf7f450f84e39841daefcbe1e7d2c2b586da423 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 14 Apr 2009 16:27:36 +0200
Subject: [PATCH] qemu-cvs-ioctl_nodirection

View File

@ -1,4 +1,4 @@
From cb02c392f4b137aab475f9d7e1f00a52c5fc2540 Mon Sep 17 00:00:00 2001
From a54f38f19edeca1a17a97d70f892fc5f5c0dec4a Mon Sep 17 00:00:00 2001
From: Ulrich Hecht <uli@suse.de>
Date: Tue, 14 Apr 2009 16:37:42 +0200
Subject: [PATCH] qemu-img-vmdk-scsi

View File

@ -1,4 +1,4 @@
From d9382548ac4cd00fc291ff3a68771b22a7c109f3 Mon Sep 17 00:00:00 2001
From b8b5443e2536b424f19f129aab01b314629cf71c Mon Sep 17 00:00:00 2001
From: Ulrich Hecht <uli@suse.de>
Date: Wed, 25 Aug 2010 14:23:43 +0200
Subject: [PATCH] configure: Enable mipsn32*-linux-user builds

View File

@ -1,4 +1,4 @@
From f70ff782209a8c427a8abc26869fdd7a397713da Mon Sep 17 00:00:00 2001
From c0ec70b085b57e2381c49a82f9f7f3ff0f20ef34 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Fri, 30 Sep 2011 19:40:36 +0200
Subject: [PATCH] linux-user: add binfmt wrapper for argv[0] handling

View File

@ -1,4 +1,4 @@
From e3357e33c9ab4a3c99866b8b4c0f87090b3b7924 Mon Sep 17 00:00:00 2001
From 29ad679d9dd393b11ec4fcc6a3cd727f940c0f9a Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Sun, 11 Dec 2011 01:19:24 +0100
Subject: [PATCH] linux-user: Ignore timer_create syscall

View File

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

View File

@ -1,4 +1,4 @@
From 886cad0ebe89b31347ae5f99b113d8e006e44422 Mon Sep 17 00:00:00 2001
From de50438d31a9932762c2c5d0903ad13c8d55687c Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Fri, 6 Jan 2012 01:05:55 +0100
Subject: [PATCH] PPC: KVM: Disable mmu notifier check
@ -13,10 +13,10 @@ KVM guests work there, even if possibly racy in some odd circumstances.
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/exec.c b/exec.c
index 455e0bb..14b1074 100644
index 21fce4e..9ba4409 100644
--- a/exec.c
+++ b/exec.c
@@ -2486,10 +2486,12 @@ static void *file_ram_alloc(RAMBlock *block,
@@ -2503,10 +2503,12 @@ static void *file_ram_alloc(RAMBlock *block,
return NULL;
}

View File

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

View File

@ -1,4 +1,4 @@
From 7e85618275c666be709dd25c8305b2611368101f Mon Sep 17 00:00:00 2001
From 4df8827ec139f55465022210a0d28e65538134cc Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Thu, 2 Feb 2012 18:02:33 +0100
Subject: [PATCH] linux-user: binfmt: support host binaries

View File

@ -1,89 +0,0 @@
From 99eac32372c3bee2d801f20e377de23d09e7a25e Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Mon, 7 May 2012 11:23:02 +0200
Subject: [PATCH] linux-user: Fix stale tbs after mmap
If we execute linux-user code that does the following:
* A = mmap()
* execute code in A
* munmap(A)
* B = mmap(), but mmap returns the same address as A
* execute code in B
we end up executing a stale cached tb that contains translated code
from A, while we want new code from B.
This patch adds a TB flush for mmap'ed regions, before we return them,
avoiding the whole issue.
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
[AF: Adapted to cputlb split-out]
---
exec-all.h | 2 ++
exec.c | 17 +++++++++++++++++
linux-user/mmap.c | 2 ++
3 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/exec-all.h b/exec-all.h
index c1b7e1f..9bda7f7 100644
--- a/exec-all.h
+++ b/exec-all.h
@@ -96,6 +96,8 @@ void QEMU_NORETURN cpu_loop_exit(CPUArchState *env1);
int page_unprotect(target_ulong address, uintptr_t pc, void *puc);
void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
int is_cpu_write_access);
+void tb_invalidate_phys_range(tb_page_addr_t start, tb_page_addr_t end,
+ int is_cpu_write_access);
#if !defined(CONFIG_USER_ONLY)
/* cputlb.c */
void tlb_flush_page(CPUArchState *env, target_ulong addr);
diff --git a/exec.c b/exec.c
index 14b1074..9ba4409 100644
--- a/exec.c
+++ b/exec.c
@@ -1077,6 +1077,23 @@ TranslationBlock *tb_gen_code(CPUArchState *env,
return tb;
}
+/*
+ * invalidate all TBs which intersect with the target physical pages
+ * starting in range [start;end[. NOTE: start and end may refer to
+ * different physical pages. 'is_cpu_write_access' should be true if called
+ * from a real cpu write access: the virtual CPU will exit the current
+ * TB if code is modified inside this TB.
+ */
+void tb_invalidate_phys_range(tb_page_addr_t start, tb_page_addr_t end,
+ int is_cpu_write_access)
+{
+ while (start < end) {
+ tb_invalidate_phys_page_range(start, end, is_cpu_write_access);
+ start &= TARGET_PAGE_MASK;
+ start += TARGET_PAGE_SIZE;
+ }
+}
+
/* invalidate all TBs which intersect with the target physical page
starting in range [start;end[. NOTE: start and end must refer to
the same physical page. 'is_cpu_write_access' should be true if called
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index 2a1e4a1..e3fb6b5 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
@@ -587,6 +587,7 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
page_dump(stdout);
printf("\n");
#endif
+ tb_invalidate_phys_range(start, start + len, 0);
mmap_unlock();
return start;
fail:
@@ -768,6 +769,7 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size,
page_set_flags(old_addr, old_addr + old_size, 0);
page_set_flags(new_addr, new_addr + new_size, prot | PAGE_VALID);
}
+ tb_invalidate_phys_range(new_addr, new_addr + new_size, 0);
mmap_unlock();
return new_addr;
}

View File

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

3
qemu-1.1.0-rc3.tar.bz2 Normal file
View File

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

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Tue May 22 16:39:24 UTC 2012 - afaerber@suse.de
- Update to v1.1.0-rc3; see http://wiki.qemu.org/ChangeLog/1.1
* Adapt update_git.sh script to new tag
-------------------------------------------------------------------
Thu May 17 17:40:19 UTC 2012 - afaerber@suse.de

View File

@ -21,9 +21,9 @@ Url: http://www.qemu.org/
Summary: Universal CPU emulator
License: BSD-3-Clause ; GPL-2.0+ ; LGPL-2.1+ ; MIT
Group: System/Emulators/PC
Version: 1.1.0rc2
Version: 1.1.0rc3
Release: 0
Source: %name-1.1.0-rc2.tar.bz2
Source: %name-1.1.0-rc3.tar.bz2
Patch0001: 0001-Handle-CPU-interrupts-by-inline-che.patch
Patch0002: 0002-XXX-dont-dump-core-on-sigabort.patc.patch
Patch0003: 0003-XXX-work-around-SA_RESTART-race-wit.patch
@ -42,7 +42,6 @@ Patch0015: 0015-linux-user-be-silent-about-capget-f.patch
Patch0016: 0016-PPC-KVM-Disable-mmu-notifier-check..patch
Patch0017: 0017-linux-user-fix-segfault-deadlock.pa.patch
Patch0018: 0018-linux-user-binfmt-support-host-bina.patch
Patch0019: 0019-linux-user-Fix-stale-tbs-after-mmap.patch
# this is to make lint happy
Source300: rpmlintrc
Source400: update_git.sh
@ -112,7 +111,7 @@ emulations. This can be used together with the OBS build script to
run cross architectures builds
%prep
%setup -q -n qemu-1.1.0-rc2
%setup -q -n qemu-1.1.0-rc3
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
@ -131,7 +130,6 @@ run cross architectures builds
%patch0016 -p1
%patch0017 -p1
%patch0018 -p1
%patch0019 -p1
%build
# build QEMU

View File

@ -21,9 +21,9 @@ Url: http://www.qemu.org/
Summary: Universal CPU emulator
License: BSD-3-Clause ; GPL-2.0+ ; LGPL-2.1+ ; MIT
Group: System/Emulators/PC
Version: 1.1.0rc2
Version: 1.1.0rc3
Release: 0
Source: %name-1.1.0-rc2.tar.bz2
Source: %name-1.1.0-rc3.tar.bz2
PATCH_FILES
# this is to make lint happy
Source300: rpmlintrc
@ -94,7 +94,7 @@ emulations. This can be used together with the OBS build script to
run cross architectures builds
%prep
%setup -q -n qemu-1.1.0-rc2
%setup -q -n qemu-1.1.0-rc3
PATCH_EXEC
%build

View File

@ -13,7 +13,7 @@
GIT_TREE=git://repo.or.cz/qemu/agraf.git
GIT_LOCAL_TREE=/suse/agraf/git/qemu
GIT_BRANCH=suse-1.1
GIT_UPSTREAM_TAG=v1.1.0-rc2
GIT_UPSTREAM_TAG=v1.1.0-rc3
QEMU_TMP=/dev/shm/qemu-tmp
# clean up