On Sat May 18, 2024 at 9:07 PM AEST, Richard Henderson wrote: > On 5/18/24 11:31, Nicholas Piggin wrote: > > +static void gen_attn(DisasContext *ctx) > > +{ > > +#if defined(CONFIG_USER_ONLY) > > + GEN_PRIV(ctx); > > +#else > > + gen_helper_attn(tcg_env); > > +#endif > > +} > > You forgot to check priv in system mode. > Better as > > GEN_PRIV(ctx); > #ifndef CONFIG_USER_ONLY > gen_helper_attn(...) > #endif
Good catch again. I'm actually wrong there too, it should be treated as illegal unless it is enabled with a system SPR, in which case it's unprivileged (it can be inserted by external hardware debuggers to stop the CPU and get notified). Thanks, Nick