[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v1 4/6] s390x/tcg: make stora(g) use the new _real m
From: |
David Hildenbrand |
Subject: |
[Qemu-devel] [PATCH v1 4/6] s390x/tcg: make stora(g) use the new _real mmu |
Date: |
Tue, 26 Sep 2017 20:33:16 +0200 |
As we properly handle the return address now, we can drop
potential_page_fault().
Signed-off-by: David Hildenbrand <address@hidden>
---
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 f8525e05b3..34ffc282bf 100644
--- a/target/s390x/mem_helper.c
+++ b/target/s390x/mem_helper.c
@@ -1985,9 +1985,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) &&
@@ -2000,9 +1998,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 d0ce14d120..ee93fce482 100644
--- a/target/s390x/translate.c
+++ b/target/s390x/translate.c
@@ -4063,7 +4063,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;
}
@@ -4071,7 +4070,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.13.5
- [Qemu-devel] [PATCH v1 0/6] s390x/tcg: fix some accesses using low address, David Hildenbrand, 2017/09/26
- [Qemu-devel] [PATCH v1 1/6] s390x/tcg: fix checking for invalid memory check, David Hildenbrand, 2017/09/26
- [Qemu-devel] [PATCH v1 2/6] s390x/tcg: add MMU for real addresses, David Hildenbrand, 2017/09/26
- [Qemu-devel] [PATCH v1 3/6] s390x/tcg: make lura(g) use the new _real mmu., David Hildenbrand, 2017/09/26
- [Qemu-devel] [PATCH v1 4/6] s390x/tcg: make stora(g) use the new _real mmu,
David Hildenbrand <=
- [Qemu-devel] [PATCH v1 5/6] s390x/tcg: make testblock use the new _real mmu, David Hildenbrand, 2017/09/26
- [Qemu-devel] [PATCH v1 6/6] s390x/tcg: make idte/ipte use the new _real mmu, David Hildenbrand, 2017/09/26
- Re: [Qemu-devel] [PATCH v1 0/6] s390x/tcg: fix some accesses using low address, Richard Henderson, 2017/09/26
- Re: [Qemu-devel] [PATCH v1 0/6] s390x/tcg: fix some accesses using low address, Cornelia Huck, 2017/09/27