Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp5269114ybl; Sun, 22 Dec 2019 02:38:32 -0800 (PST) X-Google-Smtp-Source: APXvYqwBIzlE7wR7ZsWJ60K/UNohOKuGSGN3Hvwh4J0rar2OS9nItjB7D9Cag3soUOCZSTW+bCiE X-Received: by 2002:a05:6830:138b:: with SMTP id d11mr15839822otq.38.1577011112139; Sun, 22 Dec 2019 02:38:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577011112; cv=none; d=google.com; s=arc-20160816; b=LV+zqcl2Ym3eGpQaw9viJyr8ToWsj/1CVvFJjYmdRdLAVsnA3uw39uDQLL11HYKE2B 7Z9z3xeJ8ZC7pSFPjdlc3aU6YWzJAPQWxRpOMUxf6RcgwCDKtIKlPtGYGbpKR6a+Ha/K UnlHayhtILeZBwO7IVmVj5jvWFK/Yut+e7i/I3wMvBPbBK4mLgQdyyMhFPEYL9lTpldB M808eIFdx7rnb+B1bNZTeoDLf8hQxEfFu2EZH9o/9JGk4sJ9vUq15jqKBP0RsrqtsjZx BoIxARGBA9Z3pj2xsXT7u1+g5I3/0SHG4LwBKdPV+Vc52AXlRKhA49SyWa+9y85IhiNn sgsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:subject:cc:to:from:message-id:date; bh=pd0ydOOtRzrYPzLGxKHBASyWh7KCSBMzjjpw6VyFZq0=; b=Ub1tHxBP2VUTgqwMQ8SNaWztTowi46tBGYRjxMcg8PX32kT0j6P07u5vIi4HOH0Tg3 vwEgr6sf1tCaMYouRV7GS7Zw7zV6X/s0yrQoCzyZaDAXIAuAXRSv5axzpOcn2fYVZKvY WHUPzAqwUQQLwo/iRdbOPslGRlrQDH8ChC1ZmI8oXiMV8xQw3wY3M74qm/y+TD1lz0SE TZ6EA1n9l3z30QJVm27sfYM8Tq4BZKZ2eMnHcbCurZ0fE/q6pQ9fRlg2SWJTaz3ePHsq xWhmKrHV0K8C+Ti7+VjTa39cKfcT0SwPNOfLhBoZ34uGqEILuGIlqQN6NcHZ5OnLC/tF HnKQ== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s126si8187810oib.84.2019.12.22.02.37.46; Sun, 22 Dec 2019 02:38:32 -0800 (PST) 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726764AbfLVKet (ORCPT + 99 others); Sun, 22 Dec 2019 05:34:49 -0500 Received: from inca-roads.misterjones.org ([213.251.177.50]:46535 "EHLO inca-roads.misterjones.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725977AbfLVKes (ORCPT ); Sun, 22 Dec 2019 05:34:48 -0500 Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=big-swifty.misterjones.org) by cheepnis.misterjones.org with esmtpsa (TLSv1.2:AES256-GCM-SHA384:256) (Exim 4.80) (envelope-from ) id 1iiyZR-0005Mb-ML; Sun, 22 Dec 2019 11:34:45 +0100 Date: Sun, 22 Dec 2019 10:34:55 +0000 Message-ID: <86d0cgir74.wl-maz@kernel.org> From: Marc Zyngier To: Andrew Murray Cc: Catalin Marinas , Will Deacon , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Sudeep Holla , kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v2 10/18] arm64: KVM/debug: use EL1&0 stage 1 translation regime In-Reply-To: <20191220143025.33853-11-andrew.murray@arm.com> References: <20191220143025.33853-1-andrew.murray@arm.com> <20191220143025.33853-11-andrew.murray@arm.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 EasyPG/1.0.0 Emacs/26 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: andrew.murray@arm.com, catalin.marinas@arm.com, will@kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, sudeep.holla@arm.com, kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on cheepnis.misterjones.org); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 20 Dec 2019 14:30:17 +0000, Andrew Murray wrote: > > From: Sudeep Holla > > Now that we have all the save/restore mechanism in place, lets enable > the translation regime used by buffer from EL2 stage 1 to EL1 stage 1 > on VHE systems. > > Signed-off-by: Sudeep Holla > [ Reword commit, don't trap to EL2 ] Not trapping to EL2 for the case where we don't allow SPE in the guest is not acceptable. > Signed-off-by: Andrew Murray > --- > arch/arm64/kvm/hyp/switch.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/arm64/kvm/hyp/switch.c b/arch/arm64/kvm/hyp/switch.c > index 67b7c160f65b..6c153b79829b 100644 > --- a/arch/arm64/kvm/hyp/switch.c > +++ b/arch/arm64/kvm/hyp/switch.c > @@ -100,6 +100,7 @@ static void activate_traps_vhe(struct kvm_vcpu *vcpu) > > write_sysreg(val, cpacr_el1); > > + write_sysreg(vcpu->arch.mdcr_el2 | 3 << MDCR_EL2_E2PB_SHIFT, mdcr_el2); > write_sysreg(kvm_get_hyp_vector(), vbar_el1); > } > NOKPROBE_SYMBOL(activate_traps_vhe); > @@ -117,6 +118,7 @@ static void __hyp_text __activate_traps_nvhe(struct kvm_vcpu *vcpu) > __activate_traps_fpsimd32(vcpu); > } > > + write_sysreg(vcpu->arch.mdcr_el2 | 3 << MDCR_EL2_E2PB_SHIFT, mdcr_el2); There is a _MASK macro that can replace this '3', and is in keeping with the rest of the code. It still remains that it looks like the wrong place to do this, and vcpu_load seems much better. Why should you write to mdcr_el2 on each entry to the guest, since you know whether it has SPE enabled at the point where it gets scheduled? M. -- Jazz is not dead, it just smells funny.