From patchwork Thu May 23 10:34:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sudeep Holla X-Patchwork-Id: 164975 Delivered-To: patch@linaro.org Received: by 2002:a92:9e1a:0:0:0:0:0 with SMTP id q26csp1994801ili; Thu, 23 May 2019 03:36:15 -0700 (PDT) X-Google-Smtp-Source: APXvYqwaUFJ4VPKiTG6ffdnkQ8ISYiZUaXH3L5KE/ImMZcH9oSsY5Im2043OVJdsWI2tUwICj3RJ X-Received: by 2002:a62:38d8:: with SMTP id f207mr42383946pfa.131.1558607775418; Thu, 23 May 2019 03:36:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558607775; cv=none; d=google.com; s=arc-20160816; b=wpgsiw1OL3ihYrbrnV1ah9Sdv8mXote6YGC26PDoZJydEvos1S1mGLdBCDCKykbznZ A6lISxI43uOpWGrk94WJth4joN3/7Lzfzm8WkQvnLYRlqeS/u+bdhMSYJwCfQhW43s31 cUva6MWmNE2lrKy96lWNer9iqaeqIIme3EWnm4krQV5CQAuFIBwWdstr7VNfRdyt1UdU fgRvblmg5ikKKeYsG4EytAIeyZ0E2vbR5K+Ufno5jHvljGSo6qNwXCUrdPmLiQq/NWY0 GdH/k5Bgv8Fnl33Zh7J+uHXgdnqkEeBcdnZ8X3D+In6skwNfWEhpGF0DcoKhCUpooDRg 44Jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=UQ5FoJ5EZ+9/q4T155+wqMoW3U9+yqA0ixiWNPyeIcQ=; b=Izf2lnh/vwLP52X3oLCmBytRWL0fl+9ekG47iArgiN1J+tqrP5jF/ldfFxshvDCwfI XeCbAihuZR+IPXW/jhUYMnwgsWIa4vQWKy7Lgrm6ighLIIX07+WPcRLXXz2LVK39n2Qk eQWjNGQfXedcQwBa63bEms5AHFuoAaXi2uPPLPOOCvz5EZM/Mwi29P31u5vEuDltKSph EDJOF0ZFlGp6fM1gv7jsKBqc7ipQRTAjUyvcymOqCXQdbJo42jeu1RU8JbVWjTnsHuIw KL6st9OVz2fItB0n1nJddI1xCEAVMHYfcHKBXTScMZjb9zRUjiDu0BUl1aAAPeLpeOC2 MzGw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v16si28366255pgk.431.2019.05.23.03.36.15; Thu, 23 May 2019 03:36:15 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730793AbfEWKgO (ORCPT + 30 others); Thu, 23 May 2019 06:36:14 -0400 Received: from foss.arm.com ([217.140.101.70]:43142 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730658AbfEWKfr (ORCPT ); Thu, 23 May 2019 06:35:47 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id BCCA415BF; Thu, 23 May 2019 03:35:46 -0700 (PDT) Received: from usa.arm.com (e107155-lin.cambridge.arm.com [10.1.196.42]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id A06F23F718; Thu, 23 May 2019 03:35:44 -0700 (PDT) From: Sudeep Holla To: kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org Cc: Sudeep Holla , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Christoffer Dall , Marc Zyngier , James Morse , Suzuki K Pouloze , Catalin Marinas , Will Deacon , Julien Thierry Subject: [PATCH v2 11/15] arm64: KVM/debug: trap all accesses to SPE controls at EL1 Date: Thu, 23 May 2019 11:34:58 +0100 Message-Id: <20190523103502.25925-12-sudeep.holla@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190523103502.25925-1-sudeep.holla@arm.com> References: <20190523103502.25925-1-sudeep.holla@arm.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Now that we have all the save/restore mechanism in place, lets enable trapping of accesses to SPE profiling buffer controls at EL1 to EL2. This will also change the translation regime used by buffer from EL2 stage 1 to EL1 stage 1 on VHE systems. Signed-off-by: Sudeep Holla --- arch/arm64/kvm/hyp/switch.c | 2 ++ 1 file changed, 2 insertions(+) -- 2.17.1 diff --git a/arch/arm64/kvm/hyp/switch.c b/arch/arm64/kvm/hyp/switch.c index 844f0dd7a7f0..881901825a85 100644 --- a/arch/arm64/kvm/hyp/switch.c +++ b/arch/arm64/kvm/hyp/switch.c @@ -110,6 +110,7 @@ static void activate_traps_vhe(struct kvm_vcpu *vcpu) write_sysreg(val, cpacr_el1); + write_sysreg(vcpu->arch.mdcr_el2 | 2 << MDCR_EL2_E2PB_SHIFT, mdcr_el2); write_sysreg(kvm_get_hyp_vector(), vbar_el1); } NOKPROBE_SYMBOL(activate_traps_vhe); @@ -127,6 +128,7 @@ static void __hyp_text __activate_traps_nvhe(struct kvm_vcpu *vcpu) __activate_traps_fpsimd32(vcpu); } + write_sysreg(vcpu->arch.mdcr_el2 | 2 << MDCR_EL2_E2PB_SHIFT, mdcr_el2); write_sysreg(val, cptr_el2); }