Accepting request 295056 from home:a_faerber:branches:Virtualization
Fix bios-tables-test failures on ppc OBS-URL: https://build.opensuse.org/request/show/295056 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=244
This commit is contained in:
parent
7ec08f4da1
commit
b172f44bec
48
0038-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
Normal file
48
0038-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
Normal file
@ -0,0 +1,48 @@
|
||||
From 4a886245fce97b79af5841d6b0849124c8d30243 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Maydell <peter.maydell@linaro.org>
|
||||
Date: Wed, 8 Apr 2015 20:57:09 +0100
|
||||
Subject: [PATCH] tcg/tcg-op.c: Fix ld/st of 64 bit values on 32-bit bigendian
|
||||
hosts
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Commit 951c6300f7 out-of-lined the 32-bit-host versions of
|
||||
tcg_gen_{ld,st}_i64, but in the process it inadvertently changed
|
||||
an #ifdef HOST_WORDS_BIGENDIAN to #ifdef TCG_TARGET_WORDS_BIGENDIAN.
|
||||
Since the latter doesn't get defined anywhere this meant we always
|
||||
took the "LE host" codepath, and stored the two halves of the value
|
||||
in the wrong order on BE hosts. This typically breaks any 64-bit
|
||||
guest on a 32-bit BE host completely, and will have possibly more
|
||||
subtle effects even for 32-bit guests.
|
||||
|
||||
Switch the ifdef back to HOST_WORDS_BIGENDIAN.
|
||||
|
||||
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
|
||||
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
---
|
||||
tcg/tcg-op.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tcg/tcg-op.c b/tcg/tcg-op.c
|
||||
index f7a2767..2b6be75 100644
|
||||
--- a/tcg/tcg-op.c
|
||||
+++ b/tcg/tcg-op.c
|
||||
@@ -808,7 +808,7 @@ void tcg_gen_ld_i64(TCGv_i64 ret, TCGv_ptr arg2, tcg_target_long offset)
|
||||
{
|
||||
/* Since arg2 and ret have different types,
|
||||
they cannot be the same temporary */
|
||||
-#ifdef TCG_TARGET_WORDS_BIGENDIAN
|
||||
+#ifdef HOST_WORDS_BIGENDIAN
|
||||
tcg_gen_ld_i32(TCGV_HIGH(ret), arg2, offset);
|
||||
tcg_gen_ld_i32(TCGV_LOW(ret), arg2, offset + 4);
|
||||
#else
|
||||
@@ -819,7 +819,7 @@ void tcg_gen_ld_i64(TCGv_i64 ret, TCGv_ptr arg2, tcg_target_long offset)
|
||||
|
||||
void tcg_gen_st_i64(TCGv_i64 arg1, TCGv_ptr arg2, tcg_target_long offset)
|
||||
{
|
||||
-#ifdef TCG_TARGET_WORDS_BIGENDIAN
|
||||
+#ifdef HOST_WORDS_BIGENDIAN
|
||||
tcg_gen_st_i32(TCGV_HIGH(arg1), arg2, offset);
|
||||
tcg_gen_st_i32(TCGV_LOW(arg1), arg2, offset + 4);
|
||||
#else
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 8 20:47:40 UTC 2015 - afaerber@suse.de
|
||||
|
||||
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
|
||||
* Patches added:
|
||||
0038-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 8 13:10:27 UTC 2015 - afaerber@suse.de
|
||||
|
||||
|
@ -62,6 +62,7 @@ Patch0034: 0034-virtfs-proxy-helper-Provide-__u64-f.patch
|
||||
Patch0035: 0035-configure-Enable-PIE-for-ppc-and-pp.patch
|
||||
Patch0036: 0036-qtest-Increase-socket-timeout.patch
|
||||
Patch0037: 0037-AIO-Reduce-number-of-threads-for-32.patch
|
||||
Patch0038: 0038-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
|
||||
# Please do not add patches manually here, run update_git.sh.
|
||||
# this is to make lint happy
|
||||
Source300: qemu-rpmlintrc
|
||||
@ -158,6 +159,7 @@ This sub-package contains development files for the Smartcard library.
|
||||
%patch0035 -p1
|
||||
%patch0036 -p1
|
||||
%patch0037 -p1
|
||||
%patch0038 -p1
|
||||
|
||||
%build
|
||||
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
|
||||
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 8 20:47:36 UTC 2015 - afaerber@suse.de
|
||||
|
||||
- Fix 64-bit TCG stores on 32-bit Big Endian hosts (ppc)
|
||||
0038-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
|
||||
* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 8 13:10:27 UTC 2015 - afaerber@suse.de
|
||||
|
||||
|
@ -62,6 +62,7 @@ Patch0034: 0034-virtfs-proxy-helper-Provide-__u64-f.patch
|
||||
Patch0035: 0035-configure-Enable-PIE-for-ppc-and-pp.patch
|
||||
Patch0036: 0036-qtest-Increase-socket-timeout.patch
|
||||
Patch0037: 0037-AIO-Reduce-number-of-threads-for-32.patch
|
||||
Patch0038: 0038-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
|
||||
# Please do not add patches manually here, run update_git.sh.
|
||||
# this is to make lint happy
|
||||
Source300: qemu-rpmlintrc
|
||||
@ -152,6 +153,7 @@ run cross-architecture builds.
|
||||
%patch0035 -p1
|
||||
%patch0036 -p1
|
||||
%patch0037 -p1
|
||||
%patch0038 -p1
|
||||
|
||||
%build
|
||||
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
|
||||
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 8 20:47:32 UTC 2015 - afaerber@suse.de
|
||||
|
||||
- Fix 64-bit TCG stores on 32-bit Big Endian hosts (ppc)
|
||||
0038-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
|
||||
* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 8 13:10:26 UTC 2015 - afaerber@suse.de
|
||||
|
||||
|
@ -93,6 +93,7 @@ Patch0034: 0034-virtfs-proxy-helper-Provide-__u64-f.patch
|
||||
Patch0035: 0035-configure-Enable-PIE-for-ppc-and-pp.patch
|
||||
Patch0036: 0036-qtest-Increase-socket-timeout.patch
|
||||
Patch0037: 0037-AIO-Reduce-number-of-threads-for-32.patch
|
||||
Patch0038: 0038-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
|
||||
# Please do not add QEMU patches manually here.
|
||||
# Run update_git.sh to regenerate this queue.
|
||||
|
||||
@ -510,6 +511,7 @@ This package provides a service file for starting and stopping KSM.
|
||||
%patch0035 -p1
|
||||
%patch0036 -p1
|
||||
%patch0037 -p1
|
||||
%patch0038 -p1
|
||||
|
||||
%if %{build_x86_fw_from_source}
|
||||
pushd roms/seabios
|
||||
|
Loading…
Reference in New Issue
Block a user