KVM: PPC: Reimplement non-SIMD LOAD/STORE instruction mmio emulation with analyse_ins...
authorSimon Guo <wei.guo.simon@gmail.com>
Mon, 21 May 2018 05:24:21 +0000 (13:24 +0800)
committerPaul Mackerras <paulus@ozlabs.org>
Tue, 22 May 2018 09:51:08 +0000 (19:51 +1000)
commit7092360399644ad4b12ac573c1996536b9e9b4b6
tree647cc64d1191078942e8a3eb9738794dbf0569dc
parent94dd7fa1c0b75e909fa54d86ce2d1aaf2c54ceb7
KVM: PPC: Reimplement non-SIMD LOAD/STORE instruction mmio emulation with analyse_instr() input

This patch reimplements non-SIMD LOAD/STORE instruction MMIO emulation
with analyse_instr() input. It utilizes the BYTEREV/UPDATE/SIGNEXT
properties exported by analyse_instr() and invokes
kvmppc_handle_load(s)/kvmppc_handle_store() accordingly.

It also moves 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@ozlabs.org>
Signed-off-by: Simon Guo <wei.guo.simon@gmail.com>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
arch/powerpc/include/asm/kvm_ppc.h
arch/powerpc/kvm/book3s.c
arch/powerpc/kvm/e500_mmu_host.c
arch/powerpc/kvm/emulate_loadstore.c