From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9488BC2D0C0 for ; Mon, 23 Dec 2019 11:57:18 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6097220709 for ; Mon, 23 Dec 2019 11:57:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="WJ/mnkiS" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6097220709 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=04mna8W+BRrY5VkvzBhF8VIX0kVWS9w2MGkLolANn8w=; b=WJ/mnkiSvIX1Jk SPpDm6E3ZQN9sQlJsNLrDnqK7omeY+NnHs189fIMyX1aoNo4fvxRRexSm1ldbcVidz9MHvYPzNCkj mPSrrWFrPtxJIw6N/pR576NEZsG5IIbmb4X+ahWJz20nbqkaAqYRdKd80DQUcxrC9svGlkQgX7RWS GCXcSdE85AFZu5P511tC59EuXvu9UFafhWWbxczxw9VEw2cqi+ykqEHoSzNf3BIKpB2XIUoad6Fds n//HKshNyjksG1B4cDfQUccle/XsbyU3xSfXFsWOiGEp7bI0fN/Kwvu8pgs4YTh4zpqzzTgqMwrZA gI1ZCEZleCNa/RKzgkWQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ijMKr-0001Xs-37; Mon, 23 Dec 2019 11:57:17 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ijMKX-0001Fb-AZ for linux-arm-kernel@lists.infradead.org; Mon, 23 Dec 2019 11:56:58 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4BEFA1FB; Mon, 23 Dec 2019 03:56:54 -0800 (PST) Received: from localhost (unknown [10.37.6.20]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B5C7F3F68F; Mon, 23 Dec 2019 03:56:53 -0800 (PST) Date: Mon, 23 Dec 2019 11:56:52 +0000 From: Andrew Murray To: Marc Zyngier Subject: Re: [PATCH v2 11/18] KVM: arm64: don't trap Statistical Profiling controls to EL2 Message-ID: <20191223115651.GA42593@e119886-lin.cambridge.arm.com> References: <20191220143025.33853-1-andrew.murray@arm.com> <20191220143025.33853-12-andrew.murray@arm.com> <86bls0iqv6.wl-maz@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <86bls0iqv6.wl-maz@kernel.org> User-Agent: Mutt/1.10.1+81 (426a6c1) (2018-08-26) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191223_035657_403409_591ABA7C X-CRM114-Status: GOOD ( 20.55 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kvm@vger.kernel.org, Marc Zyngier , Catalin Marinas , Will Deacon , linux-kernel@vger.kernel.org, Sudeep Holla , kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Sun, Dec 22, 2019 at 10:42:05AM +0000, Marc Zyngier wrote: > On Fri, 20 Dec 2019 14:30:18 +0000, > Andrew Murray wrote: > > > > As we now save/restore the profiler state there is no need to trap > > accesses to the statistical profiling controls. Let's unset the > > _TPMS bit. > > > > Signed-off-by: Andrew Murray > > --- > > arch/arm64/kvm/debug.c | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/arch/arm64/kvm/debug.c b/arch/arm64/kvm/debug.c > > index 43487f035385..07ca783e7d9e 100644 > > --- a/arch/arm64/kvm/debug.c > > +++ b/arch/arm64/kvm/debug.c > > @@ -88,7 +88,6 @@ void kvm_arm_reset_debug_ptr(struct kvm_vcpu *vcpu) > > * - Performance monitors (MDCR_EL2_TPM/MDCR_EL2_TPMCR) > > * - Debug ROM Address (MDCR_EL2_TDRA) > > * - OS related registers (MDCR_EL2_TDOSA) > > - * - Statistical profiler (MDCR_EL2_TPMS/MDCR_EL2_E2PB) > > * > > * Additionally, KVM only traps guest accesses to the debug registers if > > * the guest is not actively using them (see the KVM_ARM64_DEBUG_DIRTY > > @@ -111,7 +110,6 @@ void kvm_arm_setup_debug(struct kvm_vcpu *vcpu) > > */ > > vcpu->arch.mdcr_el2 = __this_cpu_read(mdcr_el2) & MDCR_EL2_HPMN_MASK; > > vcpu->arch.mdcr_el2 |= (MDCR_EL2_TPM | > > - MDCR_EL2_TPMS | > > No. This is an *optional* feature (the guest could not be presented > with the SPE feature, or the the support simply not be compiled in). > > If the guest is not allowed to see the feature, for whichever reason, > the traps *must* be enabled and handled. I'll update this (and similar) to trap such registers when we don't support SPE in the guest. My original concern in the cover letter was in how to prevent the guest from attempting to use these registers in the first place - I think the solution I was looking for is to trap-and-emulate ID_AA64DFR0_EL1 such that the PMSVer bits indicate that SPE is not emulated. Thanks, Andrew Murray > > M. > > -- > Jazz is not dead, it just smells funny. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel