KVM: SVM: add module parameter to disable Nested Paging
To disable the use of the Nested Paging feature even if it is available in
hardware this patch adds a module parameter. Nested Paging can be disabled by
passing npt=0 to the kvm_amd module.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index c12a759..fb5d6c2 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -48,6 +48,9 @@
#define SVM_DEATURE_SVML (1 << 2)
static bool npt_enabled = false;
+static int npt = 1;
+
+module_param(npt, int, S_IRUGO);
static void kvm_reput_irq(struct vcpu_svm *svm);
@@ -418,6 +421,11 @@
if (!svm_has(SVM_FEATURE_NPT))
npt_enabled = false;
+ if (npt_enabled && !npt) {
+ printk(KERN_INFO "kvm: Nested Paging disabled\n");
+ npt_enabled = false;
+ }
+
if (npt_enabled)
printk(KERN_INFO "kvm: Nested Paging enabled\n");