[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 12/70] target/s390x: Use unwind data for helper_mv
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PULL v2 12/70] target/s390x: Use unwind data for helper_mvpg |
Date: |
Tue, 6 Jun 2017 17:30:21 -0700 |
Reviewed-by: Thomas Huth <address@hidden>
Reviewed-by: Aurelien Jarno <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
---
target/s390x/helper.h | 2 +-
target/s390x/mem_helper.c | 9 +++++----
target/s390x/translate.c | 3 +--
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/target/s390x/helper.h b/target/s390x/helper.h
index 1fae191..ea35834 100644
--- a/target/s390x/helper.h
+++ b/target/s390x/helper.h
@@ -12,7 +12,7 @@ DEF_HELPER_FLAGS_3(divs64, TCG_CALL_NO_WG, s64, env, s64, s64)
DEF_HELPER_FLAGS_4(divu64, TCG_CALL_NO_WG, i64, env, i64, i64, i64)
DEF_HELPER_4(srst, i64, env, i64, i64, i64)
DEF_HELPER_4(clst, i64, env, i64, i64, i64)
-DEF_HELPER_4(mvpg, void, env, i64, i64, i64)
+DEF_HELPER_FLAGS_4(mvpg, TCG_CALL_NO_WG, i32, env, i64, i64, i64)
DEF_HELPER_4(mvst, i64, env, i64, i64, i64)
DEF_HELPER_5(ex, i32, env, i32, i64, i64, i64)
DEF_HELPER_FLAGS_4(stam, TCG_CALL_NO_WG, void, env, i32, i64, i32)
diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c
index af2801e..1c36a47 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) */
diff --git a/target/s390x/translate.c b/target/s390x/translate.c
index b87755e..ae29889 100644
--- a/target/s390x/translate.c
+++ b/target/s390x/translate.c
@@ -2921,8 +2921,7 @@ static ExitStatus op_mvcs(DisasContext *s, DisasOps *o)
static ExitStatus op_mvpg(DisasContext *s, DisasOps *o)
{
- potential_page_fault(s);
- gen_helper_mvpg(cpu_env, regs[0], o->in1, o->in2);
+ gen_helper_mvpg(cc_op, cpu_env, regs[0], o->in1, o->in2);
set_cc_static(s);
return NO_EXIT;
}
--
2.9.4
- [Qemu-devel] [PULL v2 02/70] target/s390x: Use cpu_loop_exit_restore for tlb_fill, (continued)
- [Qemu-devel] [PULL v2 02/70] target/s390x: Use cpu_loop_exit_restore for tlb_fill, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 03/70] target/s390x: Move helper_ex to end of file, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 04/70] target/s390x: Use unwind data for helper_nc, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 05/70] target/s390x: Use unwind data for helper_oc, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 06/70] target/s390x: Use unwind data for helper_xc, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 08/70] target/s390x: Use unwind data for helper_clc, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 07/70] target/s390x: Use unwind data for helper_mvc, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 09/70] target/s390x: Use unwind data for helper_clm, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 10/70] target/s390x: Use unwind data for helper_srst, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 11/70] target/s390x: Use unwind data for helper_clst, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 12/70] target/s390x: Use unwind data for helper_mvpg,
Richard Henderson <=
- [Qemu-devel] [PULL v2 13/70] target/s390x: Use unwind data for helper_mvst, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 14/70] target/s390x: Use unwind data for helper_lam, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 15/70] target/s390x: Use unwind data for helper_stam, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 16/70] target/s390x: Use unwind data for helper_mvcl, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 17/70] target/s390x: Use unwind data for helper_mvcle, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 19/70] target/s390x: Use unwind data for helper_cksm, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 18/70] target/s390x: Use unwind data for helper_clcle, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 20/70] target/s390x: Use unwind data for helper_unpk, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 21/70] target/s390x: Use unwind data for helper_tr, Richard Henderson, 2017/06/06
- [Qemu-devel] [PULL v2 22/70] target/s390x: Use unwind data for helper_tre, Richard Henderson, 2017/06/06