From: Joerg Roedel <joerg.roedel@amd.com>
Date: Thu, 7 Feb 2008 12:47:40 +0000 (+0100)
Subject: KVM: SVM: add module parameter to disable Nested Paging
X-Git-Tag: v2.6.26-rc1~1028^2~125
X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=6c7dac72d5c7dc0e09512dce865398167be9a8f7;p=linux-2.6-omap-h63xx.git

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 c12a75953b5..fb5d6c2e6a0 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -48,6 +48,9 @@ MODULE_LICENSE("GPL");
 #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 @@ static __init int svm_hardware_setup(void)
 	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");