mirror of https://github.com/xemu-project/xemu.git
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>
This commit is contained in:
parent
34499dadc1
commit
4ae433417e
|
@ -1970,9 +1970,7 @@ uint64_t HELPER(lurag)(CPUS390XState *env, uint64_t addr)
|
||||||
/* store using real address */
|
/* store using real address */
|
||||||
void HELPER(stura)(CPUS390XState *env, uint64_t addr, uint64_t v1)
|
void HELPER(stura)(CPUS390XState *env, uint64_t addr, uint64_t v1)
|
||||||
{
|
{
|
||||||
CPUState *cs = CPU(s390_env_get_cpu(env));
|
cpu_stl_real_ra(env, wrap_address(env, addr), (uint32_t)v1, GETPC());
|
||||||
|
|
||||||
stl_phys(cs->as, wrap_address(env, addr), (uint32_t)v1);
|
|
||||||
|
|
||||||
if ((env->psw.mask & PSW_MASK_PER) &&
|
if ((env->psw.mask & PSW_MASK_PER) &&
|
||||||
(env->cregs[9] & PER_CR9_EVENT_STORE) &&
|
(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)
|
void HELPER(sturg)(CPUS390XState *env, uint64_t addr, uint64_t v1)
|
||||||
{
|
{
|
||||||
CPUState *cs = CPU(s390_env_get_cpu(env));
|
cpu_stq_real_ra(env, wrap_address(env, addr), v1, GETPC());
|
||||||
|
|
||||||
stq_phys(cs->as, wrap_address(env, addr), v1);
|
|
||||||
|
|
||||||
if ((env->psw.mask & PSW_MASK_PER) &&
|
if ((env->psw.mask & PSW_MASK_PER) &&
|
||||||
(env->cregs[9] & PER_CR9_EVENT_STORE) &&
|
(env->cregs[9] & PER_CR9_EVENT_STORE) &&
|
||||||
|
|
|
@ -4126,7 +4126,6 @@ static ExitStatus op_stnosm(DisasContext *s, DisasOps *o)
|
||||||
static ExitStatus op_stura(DisasContext *s, DisasOps *o)
|
static ExitStatus op_stura(DisasContext *s, DisasOps *o)
|
||||||
{
|
{
|
||||||
check_privileged(s);
|
check_privileged(s);
|
||||||
potential_page_fault(s);
|
|
||||||
gen_helper_stura(cpu_env, o->in2, o->in1);
|
gen_helper_stura(cpu_env, o->in2, o->in1);
|
||||||
return NO_EXIT;
|
return NO_EXIT;
|
||||||
}
|
}
|
||||||
|
@ -4134,7 +4133,6 @@ static ExitStatus op_stura(DisasContext *s, DisasOps *o)
|
||||||
static ExitStatus op_sturg(DisasContext *s, DisasOps *o)
|
static ExitStatus op_sturg(DisasContext *s, DisasOps *o)
|
||||||
{
|
{
|
||||||
check_privileged(s);
|
check_privileged(s);
|
||||||
potential_page_fault(s);
|
|
||||||
gen_helper_sturg(cpu_env, o->in2, o->in1);
|
gen_helper_sturg(cpu_env, o->in2, o->in1);
|
||||||
return NO_EXIT;
|
return NO_EXIT;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue