All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 2/4] Add parameter to control A/D bits support
@ 2012-05-16 10:51 Xudong Hao
  0 siblings, 0 replies; 2+ messages in thread
From: Xudong Hao @ 2012-05-16 10:51 UTC (permalink / raw)
  To: Avi Kivity; +Cc: kvm, linux-kernel, Haitao Shan, Xiantao Zhang, Xudong Hao

Add kernel parameter to control A/D bits support, it's on by default.

Changes from v1:
-Use bool type for enable_ept_ad_bit.
-Use "eptad" to replace "ept_ad_bits".

Signed-off-by: Haitao Shan <haitao.shan@intel.com>
Signed-off-by: Xudong Hao <xudong.hao@intel.com>
---
 arch/x86/kvm/vmx.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index d2bd719..811a61e 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -64,6 +64,9 @@ static bool __read_mostly enable_unrestricted_guest = 1;
 module_param_named(unrestricted_guest,
            enable_unrestricted_guest, bool, S_IRUGO);

+static bool __read_mostly enable_ept_ad_bits = 1;
+module_param_named(eptad, enable_ept_ad_bits, bool, S_IRUGO);
+
 static bool __read_mostly emulate_invalid_guest_state = 0;
 module_param(emulate_invalid_guest_state, bool, S_IRUGO);

@@ -779,6 +782,11 @@ static inline bool cpu_has_vmx_ept_4levels(void)
    return vmx_capability.ept & VMX_EPT_PAGE_WALK_4_BIT;
 }

+static inline bool cpu_has_vmx_ept_ad_bits(void)
+{
+   return vmx_capability.ept & VMX_EPT_AD_BIT;
+}
+
 static inline bool cpu_has_vmx_invept_individual_addr(void)
 {
    return vmx_capability.ept & VMX_EPT_EXTENT_INDIVIDUAL_BIT;
@@ -2611,8 +2619,12 @@ static __init int hardware_setup(void)
        !cpu_has_vmx_ept_4levels()) {
        enable_ept = 0;
        enable_unrestricted_guest = 0;
+       enable_ept_ad_bits = 0;
    }

+   if (!cpu_has_vmx_ept_ad_bits())
+       enable_ept_ad_bits = 0;
+
    if (!cpu_has_vmx_unrestricted_guest())
        enable_unrestricted_guest = 0;

--
1.7.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [PATCH v2 2/4] Add parameter to control A/D bits support
  2012-05-21  3:54 [PATCH v2 1/4] Add EPT A/D bits definitions Xudong Hao
@ 2012-05-21  3:54 ` Xudong Hao
  0 siblings, 0 replies; 2+ messages in thread
From: Xudong Hao @ 2012-05-21  3:54 UTC (permalink / raw)
  To: avi
  Cc: kvm, linux-kernel, takuya.yoshikawa, xiantao.zhang, Xudong Hao,
	Haitao Shan

Add kernel parameter to control A/D bits support, it's on by default.

Signed-off-by: Haitao Shan <haitao.shan@intel.com>
Signed-off-by: Xudong Hao <xudong.hao@intel.com>
---
 arch/x86/kvm/vmx.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 3062ea9..f3858bf 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -71,6 +71,9 @@ static bool __read_mostly enable_unrestricted_guest = 1;
 module_param_named(unrestricted_guest,
 			enable_unrestricted_guest, bool, S_IRUGO);
 
+static bool __read_mostly enable_ept_ad_bits = 1;
+module_param_named(eptad, enable_ept_ad_bits, bool, S_IRUGO);
+
 static bool __read_mostly emulate_invalid_guest_state = 0;
 module_param(emulate_invalid_guest_state, bool, S_IRUGO);
 
@@ -786,6 +789,11 @@ static inline bool cpu_has_vmx_ept_4levels(void)
 	return vmx_capability.ept & VMX_EPT_PAGE_WALK_4_BIT;
 }
 
+static inline bool cpu_has_vmx_ept_ad_bits(void)
+{
+	return vmx_capability.ept & VMX_EPT_AD_BIT;
+}
+
 static inline bool cpu_has_vmx_invept_individual_addr(void)
 {
 	return vmx_capability.ept & VMX_EPT_EXTENT_INDIVIDUAL_BIT;
@@ -2624,8 +2632,12 @@ static __init int hardware_setup(void)
 	    !cpu_has_vmx_ept_4levels()) {
 		enable_ept = 0;
 		enable_unrestricted_guest = 0;
+		enable_ept_ad_bits = 0;
 	}
 
+	if (!cpu_has_vmx_ept_ad_bits())
+		enable_ept_ad_bits = 0;
+
 	if (!cpu_has_vmx_unrestricted_guest())
 		enable_unrestricted_guest = 0;
 
-- 
1.5.6


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-05-21  3:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-16 10:51 [PATCH v2 2/4] Add parameter to control A/D bits support Xudong Hao
2012-05-21  3:54 [PATCH v2 1/4] Add EPT A/D bits definitions Xudong Hao
2012-05-21  3:54 ` [PATCH v2 2/4] Add parameter to control A/D bits support Xudong Hao

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.