summaryrefslogtreecommitdiffstats
path: root/target/s390x/mem_helper.c
diff options
context:
space:
mode:
authorRichard Henderson2017-05-19 20:15:25 +0200
committerRichard Henderson2017-06-06 23:34:31 +0200
commit7cf96fca4caf2f387b9ba4d74b04d6748d3c3207 (patch)
tree90b7a5b22eeb55ce68d9c78ada5b2c00e8eb557c /target/s390x/mem_helper.c
parenttarget/s390x: Use unwind data for helper_clst (diff)
downloadqemu-7cf96fca4caf2f387b9ba4d74b04d6748d3c3207.tar.gz
qemu-7cf96fca4caf2f387b9ba4d74b04d6748d3c3207.tar.xz
qemu-7cf96fca4caf2f387b9ba4d74b04d6748d3c3207.zip
target/s390x: Use unwind data for helper_mvpg
Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target/s390x/mem_helper.c')
-rw-r--r--target/s390x/mem_helper.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c
index af2801e76a..1c36a47ae1 100644
--- a/target/s390x/mem_helper.c
+++ b/target/s390x/mem_helper.c
@@ -398,11 +398,12 @@ uint64_t HELPER(clst)(CPUS390XState *env, uint64_t c, uint64_t s1, uint64_t s2)
}
/* move page */
-void HELPER(mvpg)(CPUS390XState *env, uint64_t r0, uint64_t r1, uint64_t r2)
+uint32_t HELPER(mvpg)(CPUS390XState *env, uint64_t r0, uint64_t r1, uint64_t r2)
{
- /* XXX missing r0 handling */
- env->cc_op = 0;
- fast_memmove(env, r1, r2, TARGET_PAGE_SIZE, 0);
+ /* ??? missing r0 handling, which includes access keys, but more
+ importantly optional suppression of the exception! */
+ fast_memmove(env, r1, r2, TARGET_PAGE_SIZE, GETPC());
+ return 0; /* data moved */
}
/* string copy (c is string terminator) */