aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Hildenbrand <david@redhat.com>2017-09-26 20:33:16 +0200
committerCornelia Huck <cohuck@redhat.com>2017-10-06 10:53:02 +0200
commit4ae433417e36c78cf51fc654fb0e4086d2879a7c (patch)
tree9b74316509ea4659512ac83f249dc61368883912
parent34499dadc1360c873009a30cd89fa8b9ec269b6e (diff)
downloadqemu-4ae433417e36c78cf51fc654fb0e4086d2879a7c.zip
qemu-4ae433417e36c78cf51fc654fb0e4086d2879a7c.tar.gz
qemu-4ae433417e36c78cf51fc654fb0e4086d2879a7c.tar.bz2
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 <david@redhat.com> Message-Id: <20170926183318.12995-5-david@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-rw-r--r--target/s390x/mem_helper.c8
-rw-r--r--target/s390x/translate.c2
2 files changed, 2 insertions, 8 deletions
diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c
index bc50bc0..b4f2779 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 f64a317..9ef9514 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;
}