diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2008-02-07 07:47:39 -0500 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-04-27 04:53:19 -0400 |
commit | e3da3acdb32c1804a5c853feebcc037b7434076f (patch) | |
tree | b0dec2b3e0abfbef09f3688397250048f6a0ebe2 /arch/x86/kvm/svm.c | |
parent | 33bd6a0b3e8baed6469c8e68ea1b16cb50c4f5af (diff) |
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>
Diffstat (limited to 'arch/x86/kvm/svm.c')
-rw-r--r-- | arch/x86/kvm/svm.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 5f527dc0e162..c12a75953b5b 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c | |||
@@ -47,6 +47,8 @@ MODULE_LICENSE("GPL"); | |||
47 | #define SVM_FEATURE_LBRV (1 << 1) | 47 | #define SVM_FEATURE_LBRV (1 << 1) |
48 | #define SVM_DEATURE_SVML (1 << 2) | 48 | #define SVM_DEATURE_SVML (1 << 2) |
49 | 49 | ||
50 | static bool npt_enabled = false; | ||
51 | |||
50 | static void kvm_reput_irq(struct vcpu_svm *svm); | 52 | static void kvm_reput_irq(struct vcpu_svm *svm); |
51 | 53 | ||
52 | static inline struct vcpu_svm *to_svm(struct kvm_vcpu *vcpu) | 54 | static inline struct vcpu_svm *to_svm(struct kvm_vcpu *vcpu) |
@@ -413,6 +415,12 @@ static __init int svm_hardware_setup(void) | |||
413 | 415 | ||
414 | svm_features = cpuid_edx(SVM_CPUID_FUNC); | 416 | svm_features = cpuid_edx(SVM_CPUID_FUNC); |
415 | 417 | ||
418 | if (!svm_has(SVM_FEATURE_NPT)) | ||
419 | npt_enabled = false; | ||
420 | |||
421 | if (npt_enabled) | ||
422 | printk(KERN_INFO "kvm: Nested Paging enabled\n"); | ||
423 | |||
416 | return 0; | 424 | return 0; |
417 | 425 | ||
418 | err_2: | 426 | err_2: |