[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