On Fri, 2017-03-17 at 23:11 +1100, Alexey Kardashevskiy wrote: > On 17/03/17 19:31, Alexey Kardashevskiy wrote: > > This adds missing stdx emulation which allow Mellanox driver from > > recent kernels work when MMIO emulation is enforced in the > > userspace. > > > btw what would its load counterpart? Load Doubleword Indexed - ldx > RT,RA,RB? Yes. Do we also do the more "classic" ld/std ? Cheers, Ben. > > > > > Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> > > --- > > arch/powerpc/include/asm/ppc-opcode.h | 1 + > > arch/powerpc/kvm/emulate_loadstore.c | 6 ++++++ > > 2 files changed, 7 insertions(+) > > > > diff --git a/arch/powerpc/include/asm/ppc-opcode.h > > b/arch/powerpc/include/asm/ppc-opcode.h > > index e7d6d86563ee..ca1bbe49590b 100644 > > --- a/arch/powerpc/include/asm/ppc-opcode.h > > +++ b/arch/powerpc/include/asm/ppc-opcode.h > > @@ -92,6 +92,7 @@ > > #define OP_31_XOP_TRAP_64 68 > > #define OP_31_XOP_DCBF 86 > > #define OP_31_XOP_LBZX 87 > > +#define OP_31_XOP_STDX 149 > > #define OP_31_XOP_STWX 151 > > #define OP_31_XOP_STBX 215 > > #define OP_31_XOP_LBZUX 119 > > diff --git a/arch/powerpc/kvm/emulate_loadstore.c > > b/arch/powerpc/kvm/emulate_loadstore.c > > index 6d3c0ee1d744..9fdbeb8ea86c 100644 > > --- a/arch/powerpc/kvm/emulate_loadstore.c > > +++ b/arch/powerpc/kvm/emulate_loadstore.c > > @@ -82,6 +82,12 @@ int kvmppc_emulate_loadstore(struct kvm_vcpu > > *vcpu) > > kvmppc_set_gpr(vcpu, ra, vcpu- > > >arch.vaddr_accessed); > > break; > > > > + case OP_31_XOP_STDX: > > + emulated = kvmppc_handle_store(run, vcpu, > > + kvmppc_get_ > > gpr(vcpu, rs), > > + 8, 1); > > + break; > > + > > case OP_31_XOP_STWX: > > emulated = kvmppc_handle_store(run, vcpu, > > kvmppc_get_ > > gpr(vcpu, rs), > > > > -- To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html