[PATCH v2 05/10] KVM: PPC: reimplement non-SIMD LOAD/STORE instruction mmio emulation with analyse_intr() input
Paul Mackerras
paulus at ozlabs.org
Thu May 17 09:49:18 AEST 2018
On Mon, May 07, 2018 at 02:20:11PM +0800, wei.guo.simon at gmail.com wrote:
> From: Simon Guo <wei.guo.simon at gmail.com>
>
> 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 at ozlabs.org>
> Signed-off-by: Simon Guo <wei.guo.simon at gmail.com>
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?
Paul.
More information about the Linuxppc-dev
mailing list