diff --git a/target-sparc/op_helper.c b/target-sparc/op_helper.c index c3cc0a40305b5a2fd0a99cdac953fc8727d7d1d7..c849343ee20f0c97c719ba739f691727bc09a4e9 100644 --- a/target-sparc/op_helper.c +++ b/target-sparc/op_helper.c @@ -3447,10 +3447,10 @@ void do_interrupt(CPUState *env) change_pstate(PS_PEF | PS_PRIV | PS_IG); break; case TT_TFAULT: - case TT_TMISS: case TT_DFAULT: - case TT_DMISS: - case TT_DPROT: + case TT_TMISS ... TT_TMISS + 3: + case TT_DMISS ... TT_DMISS + 3: + case TT_DPROT ... TT_DPROT + 3: change_pstate(PS_PEF | PS_PRIV | PS_MG); break; default: