mirror of https://gitee.com/openkylin/qemu.git
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>
This commit is contained in:
parent
fb66944df9
commit
34499dadc1
|
@ -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 */
|
||||
|
|
|
@ -2967,7 +2967,6 @@ static ExitStatus op_lpq(DisasContext *s, DisasOps *o)
|
|||
static ExitStatus op_lura(DisasContext *s, DisasOps *o)
|
||||
{
|
||||
check_privileged(s);
|
||||
potential_page_fault(s);
|
||||
gen_helper_lura(o->out, cpu_env, o->in2);
|
||||
return NO_EXIT;
|
||||
}
|
||||
|
@ -2975,7 +2974,6 @@ static ExitStatus op_lura(DisasContext *s, DisasOps *o)
|
|||
static ExitStatus op_lurag(DisasContext *s, DisasOps *o)
|
||||
{
|
||||
check_privileged(s);
|
||||
potential_page_fault(s);
|
||||
gen_helper_lurag(o->out, cpu_env, o->in2);
|
||||
return NO_EXIT;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue