diff options
author | Anup Patel <anup.patel@linaro.org> | 2013-09-30 04:50:07 -0400 |
---|---|---|
committer | Christoffer Dall <christoffer.dall@linaro.org> | 2013-10-02 14:29:48 -0400 |
commit | 42c4e0c77ac91505ab94284b14025e3a0865c0a5 (patch) | |
tree | 1d5002e27ad0fd99a54f2cd3084724ffa37c2e44 /arch/arm/kvm | |
parent | 473bdc0e6565ebb22455657a40daa21b6b4ee16b (diff) |
ARM/ARM64: KVM: Implement KVM_ARM_PREFERRED_TARGET ioctl
For implementing CPU=host, we need a mechanism for querying
preferred VCPU target type on underlying Host.
This patch implements KVM_ARM_PREFERRED_TARGET vm ioctl which
returns struct kvm_vcpu_init instance containing information
about preferred VCPU target type and target specific features
available for it.
Signed-off-by: Anup Patel <anup.patel@linaro.org>
Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Diffstat (limited to 'arch/arm/kvm')
-rw-r--r-- | arch/arm/kvm/arm.c | 13 |
1 files changed, 13 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 | } |