On 01/08/2018 03:10 PM, Laurent Vivier wrote: > and introduce SFC and DFC control registers. > > Signed-off-by: Laurent Vivier <laur...@vivier.eu>
The patch is correct, so Reviewed-by: Richard Henderson <richard.hender...@linaro.org> However... > +void HELPER(moves_store)(CPUM68KState *env, uint32_t val, > + uint32_t addr, uint32_t size) > +{ > + if (env->dfc & 4) { /* kernel */ > + switch (size) { > + case OS_BYTE: > + cpu_stb_kernel_ra(env, addr, val, GETPC()); I assume that the kernel makes frequent use of moves for user access? You might consider copying bit 2 of SFC and DFC into TB->FLAGS, if supervisor mode. At which point you can issue the qemu_ld/st opcodes inline to the correct mmu_idx. r~