diff options
| -rw-r--r-- | arch/arm/kvm/arm.c | 13 | ||||
| -rw-r--r-- | include/uapi/linux/kvm.h | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c index 9c697db2787e..cc5adb9349ef 100644 --- a/arch/arm/kvm/arm.c +++ b/arch/arm/kvm/arm.c | |||
| @@ -797,6 +797,19 @@ long kvm_arch_vm_ioctl(struct file *filp, | |||
| 797 | return -EFAULT; | 797 | return -EFAULT; |
| 798 | return kvm_vm_ioctl_set_device_addr(kvm, &dev_addr); | 798 | return kvm_vm_ioctl_set_device_addr(kvm, &dev_addr); |
| 799 | } | 799 | } |
| 800 | case KVM_ARM_PREFERRED_TARGET: { | ||
| 801 | int err; | ||
| 802 | struct kvm_vcpu_init init; | ||
| 803 | |||
| 804 | err = kvm_vcpu_preferred_target(&init); | ||
| 805 | if (err) | ||
| 806 | return err; | ||
| 807 | |||
| 808 | if (copy_to_user(argp, &init, sizeof(init))) | ||
| 809 | return -EFAULT; | ||
| 810 | |||
| 811 | return 0; | ||
| 812 | } | ||
| 800 | default: | 813 | default: |
| 801 | return -EINVAL; | 814 | return -EINVAL; |
| 802 | } | 815 | } |
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h index 99c25338ede8..e32e776f20c0 100644 --- a/include/uapi/linux/kvm.h +++ b/include/uapi/linux/kvm.h | |||
| @@ -1012,6 +1012,7 @@ struct kvm_s390_ucas_mapping { | |||
| 1012 | /* VM is being stopped by host */ | 1012 | /* VM is being stopped by host */ |
| 1013 | #define KVM_KVMCLOCK_CTRL _IO(KVMIO, 0xad) | 1013 | #define KVM_KVMCLOCK_CTRL _IO(KVMIO, 0xad) |
| 1014 | #define KVM_ARM_VCPU_INIT _IOW(KVMIO, 0xae, struct kvm_vcpu_init) | 1014 | #define KVM_ARM_VCPU_INIT _IOW(KVMIO, 0xae, struct kvm_vcpu_init) |
| 1015 | #define KVM_ARM_PREFERRED_TARGET _IOR(KVMIO, 0xaf, struct kvm_vcpu_init) | ||
| 1015 | #define KVM_GET_REG_LIST _IOWR(KVMIO, 0xb0, struct kvm_reg_list) | 1016 | #define KVM_GET_REG_LIST _IOWR(KVMIO, 0xb0, struct kvm_reg_list) |
| 1016 | 1017 | ||
| 1017 | #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) | 1018 | #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) |
