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=-7.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=no 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 7845DC2D0A3 for ; Mon, 2 Nov 2020 19:17:06 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 00A4022275 for ; Mon, 2 Nov 2020 19:17:05 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="XOycv2HA"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="F6G5LI7T" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 00A4022275 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+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=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=mlXBOw9pcReYl49mkMURSmSCHMqQgsC35KO1ChB1UyQ=; b=XOycv2HAJX2pDyi00WecPK8qTf EnDUU3RmZOATDxD0VoXzuJZ590TQy3+3fgOzTrIN6jPLXZn6u6XXEuxq3Wdjr1pHcZ7wrKbiALCLk QtU+RDl/Z/UE6wJoQ9zaSXr+t/u5HiwE1jHb9X3PqGws1wbLmrsfnrWrQcByZVF2yI15QFZP9fVHR YBGulqOzfimqNCF4iASxVzntl+xtcihclBdwKEsupHhde8nweDQo6GYMFSq0jXmNL2bqisE6z3mnM IUuuyIAFEETU+4mYUhavZgNHoI1Abg1PtxdwizkyRjiD8dFKVrhQuGhYD2iJrSQ8sl2NFo1wJOVP6 u9LG2zIw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kZfJg-00071M-CD; Mon, 02 Nov 2020 19:16:32 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kZfJR-0006vg-Bq for linux-arm-kernel@lists.infradead.org; Mon, 02 Nov 2020 19:16:20 +0000 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (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 8853422280; Mon, 2 Nov 2020 19:16:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604344576; bh=KaBxJjv3YFcRADE2Fb61WsHODS72mdq+Zd3tO6gwFuY=; h=From:To:Cc:Subject:Date:From; b=F6G5LI7TVR4qwUpzdpSGCqSMwzpczvA+k2UyTbrKWn/WcKbBt3sCELDKAvVuQ32bD lFE/wIiB6Y9eKt3htBkEB+ex7jCuzDzQOSsupiyzo5K0Rghgg9vjcFbZ8dxmrp1+bK EQ8wn9YHhNsPfSWHoe8SvEUfyiEKrMWo0bAq9I5Y= Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=why.lan) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94) (envelope-from ) id 1kZfJN-006nxn-6F; Mon, 02 Nov 2020 19:16:13 +0000 From: Marc Zyngier To: kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org Subject: [PATCH 0/8] KVM: arm64: Kill the copro array Date: Mon, 2 Nov 2020 19:16:01 +0000 Message-Id: <20201102191609.265711-1-maz@kernel.org> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org, james.morse@arm.com, julien.thierry.kdev@gmail.com, suzuki.poulose@arm.com, kernel-team@android.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201102_141617_551459_0E7732B2 X-CRM114-Status: GOOD ( 13.08 ) 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: kernel-team@android.com, James Morse , Julien Thierry , Suzuki K Poulose Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Since the very beginning of KVM/arm64, we represented the system register file using a dual view: on one side the AArch64 state, on the other a bizarre mapping of the AArch64 state onto the Aarch64 registers. It was nice at the time as it allowed us to share some code with the 32bit port, and to come up with some creative bugs. But is was always a hack, and we are now in a position to simplify the whole thing. This series goes through the whole of the AArch32 cp14/15 register file, and point each of them directly at their 64bit equivalent. For the few cases where two 32bit registers share a 64bit counterpart, we define which half of the register they map. Finally, we drop a large number of definitions and state that have become useless. This series applies on top of the exception injection rework previously posted [1]. M. [1] https://lore.kernel.org/r/20201102164045.264512-1-maz@kernel.org Marc Zyngier (8): KVM: arm64: Move AArch32 exceptions over to AArch64 sysregs KVM: arm64: Add AArch32 mapping annotation KVM: arm64: Map AArch32 cp15 register to AArch64 sysregs KVM: arm64: Map AArch32 cp14 register to AArch64 sysregs KVM: arm64: Drop is_32bit trap attribute KVM: arm64: Drop is_aarch32 trap attribute KVM: arm64: Drop legacy copro shadow register KVM: arm64: Drop kvm_coproc.h arch/arm64/include/asm/kvm_coproc.h | 38 ----- arch/arm64/include/asm/kvm_host.h | 73 +++------ arch/arm64/kvm/arm.c | 3 +- arch/arm64/kvm/guest.c | 1 - arch/arm64/kvm/handle_exit.c | 1 - arch/arm64/kvm/inject_fault.c | 62 +++----- arch/arm64/kvm/reset.c | 1 - arch/arm64/kvm/sys_regs.c | 231 ++++++++++++---------------- arch/arm64/kvm/sys_regs.h | 9 +- arch/arm64/kvm/vgic-sys-reg-v3.c | 4 - 10 files changed, 146 insertions(+), 277 deletions(-) delete mode 100644 arch/arm64/include/asm/kvm_coproc.h -- 2.28.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel