From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v10 08/20] intel/VPMU: MSR_CORE_PERF_GLOBAL_CTRL should be initialized to zero Date: Wed, 3 Sep 2014 23:41:08 -0400 Message-ID: <1409802080-6160-9-git-send-email-boris.ostrovsky@oracle.com> References: <1409802080-6160-1-git-send-email-boris.ostrovsky@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1409802080-6160-1-git-send-email-boris.ostrovsky@oracle.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: jbeulich@suse.com, kevin.tian@intel.com, suravee.suthikulpanit@amd.com, eddie.dong@intel.com, Aravind.Gopalakrishnan@amd.com Cc: keir@xen.org, andrew.cooper3@citrix.com, tim@xen.org, xen-devel@lists.xen.org, jun.nakajima@intel.com, boris.ostrovsky@oracle.com List-Id: xen-devel@lists.xenproject.org MSR_CORE_PERF_GLOBAL_CTRL register should be set zero initially. It is up to the guest to set it so that counters are enabled. Signed-off-by: Boris Ostrovsky Acked-by: Kevin Tian Reviewed-by: Dietmar Hahn Tested-by: Dietmar Hahn --- xen/arch/x86/hvm/vmx/vpmu_core2.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/xen/arch/x86/hvm/vmx/vpmu_core2.c b/xen/arch/x86/hvm/vmx/vpmu_core2.c index 18fc0bb..b1f8021 100644 --- a/xen/arch/x86/hvm/vmx/vpmu_core2.c +++ b/xen/arch/x86/hvm/vmx/vpmu_core2.c @@ -165,14 +165,6 @@ static int core2_get_fixed_pmc_count(void) return MASK_EXTR(eax, PMU_FIXED_NR_MASK); } -static u64 core2_calc_intial_glb_ctrl_msr(void) -{ - int arch_pmc_bits = (1 << arch_pmc_cnt) - 1; - u64 fix_pmc_bits = (1 << fixed_pmc_cnt) - 1; - - return (fix_pmc_bits << 32) | arch_pmc_bits; -} - /* edx bits 5-12: Bit width of fixed-function performance counters */ static int core2_get_bitwidth_fix_count(void) { @@ -373,8 +365,7 @@ static int core2_vpmu_alloc_resource(struct vcpu *v) if ( vmx_add_msr(MSR_CORE_PERF_GLOBAL_CTRL, VMX_GUEST_MSR) ) goto out_err; - vmx_write_guest_msr(MSR_CORE_PERF_GLOBAL_CTRL, - core2_calc_intial_glb_ctrl_msr()); + vmx_write_guest_msr(MSR_CORE_PERF_GLOBAL_CTRL, 0); core2_vpmu_cxt = xzalloc_bytes(sizeof(struct core2_vpmu_context) + (arch_pmc_cnt-1)*sizeof(struct arch_msr_pair)); -- 1.8.1.4