Lines Matching refs:mop
2451 struct kvm_s390_mem_op *mop) in kvm_s390_guest_mem_op() argument
2453 void __user *uaddr = (void __user *)mop->buf; in kvm_s390_guest_mem_op()
2459 if (mop->flags & ~supported_flags) in kvm_s390_guest_mem_op()
2462 if (mop->size > MEM_OP_MAX_SIZE) in kvm_s390_guest_mem_op()
2465 if (!(mop->flags & KVM_S390_MEMOP_F_CHECK_ONLY)) { in kvm_s390_guest_mem_op()
2466 tmpbuf = vmalloc(mop->size); in kvm_s390_guest_mem_op()
2473 switch (mop->op) { in kvm_s390_guest_mem_op()
2475 if (mop->flags & KVM_S390_MEMOP_F_CHECK_ONLY) { in kvm_s390_guest_mem_op()
2476 r = check_gva_range(vcpu, mop->gaddr, mop->ar, mop->size, false); in kvm_s390_guest_mem_op()
2479 r = read_guest(vcpu, mop->gaddr, mop->ar, tmpbuf, mop->size); in kvm_s390_guest_mem_op()
2481 if (copy_to_user(uaddr, tmpbuf, mop->size)) in kvm_s390_guest_mem_op()
2486 if (mop->flags & KVM_S390_MEMOP_F_CHECK_ONLY) { in kvm_s390_guest_mem_op()
2487 r = check_gva_range(vcpu, mop->gaddr, mop->ar, mop->size, true); in kvm_s390_guest_mem_op()
2490 if (copy_from_user(tmpbuf, uaddr, mop->size)) { in kvm_s390_guest_mem_op()
2494 r = write_guest(vcpu, mop->gaddr, mop->ar, tmpbuf, mop->size); in kvm_s390_guest_mem_op()
2502 if (r > 0 && (mop->flags & KVM_S390_MEMOP_F_INJECT_EXCEPTION) != 0) in kvm_s390_guest_mem_op()