From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kai Huang Subject: [v2 01/11] vmx: add new boot parameter to control PML enabling Date: Wed, 15 Apr 2015 15:03:43 +0800 Message-ID: <1429081433-9600-2-git-send-email-kai.huang@linux.intel.com> References: <1429081433-9600-1-git-send-email-kai.huang@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1429081433-9600-1-git-send-email-kai.huang@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: andrew.cooper3@citrix.com, tim@xen.org, jbeulich@suse.com, kevin.tian@intel.com, xen-devel@lists.xen.org Cc: Kai Huang List-Id: xen-devel@lists.xenproject.org A top level EPT parameter "ept=" and a sub boolean "opt_pml_enabled" are added to control PML. Other booleans can be further added for any other EPT related features. Signed-off-by: Kai Huang --- xen/arch/x86/hvm/vmx/vmcs.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c index d614638..4fff46d 100644 --- a/xen/arch/x86/hvm/vmx/vmcs.c +++ b/xen/arch/x86/hvm/vmx/vmcs.c @@ -64,6 +64,37 @@ integer_param("ple_gap", ple_gap); static unsigned int __read_mostly ple_window = 4096; integer_param("ple_window", ple_window); +static bool_t __read_mostly opt_pml_enabled = 0; + +/* + * The 'ept' parameter controls functionalities that depend on, or impact the + * EPT mechanism. Optional comma separated value may contain: + * + * pml Enable PML + */ +static void __init parse_ept_param(char *s) +{ + char *ss; + int val; + + do { + val = !!strncmp(s, "no-", 3); + if ( !val ) + s += 3; + + ss = strchr(s, ','); + if ( ss ) + *ss = '\0'; + + if ( !strcmp(s, "pml") ) + opt_pml_enabled = val; + + s = ss + 1; + } while ( ss ); +} + +custom_param("ept", parse_ept_param); + /* Dynamic (run-time adjusted) execution control flags. */ u32 vmx_pin_based_exec_control __read_mostly; u32 vmx_cpu_based_exec_control __read_mostly; -- 2.1.0