target/hppa: remove PSW I/R/Q bit check
HP ODE use rfi to set the Q bit, and i don't see anything in the documentation that this is forbidden. So remove it. Signed-off-by: Sven Schnelle <svens@stackframe.org> Message-Id: <20190311191602.25796-6-svens@stackframe.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
23c3d569f4
commit
b06c0618c0
|
@ -678,11 +678,6 @@ target_ureg HELPER(swap_system_mask)(CPUHPPAState *env, target_ureg nsm)
|
||||||
|
|
||||||
void HELPER(rfi)(CPUHPPAState *env)
|
void HELPER(rfi)(CPUHPPAState *env)
|
||||||
{
|
{
|
||||||
/* ??? On second reading this condition simply seems
|
|
||||||
to be undefined rather than a diagnosed trap. */
|
|
||||||
if (env->psw & (PSW_I | PSW_R | PSW_Q)) {
|
|
||||||
helper_excp(env, EXCP_ILL);
|
|
||||||
}
|
|
||||||
env->iasq_f = (uint64_t)env->cr[CR_IIASQ] << 32;
|
env->iasq_f = (uint64_t)env->cr[CR_IIASQ] << 32;
|
||||||
env->iasq_b = (uint64_t)env->cr_back[0] << 32;
|
env->iasq_b = (uint64_t)env->cr_back[0] << 32;
|
||||||
env->iaoq_f = env->cr[CR_IIAOQ];
|
env->iaoq_f = env->cr[CR_IIAOQ];
|
||||||
|
|
Loading…
Reference in a new issue