KVM: PPC: Allow kvmppc_get_last_inst() to fail
authorMihai Caraman <mihai.caraman@freescale.com>
Wed, 23 Jul 2014 16:06:21 +0000 (19:06 +0300)
committerAlexander Graf <agraf@suse.de>
Mon, 28 Jul 2014 13:23:14 +0000 (15:23 +0200)
commit51f047261e717b74b226f837a16455994b61ae30
treee94a57703fed176a72acef425cea442a8395746b
parent9a26af64d6bba72c9dfd62cc0cab0e79f8a66d7b
KVM: PPC: Allow kvmppc_get_last_inst() to fail

On book3e, guest last instruction is read on the exit path using load
external pid (lwepx) dedicated instruction. This load operation may fail
due to TLB eviction and execute-but-not-read entries.

This patch lay down the path for an alternative solution to read the guest
last instruction, by allowing kvmppc_get_lat_inst() function to fail.
Architecture specific implmentations of kvmppc_load_last_inst() may read
last guest instruction and instruct the emulation layer to re-execute the
guest in case of failure.

Make kvmppc_get_last_inst() definition common between architectures.

Signed-off-by: Mihai Caraman <mihai.caraman@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
arch/powerpc/include/asm/kvm_book3s.h
arch/powerpc/include/asm/kvm_booke.h
arch/powerpc/include/asm/kvm_ppc.h
arch/powerpc/kvm/book3s.c
arch/powerpc/kvm/book3s_64_mmu_hv.c
arch/powerpc/kvm/book3s_paired_singles.c
arch/powerpc/kvm/book3s_pr.c
arch/powerpc/kvm/booke.c
arch/powerpc/kvm/e500_mmu_host.c
arch/powerpc/kvm/emulate.c
arch/powerpc/kvm/powerpc.c