Hi Paul, On Thu, May 17, 2018 at 09:49:18AM +1000, Paul Mackerras wrote: > On Mon, May 07, 2018 at 02:20:11PM +0800, wei.guo.simon@xxxxxxxxx wrote: > > From: Simon Guo <wei.guo.simon@xxxxxxxxx> > > > > This patch reimplements non-SIMD LOAD/STORE instruction MMIO emulation > > with analyse_intr() input. It utilizes the BYTEREV/UPDATE/SIGNEXT > > properties exported by analyse_instr() and invokes > > kvmppc_handle_load(s)/kvmppc_handle_store() accordingly. > > > > It also move CACHEOP type handling into the skeleton. > > > > instruction_type within kvm_ppc.h is renamed to avoid conflict with > > sstep.h. > > > > Suggested-by: Paul Mackerras <paulus@xxxxxxxxxx> > > Signed-off-by: Simon Guo <wei.guo.simon@xxxxxxxxx> > > Looks pretty good, but one comment below... > > > - case OP_31_XOP_LWAUX: > > - emulated = kvmppc_handle_loads(run, vcpu, rt, 4, 1); > > - kvmppc_set_gpr(vcpu, ra, vcpu->arch.vaddr_accessed); > > - break; > > + if (emulated == EMULATE_DONE) > > + goto out; > > Shouldn't this also goto out if emulated == EMULATE_DO_MMIO? Yes. Let me update this. Thanks, - Simon