aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2011-11-18 16:45:54 +0100
committerAlexander Graf <agraf@suse.de>2012-01-12 18:41:08 +0100
commit8a0a9cf35bd1abc7a9a11f430a6b14e034f34ba0 (patch)
tree1ada7efaaf84a42b512c47994100503ac373f6b7
parent85a4ca797dbe25f27df0a66aa4df1cab63245cd3 (diff)
s390x: add TR function for EXECUTE
Newer gcc versions (or glibc?) also generate code that tries to EXECUTE the TR opcode. Implement it so that we don't break valid guests. Reported-by: Andreas Faerber <afaerber@suse.de> Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r--target-s390x/op_helper.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/target-s390x/op_helper.c b/target-s390x/op_helper.c
index 137bae74a..5ddc7b93c 100644
--- a/target-s390x/op_helper.c
+++ b/target-s390x/op_helper.c
@@ -636,6 +636,9 @@ uint32_t HELPER(ex)(uint32_t cc, uint64_t v1, uint64_t addr, uint64_t ret)
case 0x700:
cc = helper_xc(l, get_address(0, b1, d1), get_address(0, b2, d2));
break;
+ case 0xc00:
+ helper_tr(l, get_address(0, b1, d1), get_address(0, b2, d2));
+ break;
default:
goto abort;
break;