On 08/30/2018 12:30 PM, Craig Janeczek via Qemu-devel wrote: > + gen_load_mxu_cr(t0); > + tcg_gen_andi_tl(t0, t0, MXUEN); > + tcg_gen_brcondi_tl(TCG_COND_NE, t0, MXUEN, l0);
Probably MXUEN should be included in env->hflags, and therefore tested via ctx->hflags. (Which also means ending a TB after a write to MCR, which can change this value). The documentation says that if MXUEN is unset the result is "unpredictable". What does real hardware do? Does it really treat the instruction as a nop? Does it raise an exception? Otherwise another possibility for "unpredictable" is to simply execute the instruction. Which would certainly be the easiest implementation... r~