summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2010-12-25 23:25:47 +0100
committerDoug Goldstein <cardoe@cardoe.com>2011-05-27 13:02:16 -0500
commit1b8b13f183e146667a5bbae86c04788897b2aaed (patch)
tree9b7f472b0c0554faec117ee047df1ba6574d32bf /target-sparc/helper.h
parenttarget-arm: fix bug in translation of REVSH (diff)
downloadqemu-kvm-1b8b13f183e146667a5bbae86c04788897b2aaed.tar.gz
qemu-kvm-1b8b13f183e146667a5bbae86c04788897b2aaed.tar.bz2
qemu-kvm-1b8b13f183e146667a5bbae86c04788897b2aaed.zip
target-sparc: fix udiv(cc) and sdiv(cc)
Since commit 5a4bb580cdb10b066f9fd67658b31cac4a4ea5e5, Xorg crashes on a Debian Etch image. The commit itself is fine, but it triggers a bug due to wrong computation of flags for udiv(cc) and sdiv(cc). This patch only compute cc_src2 for the cc version of udiv/sdiv. It also moves the update of cc_dst and cc_op to the helper, as it is faster doing it here when there is already an helper. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com> (cherry picked from commit 0fcec41eec0432c77645b4a407d3a3e030c4abc4) Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'target-sparc/helper.h')
-rw-r--r--target-sparc/helper.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/target-sparc/helper.h b/target-sparc/helper.h
index 6f103e769..e6d82f9ea 100644
--- a/target-sparc/helper.h
+++ b/target-sparc/helper.h
@@ -37,7 +37,9 @@ DEF_HELPER_0(save, void)
DEF_HELPER_0(restore, void)
DEF_HELPER_1(flush, void, tl)
DEF_HELPER_2(udiv, tl, tl, tl)
+DEF_HELPER_2(udiv_cc, tl, tl, tl)
DEF_HELPER_2(sdiv, tl, tl, tl)
+DEF_HELPER_2(sdiv_cc, tl, tl, tl)
DEF_HELPER_2(stdf, void, tl, int)
DEF_HELPER_2(lddf, void, tl, int)
DEF_HELPER_2(ldqf, void, tl, int)