|
@@ -248,6 +248,26 @@ int kvm_vcpu_set_target(struct kvm_vcpu *vcpu,
|
|
|
return kvm_reset_vcpu(vcpu);
|
|
|
}
|
|
|
|
|
|
+int kvm_vcpu_preferred_target(struct kvm_vcpu_init *init)
|
|
|
+{
|
|
|
+ int target = kvm_target_cpu();
|
|
|
+
|
|
|
+ if (target < 0)
|
|
|
+ return -ENODEV;
|
|
|
+
|
|
|
+ memset(init, 0, sizeof(*init));
|
|
|
+
|
|
|
+ /*
|
|
|
+ * For now, we don't return any features.
|
|
|
+ * In future, we might use features to return target
|
|
|
+ * specific features available for the preferred
|
|
|
+ * target type.
|
|
|
+ */
|
|
|
+ init->target = (__u32)target;
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
int kvm_arch_vcpu_ioctl_get_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu)
|
|
|
{
|
|
|
return -EINVAL;
|