From 4ae433417e36c78cf51fc654fb0e4086d2879a7c Mon Sep 17 00:00:00 2001 From: David Hildenbrand Date: Tue, 26 Sep 2017 20:33:16 +0200 Subject: [PATCH] s390x/tcg: make stora(g) use the new _real mmu As we properly handle the return address now, we can drop potential_page_fault(). Signed-off-by: David Hildenbrand Message-Id: <20170926183318.12995-5-david@redhat.com> Reviewed-by: Richard Henderson Reviewed-by: Thomas Huth Signed-off-by: Cornelia Huck --- target/s390x/mem_helper.c | 8 ++------ target/s390x/translate.c | 2 -- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index bc50bc0686..b4f2779428 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -1970,9 +1970,7 @@ uint64_t HELPER(lurag)(CPUS390XState *env, uint64_t addr) /* store using real address */ void HELPER(stura)(CPUS390XState *env, uint64_t addr, uint64_t v1) { - CPUState *cs = CPU(s390_env_get_cpu(env)); - - stl_phys(cs->as, wrap_address(env, addr), (uint32_t)v1); + cpu_stl_real_ra(env, wrap_address(env, addr), (uint32_t)v1, GETPC()); if ((env->psw.mask & PSW_MASK_PER) && (env->cregs[9] & PER_CR9_EVENT_STORE) && @@ -1985,9 +1983,7 @@ void HELPER(stura)(CPUS390XState *env, uint64_t addr, uint64_t v1) void HELPER(sturg)(CPUS390XState *env, uint64_t addr, uint64_t v1) { - CPUState *cs = CPU(s390_env_get_cpu(env)); - - stq_phys(cs->as, wrap_address(env, addr), v1); + cpu_stq_real_ra(env, wrap_address(env, addr), v1, GETPC()); if ((env->psw.mask & PSW_MASK_PER) && (env->cregs[9] & PER_CR9_EVENT_STORE) && diff --git a/target/s390x/translate.c b/target/s390x/translate.c index f64a31760e..9ef95141f9 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -4126,7 +4126,6 @@ static ExitStatus op_stnosm(DisasContext *s, DisasOps *o) static ExitStatus op_stura(DisasContext *s, DisasOps *o) { check_privileged(s); - potential_page_fault(s); gen_helper_stura(cpu_env, o->in2, o->in1); return NO_EXIT; } @@ -4134,7 +4133,6 @@ static ExitStatus op_stura(DisasContext *s, DisasOps *o) static ExitStatus op_sturg(DisasContext *s, DisasOps *o) { check_privileged(s); - potential_page_fault(s); gen_helper_sturg(cpu_env, o->in2, o->in1); return NO_EXIT; } -- 2.11.4.GIT