SHA256
1
0
forked from pool/qemu

Accepting request 230823 from home:a_faerber:branches:Virtualization

Fix some aarch64 emulation bugs and try to tackle qtest failures

OBS-URL: https://build.opensuse.org/request/show/230823
OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=205
This commit is contained in:
Andreas Färber 2014-04-18 21:44:56 +00:00 committed by Git OBS Bridge
parent 0c2f0a90b2
commit 2f37328663
53 changed files with 360 additions and 53 deletions

View File

@ -1,4 +1,4 @@
From aeebad41785f167cd65bd31460194b865b52d0d5 Mon Sep 17 00:00:00 2001
From afd1df16c2e7b2dd5d4478f2ba6e29a1296c8cfa 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 83e5db1d24462ec65be7537055c9569a0a4c42bb Mon Sep 17 00:00:00 2001
From e9ce5f593385ed16e456058d1f873e381c9d053d 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 668f0be28e9b1f1f13ef306ef0172c3a09d30e7d Mon Sep 17 00:00:00 2001
From b34c0c408d3f08110ccb980d4ca0ef58a1a03c86 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 bc1571c24dff5b99a15666aff3e6d31381d792c6 Mon Sep 17 00:00:00 2001
From 08da583bd034109d09bfa6fedaa19bd0bdbc6c3a 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 022f76393c23d9a7f347702eab46c276c40ff349 Mon Sep 17 00:00:00 2001
From 4820daf43dce7bbafc27ab1102a6eb52a17e4da9 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 f960b2cbe0ca7ab203554a81a8d8539b1018c518 Mon Sep 17 00:00:00 2001
From b1f94337048b56d240420c0d0a37ad061084904c Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 14 Apr 2009 16:24:15 +0200
Subject: [PATCH] qemu-cvs-alsa_mmap

View File

@ -1,4 +1,4 @@
From 23be0fee29ce4e7c6811eaf8cd94b8f709734f33 Mon Sep 17 00:00:00 2001
From 2a9ed81b68696702c3dfab0e3635ca1a7afe1ea4 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 c06a7688a2823e272770551d224ec88e5a7b889f Mon Sep 17 00:00:00 2001
From 9671d1a0e8e53a44513131d105c0f543c181cc0f 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 fe91ba3da2733e8daf84a9b58800bca5c4cbc01d Mon Sep 17 00:00:00 2001
From a535f471a344608107dce681f66a75b38f9e8441 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 434f65ebd531fbe83368cd50d3da6d0586e7d397 Mon Sep 17 00:00:00 2001
From a96062c693f9fa9ce4d0dd23c9cfc8816b0eacce Mon Sep 17 00:00:00 2001
From: Ulrich Hecht <uli@suse.de>
Date: Tue, 14 Apr 2009 16:37:42 +0200
Subject: [PATCH] block/vmdk: Support creation of SCSI VMDK images in qemu-img

View File

@ -1,4 +1,4 @@
From 793d2fec11baadcbfe11f6b0664f45b3429940fb Mon Sep 17 00:00:00 2001
From 99a52830916b325a52d7eac1abb979d525229fc4 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 431e6ecf1a3c0b77b7cb2e24358b3c96e7701356 Mon Sep 17 00:00:00 2001
From 9ceca2f2c25c99e930d31ab11c7ff46dd9d43da6 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Fri, 6 Jan 2012 01:05:55 +0100
Subject: [PATCH] PPC: KVM: Disable mmu notifier check

View File

@ -1,4 +1,4 @@
From 83dd956cc934b0a252b17fde5d3346036de5f89d Mon Sep 17 00:00:00 2001
From c8bac440eee7d3377d27c676dfa6034ea059451c 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 942d438463fd63e61fd27c5284f9197a0cb83db0 Mon Sep 17 00:00:00 2001
From ae7b4452a263d662035eb35c14fe84590bfff364 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Thu, 2 Feb 2012 18:02:33 +0100
Subject: [PATCH] linux-user: binfmt: support host binaries

View File

@ -1,4 +1,4 @@
From 6c2e499a0eec1e91737f5f06a5a91c8709ab0f9c Mon Sep 17 00:00:00 2001
From bc949bb060b7f52ee5da9ef34e06bb12ba202726 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 29 May 2012 15:30:01 +0200
Subject: [PATCH] linux-user: arm: no tb_flush on reset

View File

@ -1,4 +1,4 @@
From 62baa5dcb03df47bb3735efdb01a9f0391c6fa08 Mon Sep 17 00:00:00 2001
From 9414e435edf0bdf2341c8e69e81e6f42cd73aca4 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 12 Jun 2012 04:41:10 +0200
Subject: [PATCH] linux-user: Ignore broken loop ioctl

View File

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

View File

@ -1,4 +1,4 @@
From 11349260064d2735d4bf761d632b778291678f5c Mon Sep 17 00:00:00 2001
From ca45f1d446ca88675e85bf80f133d3d8d955dbf0 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 10 Jul 2012 20:40:55 +0200
Subject: [PATCH] linux-user: Run multi-threaded code on a single core

View File

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

View File

@ -1,4 +1,4 @@
From 4251dfe82b546428a2ef1a15cc13753490b03b4c Mon Sep 17 00:00:00 2001
From 761b115c27a0f900f519422e4a79573da3632f4a Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Mon, 23 Jul 2012 10:24:14 +0200
Subject: [PATCH] linux-user: Fake /proc/cpuinfo

View File

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

View File

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

View File

@ -1,4 +1,4 @@
From 94144a1ca38fe8c1aef296158672b2ec0959ad0c Mon Sep 17 00:00:00 2001
From fac2c74e7593b04a4fc45e0d40c06036f60ae75d Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 21 Aug 2012 14:20:40 +0200
Subject: [PATCH] linux-user: XXX disable fiemap

View File

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

View File

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

View File

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

View File

@ -1,4 +1,4 @@
From 38db44d124d98eb2743bd8ee18e151774175dd22 Mon Sep 17 00:00:00 2001
From 9f8f18dc792d6c9e3fb661cb8543d0c09b342ac4 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 9 Oct 2012 09:06:49 +0200
Subject: [PATCH] linux-user: use target_ulong

View File

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

View File

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

View File

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

View File

@ -1,4 +1,4 @@
From c4052d7ee721a23243dab4ef2e0c947717f834aa Mon Sep 17 00:00:00 2001
From e828d54e5b1ef01c620e1c761340cd73af785b6b Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Wed, 12 Dec 2012 19:11:31 +0100
Subject: [PATCH] Legacy Patch kvm-qemu-preXX-report-default-mac-used.patch

View File

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

View File

@ -1,4 +1,4 @@
From 3dadd483a5dc657035a1420cc76910cc20654ba1 Mon Sep 17 00:00:00 2001
From e30f0e39abb8e5ad453333ac3dd0f6d7b270e045 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Thu, 1 Apr 2010 17:36:23 +0200
Subject: [PATCH] Make char muxer more robust wrt small FIFOs

View File

@ -1,4 +1,4 @@
From e1faf744ebeaafcd95b7b1d34b4d710b81243fd4 Mon Sep 17 00:00:00 2001
From f222ce0d5af1eb8258e84d6fcd8ab89a85131a21 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Thu, 13 Dec 2012 14:29:22 +0100
Subject: [PATCH] linux-user: lseek: explicitly cast non-set offsets to signed

View File

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

View File

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

View File

@ -1,4 +1,4 @@
From 5f5aa9ae86ff5d78c7c558f9883cf6e47e475730 Mon Sep 17 00:00:00 2001
From 1798372872568aa5d3fd50c8d01ba658082a8711 Mon Sep 17 00:00:00 2001
From: Olaf Hering <olaf@aepfle.de>
Date: Thu, 30 Jan 2014 16:02:18 +0100
Subject: [PATCH] xen_disk: add discard support

View File

