diff options
author | David Hildenbrand <david@redhat.com> | 2017-09-26 20:33:15 +0200 |
---|---|---|
committer | Cornelia Huck <cohuck@redhat.com> | 2017-10-06 10:53:02 +0200 |
commit | 34499dadc1360c873009a30cd89fa8b9ec269b6e (patch) | |
tree | 9133341c11fa6fa9bab396fa32dfaa2a3dab062c /target/s390x/mem_helper.c | |
parent | fb66944df92f4cf28b6f66232f82b9dd46ddcdb2 (diff) |
s390x/tcg: make lura(g) use the new _real mmu.
Looks like, lurag was not loading 64bit but only 32bit.
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-4-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>
Diffstat (limited to 'target/s390x/mem_helper.c')
-rw-r--r-- | target/s390x/mem_helper.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index a254613dc2..bc50bc0686 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -1959,16 +1959,12 @@ void HELPER(purge)(CPUS390XState *env) /* load using real address */ uint64_t HELPER(lura)(CPUS390XState *env, uint64_t addr) { - CPUState *cs = CPU(s390_env_get_cpu(env)); - - return (uint32_t)ldl_phys(cs->as, wrap_address(env, addr)); + return cpu_ldl_real_ra(env, wrap_address(env, addr), GETPC()); } uint64_t HELPER(lurag)(CPUS390XState *env, uint64_t addr) { - CPUState *cs = CPU(s390_env_get_cpu(env)); - - return ldq_phys(cs->as, wrap_address(env, addr)); + return cpu_ldq_real_ra(env, wrap_address(env, addr), GETPC()); } /* store using real address */ |