Skip to content

Commit

Permalink
s390x/tcg: make lura(g) use the new _real mmu.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
davidhildenbrand authored and cohuck committed Oct 6, 2017
1 parent fb66944 commit 34499da
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 8 deletions.
8 changes: 2 additions & 6 deletions target/s390x/mem_helper.c
Expand Up @@ -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 */
Expand Down
2 changes: 0 additions & 2 deletions target/s390x/translate.c
Expand Up @@ -2967,15 +2967,13 @@ 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;
}

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;
}
Expand Down

0 comments on commit 34499da

Please sign in to comment.