@ -1,4 +1,4 @@
From edb6d8df1503b3af5aad0a64be1192d7b5771950 Mon Sep 17 00:00:00 2001
From 857545e61d741cc4f439f98c5e93210b7fa09577 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Mon, 7 Apr 2014 16:03:08 +0200
Subject: [PATCH] tests: Don't run qom-test twice

View File

@ -0,0 +1,27 @@
From c58810a9fe080ce5358ab670b6d4abe1202e63a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Thu, 17 Apr 2014 18:19:14 +0200
Subject: [PATCH] qtest: Assure that init_socket()'s listen() does not fail
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
tests/libqtest.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tests/libqtest.c b/tests/libqtest.c
index 8155695..232f781 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -72,7 +72,8 @@ static int init_socket(const char *socket_path)
ret = bind(sock, (struct sockaddr *)&addr, sizeof(addr));
} while (ret == -1 && errno == EINTR);
g_assert_no_errno(ret);
- listen(sock, 1);
+ ret = listen(sock, 1);
+ g_assert_no_errno(ret);
return sock;
}

View File

@ -0,0 +1,27 @@
From 19fed6c601938b60dafb004f7194ff4e86def6f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Thu, 17 Apr 2014 18:38:25 +0200
Subject: [PATCH] qtest: Add error reporting to socket_accept()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
tests/libqtest.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tests/libqtest.c b/tests/libqtest.c
index 232f781..4b90d91 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -93,6 +93,9 @@ static int socket_accept(int sock)
do {
ret = accept(sock, (struct sockaddr *)&addr, &addrlen);
} while (ret == -1 && errno == EINTR);
+ if (ret == -1) {
+ fprintf(stderr, "%s failed: %s\n", __func__, strerror(errno));
+ }
close(sock);
return ret;

View File

@ -0,0 +1,28 @@
From 1126af0e6664e58a5e6e2280f6d61bb829099444 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Thu, 17 Apr 2014 18:39:10 +0200
Subject: [PATCH] qtest: Increase socket timeout
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Change from 5 to 15 seconds.
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
tests/libqtest.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/libqtest.c b/tests/libqtest.c
index 4b90d91..18efcf2 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -34,7 +34,7 @@
#include "qapi/qmp/json-parser.h"
#define MAX_IRQ 256
-#define SOCKET_TIMEOUT 5
+#define SOCKET_TIMEOUT 15
QTestState *global_qtest;

View File

@ -0,0 +1,29 @@
From 9938d82cc9cc5ae82283bea7a24ff45d08690e27 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Thu, 17 Apr 2014 19:21:12 +0200
Subject: [PATCH] qtest: Be paranoid about accept() addrlen argument
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
If EINTR occurs, re-initialize our argument.
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
tests/libqtest.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/libqtest.c b/tests/libqtest.c
index 18efcf2..1eb9db6 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -89,8 +89,8 @@ static int socket_accept(int sock)
setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (void *)&timeout,
sizeof(timeout));
- addrlen = sizeof(addr);
do {
+ addrlen = sizeof(addr);
ret = accept(sock, (struct sockaddr *)&addr, &addrlen);
} while (ret == -1 && errno == EINTR);
if (ret == -1) {

View File

@ -0,0 +1,101 @@
From 0fb8a7de8e8013362922d802db7eda5f9bf37766 Mon Sep 17 00:00:00 2001
From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Date: Wed, 16 Apr 2014 20:20:52 -0700
Subject: [PATCH] arm: translate.c: Fix smlald Instruction
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The smlald (and probably smlsld) instruction was doing incorrect sign
extensions of the operands amongst 64bit result calculation. The
instruction psuedo-code is:
operand2 = if m_swap then ROR(R[m],16) else R[m];
product1 = SInt(R[n]<15:0>) * SInt(operand2<15:0>);
product2 = SInt(R[n]<31:16>) * SInt(operand2<31:16>);
result = product1 + product2 + SInt(R[dHi]:R[dLo]);
R[dHi] = result<63:32>;
R[dLo] = result<31:0>;
The result calculation should be done in 64 bit arithmetic, and hence
product1 and product2 should be sign extended to 64b before calculation.
The current implementation was adding product1 and product2 together
then sign-extending the intermediate result leading to false negatives.
E.G. if product1 = product2 = 0x4000000, their sum = 0x80000000, which
will be incorrectly interpreted as -ve on sign extension.
We fix by doing the 64b extensions on both product1 and product2 before
any addition/subtraction happens.
We also fix where we were possibly incorrectly setting the Q saturation
flag for SMLSLD, which the ARM ARM specifically says is not set.
Reported-by: Christina Smith <christina.smith@xilinx.com>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 2cddb6f5a15be4ab8d2160f3499d128ae93d304d.1397704570.git.peter.crosthwaite@xilinx.com
Cc: qemu-stable@nongnu.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
(cherry picked from commit 33bbd75a7c3321432fe40a8cbacd64619c56138c)
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
target-arm/translate.c | 34 +++++++++++++++++++++++-----------
1 file changed, 23 insertions(+), 11 deletions(-)
diff --git a/target-arm/translate.c b/target-arm/translate.c
index 56e3b4b..0335f10 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -8328,27 +8328,39 @@ static void disas_arm_insn(CPUARMState * env, DisasContext *s)
if (insn & (1 << 5))
gen_swap_half(tmp2);
gen_smul_dual(tmp, tmp2);
- if (insn & (1 << 6)) {
- /* This subtraction cannot overflow. */
- tcg_gen_sub_i32(tmp, tmp, tmp2);
- } else {
- /* This addition cannot overflow 32 bits;
- * however it may overflow considered as a signed
- * operation, in which case we must set the Q flag.
- */
- gen_helper_add_setq(tmp, cpu_env, tmp, tmp2);
- }
- tcg_temp_free_i32(tmp2);
if (insn & (1 << 22)) {
/* smlald, smlsld */
+ TCGv_i64 tmp64_2;
+
tmp64 = tcg_temp_new_i64();
+ tmp64_2 = tcg_temp_new_i64();
tcg_gen_ext_i32_i64(tmp64, tmp);
+ tcg_gen_ext_i32_i64(tmp64_2, tmp2);
tcg_temp_free_i32(tmp);
+ tcg_temp_free_i32(tmp2);
+ if (insn & (1 << 6)) {
+ tcg_gen_sub_i64(tmp64, tmp64, tmp64_2);
+ } else {
+ tcg_gen_add_i64(tmp64, tmp64, tmp64_2);
+ }
+ tcg_temp_free_i64(tmp64_2);
gen_addq(s, tmp64, rd, rn);
gen_storeq_reg(s, rd, rn, tmp64);
tcg_temp_free_i64(tmp64);
} else {
/* smuad, smusd, smlad, smlsd */
+ if (insn & (1 << 6)) {
+ /* This subtraction cannot overflow. */
+ tcg_gen_sub_i32(tmp, tmp, tmp2);
+ } else {
+ /* This addition cannot overflow 32 bits;
+ * however it may overflow considered as a
+ * signed operation, in which case we must set
+ * the Q flag.
+ */
+ gen_helper_add_setq(tmp, cpu_env, tmp, tmp2);
+ }
+ tcg_temp_free_i32(tmp2);
if (rd != 15)
{
tmp2 = load_reg(s, rd);

View File

@ -0,0 +1,36 @@
From de439482d4ed1db0f0f5837c98abc46f0a579ba0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>
Date: Wed, 16 Apr 2014 12:29:39 +0100
Subject: [PATCH] target-arm: A64: fix unallocated test of scalar SQXTUN
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The test for the U bit was incorrectly inverted in the scalar case of SQXTUN.
This doesn't affect the vector case as the U bit is used to select XTN(2).
Reported-by: Hao Liu <hao.liu@arm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Claudio Fontana <claudio.fontana@huawei.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-stable@nongnu.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
(cherry picked from commit e44a90c59697cf98e05619fbb6f77a403d347495)
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
target-arm/translate-a64.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target-arm/translate-a64.c b/target-arm/translate-a64.c
index 9175e48..a780366 100644
--- a/target-arm/translate-a64.c
+++ b/target-arm/translate-a64.c
@@ -7455,7 +7455,7 @@ static void disas_simd_scalar_two_reg_misc(DisasContext *s, uint32_t insn)
}
break;
case 0x12: /* SQXTUN */
- if (u) {
+ if (!u) {
unallocated_encoding(s);
return;
}

View File

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

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

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

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Fri Apr 18 17:55:03 UTC 2014 - afaerber@suse.de
- Fix aarch64 emulation issues:
0043-arm-translate.c-Fix-smlald-Instruct.patch
0044-target-arm-A64-fix-unallocated-test.patch
-------------------------------------------------------------------
Thu Apr 17 15:46:26 UTC 2014 - afaerber@suse.de
- Update to v2.0.0: cf. http://wiki.qemu-project.org/ChangeLog/2.0
* Update update_git.sh script accordingly
-------------------------------------------------------------------
Mon Apr 14 17:49:54 UTC 2014 - afaerber@suse.de

View File

@ -21,9 +21,9 @@ Url: http://www.qemu.org/
Summary: Universal CPU emulator
License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
Group: System/Emulators/PC
Version: 1.7.93
Version: 2.0.0
Release: 0
Source: qemu-2.0.0-rc3.tar.bz2
Source: qemu-2.0.0.tar.bz2
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch
Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch
@ -63,6 +63,12 @@ Patch0035: 0035-virtfs-proxy-helper-Provide-__u64-f.patch
Patch0036: 0036-configure-Enable-PIE-for-ppc-and-pp.patch
Patch0037: 0037-xen_disk-add-discard-support.patch
Patch0038: 0038-tests-Don-t-run-qom-test-twice.patch
Patch0039: 0039-qtest-Assure-that-init_socket-s-lis.patch
Patch0040: 0040-qtest-Add-error-reporting-to-socket.patch
Patch0041: 0041-qtest-Increase-socket-timeout.patch
Patch0042: 0042-qtest-Be-paranoid-about-accept-addr.patch
Patch0043: 0043-arm-translate.c-Fix-smlald-Instruct.patch
Patch0044: 0044-target-arm-A64-fix-unallocated-test.patch
# Please do not add patches manually here, run update_git.sh.
# this is to make lint happy
Source300: rpmlintrc
@ -115,7 +121,7 @@ emulations. This can be used together with the OBS build script to
run cross-architecture builds.
%prep
%setup -q -n qemu-2.0.0-rc3
%setup -q -n qemu-2.0.0
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
@ -154,6 +160,12 @@ run cross-architecture builds.
%patch0036 -p1
%patch0037 -p1
%patch0038 -p1
%patch0039 -p1
%patch0040 -p1
%patch0041 -p1
%patch0042 -p1
%patch0043 -p1
%patch0044 -p1
%build
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \

View File

@ -23,7 +23,7 @@ License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
Group: System/Emulators/PC
QEMU_VERSION
Release: 0
Source: qemu-2.0.0-rc3.tar.bz2
Source: qemu-2.0.0.tar.bz2
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
PATCH_FILES
# Please do not add patches manually here, run update_git.sh.
@ -78,7 +78,7 @@ emulations. This can be used together with the OBS build script to
run cross-architecture builds.
%prep
%setup -q -n qemu-2.0.0-rc3
%setup -q -n qemu-2.0.0
PATCH_EXEC
%build

View File

@ -1,9 +1,31 @@
-------------------------------------------------------------------
Fri Apr 18 17:55:03 UTC 2014 - afaerber@suse.de
- Fix aarch64 emulation issues:
0043-arm-translate.c-Fix-smlald-Instruct.patch
0044-target-arm-A64-fix-unallocated-test.patch
-------------------------------------------------------------------
Thu Apr 17 16:46:52 UTC 2014 - afaerber@suse.de
- Attempt to solve or debug occasional qtest fd assertions
0039-qtest-Assure-that-init_socket-s-lis.patch
0040-qtest-Add-error-reporting-to-socket.patch
0041-qtest-Increase-socket-timeout.patch
0042-qtest-Be-paranoid-about-accept-addr.patch
-------------------------------------------------------------------
Thu Apr 17 15:46:26 UTC 2014 - afaerber@suse.de
- Update to v2.0.0: cf. http://wiki.qemu-project.org/ChangeLog/2.0
* Update update_git.sh script accordingly
-------------------------------------------------------------------
Mon Apr 14 17:49:54 UTC 2014 - afaerber@suse.de
- Update to v2.0.0-rc3: cf. http://wiki.qemu-project.org/ChangeLog/2.0
* Update update_git.sh script accordingly
* Addresses CVE-2014-0150 (bnc#873235), CVE-2013-4544
* Addresses CVE-2014-0150 (bnc#873235), CVE-2013-4544 (bnc#873613)
-------------------------------------------------------------------
Fri Apr 11 16:10:50 UTC 2014 - afaerber@suse.de

View File

@ -33,9 +33,9 @@ Url: http://www.qemu.org/
Summary: Universal CPU emulator
License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
Group: System/Emulators/PC
Version: 1.7.93
Version: 2.0.0
Release: 0
Source: %name-2.0.0-rc3.tar.bz2
Source: %name-2.0.0.tar.bz2
Source1: 80-kvm.rules
Source2: qemu-ifup
Source3: kvm_stat
@ -81,6 +81,12 @@ Patch0035: 0035-virtfs-proxy-helper-Provide-__u64-f.patch
Patch0036: 0036-configure-Enable-PIE-for-ppc-and-pp.patch
Patch0037: 0037-xen_disk-add-discard-support.patch
Patch0038: 0038-tests-Don-t-run-qom-test-twice.patch
Patch0039: 0039-qtest-Assure-that-init_socket-s-lis.patch
Patch0040: 0040-qtest-Add-error-reporting-to-socket.patch
Patch0041: 0041-qtest-Increase-socket-timeout.patch
Patch0042: 0042-qtest-Be-paranoid-about-accept-addr.patch
Patch0043: 0043-arm-translate.c-Fix-smlald-Instruct.patch
Patch0044: 0044-target-arm-A64-fix-unallocated-test.patch
# Please do not add patches manually here, run update_git.sh.
# roms/ipxe patches
@ -458,7 +464,7 @@ This package provides a service file for starting and stopping KSM.
%endif
%prep
%setup -q -n %name-2.0.0-rc3
%setup -q #-n %name-2.0.0-rc3
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
@ -497,6 +503,12 @@ This package provides a service file for starting and stopping KSM.
%patch0036 -p1
%patch0037 -p1
%patch0038 -p1
%patch0039 -p1
%patch0040 -p1
%patch0041 -p1
%patch0042 -p1
%patch0043 -p1
%patch0044 -p1
%patch1000 -p1
%patch1001 -p1

View File

@ -35,7 +35,7 @@ License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
Group: System/Emulators/PC
QEMU_VERSION
Release: 0
Source: %name-2.0.0-rc3.tar.bz2
Source: %name-2.0.0.tar.bz2
Source1: 80-kvm.rules
Source2: qemu-ifup
Source3: kvm_stat
@ -421,7 +421,7 @@ This package provides a service file for starting and stopping KSM.
%endif
%prep
%setup -q -n %name-2.0.0-rc3
%setup -q #-n %name-2.0.0-rc3
PATCH_EXEC
%patch1000 -p1

View File

@ -13,7 +13,7 @@
GIT_TREE=git://github.com/openSUSE/qemu.git
GIT_LOCAL_TREE=~/git/qemu-opensuse
GIT_BRANCH=opensuse-2.0
GIT_UPSTREAM_TAG=v2.0.0-rc3
GIT_UPSTREAM_TAG=v2.0.0
QEMU_TMP=/dev/shm/qemu-tmp
restore_file_to_package() {