Received: by 2002:a05:6622:f08:0:0:0:0 with SMTP id l8csp4488644ivc; Tue, 3 Nov 2020 13:22:29 -0800 (PST) X-Google-Smtp-Source: ABdhPJzU/CE6vt/06DGWbXRwXRiQNgGmCluh9iyFEUffInYvD9aDaso7w9vftinP35QIXqrdHjoM X-Received: by 2002:a17:906:2458:: with SMTP id a24mr15459740ejb.20.1604438549368; Tue, 03 Nov 2020 13:22:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604438549; cv=none; d=google.com; s=arc-20160816; b=UzE2TcswDOglInz/awOi96deN/8pj7TPDYIAZC+e6mAeo7kpFTr/9EE79hR1sk3RGz wYGkQWyq21AWYVpjQHcIi3ZHxXIsgjzLZPvcR50hDABdbjAKYDYrT0dhkKaXWhVYiO5Q HtFkFyqo/pXcpsqFUzBpcZ7bp3gbqaFzjVVzDAiKb5MGExgIvp/J6BIf2pn+PgbX9QQi wO0vHSDP6bWdMn/3jggslbWd4RBYX5EhSyo/qkhpKkIPLEY7mJHIrjvgrRazR919QIJp CcKdnlVBV4M+bMCmDPioiLzb5iCIe9G/8uvGK6oQyGlzANnxFz9c0M1QMClgXHXGpDHQ eWTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=7mkHwbEAeq1UZjU0+ttadomCim3berYdoBIB4fp3arY=; b=W4cJoVL9qhBaYyzTbGSK4jrSw/wMtJ2vCJFSk3qknSEt9xLDzdaE5heV0EOCfiQ+RO nckgLCChgKLtfQ6Ynwsi3vXtKe0yCOIL0gj4BsCxvzjqpQ4B7+QWnhs9kNwp7Wsw1egu f1CNL7O5twnDmlcbg06XzzFOeibgdm8w/M6Sw9x318zrykRzM4l9uAkxPG1sDfrU56Ok WZHfss2fLLlvSaeL3O/QJKDhErI7u74/cdHBJD80WcOWIAOHZHh9ajZu4YBV80qeaGnq uSuEW/L+DUIp8lG+XOovgxlTQKi0HT8dJAcwt3TnpJrpymKUG9Ka4LaLI0VaGbf8gtqM H3UQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=J84t0Zd1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j15si9868180eds.511.2020.11.03.13.22.05; Tue, 03 Nov 2020 13:22:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=J84t0Zd1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732956AbgKCVI1 (ORCPT + 99 others); Tue, 3 Nov 2020 16:08:27 -0500 Received: from mail.kernel.org ([198.145.29.99]:47762 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388124AbgKCVIV (ORCPT ); Tue, 3 Nov 2020 16:08:21 -0500 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id B081F20757; Tue, 3 Nov 2020 21:08:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604437701; bh=lZKNM1DIWonWgeQTV5OF8/xydOHLFS5D60gi0D0Y84s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=J84t0Zd1koxC+XCGf85x2D6psCmSaAg6zXHrAbe5edULYDrFGU6eEEikBntAOp1o1 /Dbajc0rFHDOwhn19mQbpJt3Y5FkonrmPfj13OCgbyM6dfZfYNZYdxRxNo367EP0Vt Jcz7CFHtVDz1+kcV4yt41j9MHuX6uRtQJY2zSKAw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Marc Zyngier Subject: [PATCH 4.19 188/191] KVM: arm64: Fix AArch32 handling of DBGD{CCINT,SCRext} and DBGVCR Date: Tue, 3 Nov 2020 21:38:00 +0100 Message-Id: <20201103203250.424217220@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201103203232.656475008@linuxfoundation.org> References: <20201103203232.656475008@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Marc Zyngier commit 4a1c2c7f63c52ccb11770b5ae25920a6b79d3548 upstream. The DBGD{CCINT,SCRext} and DBGVCR register entries in the cp14 array are missing their target register, resulting in all accesses being targetted at the guard sysreg (indexed by __INVALID_SYSREG__). Point the emulation code at the actual register entries. Fixes: bdfb4b389c8d ("arm64: KVM: add trap handlers for AArch32 debug registers") Signed-off-by: Marc Zyngier Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20201029172409.2768336-1-maz@kernel.org Signed-off-by: Greg Kroah-Hartman --- arch/arm64/include/asm/kvm_host.h | 1 + arch/arm64/kvm/sys_regs.c | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) --- a/arch/arm64/include/asm/kvm_host.h +++ b/arch/arm64/include/asm/kvm_host.h @@ -192,6 +192,7 @@ enum vcpu_sysreg { #define cp14_DBGWCR0 (DBGWCR0_EL1 * 2) #define cp14_DBGWVR0 (DBGWVR0_EL1 * 2) #define cp14_DBGDCCINT (MDCCINT_EL1 * 2) +#define cp14_DBGVCR (DBGVCR32_EL2 * 2) #define NR_COPRO_REGS (NR_SYS_REGS * 2) --- a/arch/arm64/kvm/sys_regs.c +++ b/arch/arm64/kvm/sys_regs.c @@ -1555,9 +1555,9 @@ static const struct sys_reg_desc cp14_re { Op1( 0), CRn( 0), CRm( 1), Op2( 0), trap_raz_wi }, DBG_BCR_BVR_WCR_WVR(1), /* DBGDCCINT */ - { Op1( 0), CRn( 0), CRm( 2), Op2( 0), trap_debug32 }, + { Op1( 0), CRn( 0), CRm( 2), Op2( 0), trap_debug32, NULL, cp14_DBGDCCINT }, /* DBGDSCRext */ - { Op1( 0), CRn( 0), CRm( 2), Op2( 2), trap_debug32 }, + { Op1( 0), CRn( 0), CRm( 2), Op2( 2), trap_debug32, NULL, cp14_DBGDSCRext }, DBG_BCR_BVR_WCR_WVR(2), /* DBGDTR[RT]Xint */ { Op1( 0), CRn( 0), CRm( 3), Op2( 0), trap_raz_wi }, @@ -1572,7 +1572,7 @@ static const struct sys_reg_desc cp14_re { Op1( 0), CRn( 0), CRm( 6), Op2( 2), trap_raz_wi }, DBG_BCR_BVR_WCR_WVR(6), /* DBGVCR */ - { Op1( 0), CRn( 0), CRm( 7), Op2( 0), trap_debug32 }, + { Op1( 0), CRn( 0), CRm( 7), Op2( 0), trap_debug32, NULL, cp14_DBGVCR }, DBG_BCR_BVR_WCR_WVR(7), DBG_BCR_BVR_WCR_WVR(8), DBG_BCR_BVR_WCR_WVR(9),