Browse Source

KVM: SVM: add detection of Nested Paging feature

Let SVM detect if the Nested Paging feature is available on the hardware.
Disable it to keep this patch series bisectable.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Joerg Roedel 17 years ago
parent
commit
e3da3acdb3
1 changed files with 8 additions and 0 deletions
  1. 8 0
      arch/x86/kvm/svm.c

+ 8 - 0
arch/x86/kvm/svm.c

@@ -47,6 +47,8 @@ MODULE_LICENSE("GPL");
 #define SVM_FEATURE_LBRV (1 << 1)
 #define SVM_FEATURE_LBRV (1 << 1)
 #define SVM_DEATURE_SVML (1 << 2)
 #define SVM_DEATURE_SVML (1 << 2)
 
 
+static bool npt_enabled = false;
+
 static void kvm_reput_irq(struct vcpu_svm *svm);
 static void kvm_reput_irq(struct vcpu_svm *svm);
 
 
 static inline struct vcpu_svm *to_svm(struct kvm_vcpu *vcpu)
 static inline struct vcpu_svm *to_svm(struct kvm_vcpu *vcpu)
@@ -413,6 +415,12 @@ static __init int svm_hardware_setup(void)
 
 
 	svm_features = cpuid_edx(SVM_CPUID_FUNC);
 	svm_features = cpuid_edx(SVM_CPUID_FUNC);
 
 
+	if (!svm_has(SVM_FEATURE_NPT))
+		npt_enabled = false;
+
+	if (npt_enabled)
+		printk(KERN_INFO "kvm: Nested Paging enabled\n");
+
 	return 0;
 	return 0;
 
 
 err_2:
 err_2: