projects
/
linux-2.6-microblaze.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
KVM: PPC: Book3S HV: Introduce new capability for 2nd DAWR
[linux-2.6-microblaze.git]
/
arch
/
powerpc
/
kvm
/
powerpc.c
diff --git
a/arch/powerpc/kvm/powerpc.c
b/arch/powerpc/kvm/powerpc.c
index
cf52d26
..
5914c32
100644
(file)
--- a/
arch/powerpc/kvm/powerpc.c
+++ b/
arch/powerpc/kvm/powerpc.c
@@
-678,6
+678,10
@@
int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
r = hv_enabled && kvmppc_hv_ops->enable_svm &&
!kvmppc_hv_ops->enable_svm(NULL);
break;
r = hv_enabled && kvmppc_hv_ops->enable_svm &&
!kvmppc_hv_ops->enable_svm(NULL);
break;
+ case KVM_CAP_PPC_DAWR1:
+ r = !!(hv_enabled && kvmppc_hv_ops->enable_dawr1 &&
+ !kvmppc_hv_ops->enable_dawr1(NULL));
+ break;
#endif
default:
r = 0;
#endif
default:
r = 0;
@@
-2187,6
+2191,12
@@
int kvm_vm_ioctl_enable_cap(struct kvm *kvm,
break;
r = kvm->arch.kvm_ops->enable_svm(kvm);
break;
break;
r = kvm->arch.kvm_ops->enable_svm(kvm);
break;
+ case KVM_CAP_PPC_DAWR1:
+ r = -EINVAL;
+ if (!is_kvmppc_hv_enabled(kvm) || !kvm->arch.kvm_ops->enable_dawr1)
+ break;
+ r = kvm->arch.kvm_ops->enable_dawr1(kvm);
+ break;
#endif
default:
r = -EINVAL;
#endif
default:
r = -EINVAL;