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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B6A4FC433EF for ; Wed, 16 Mar 2022 15:01:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235668AbiCPPCV (ORCPT ); Wed, 16 Mar 2022 11:02:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57574 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231613AbiCPPCU (ORCPT ); Wed, 16 Mar 2022 11:02:20 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CE0934ECC7 for ; Wed, 16 Mar 2022 08:01:05 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 84D3FB81BFA for ; Wed, 16 Mar 2022 15:01:04 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 31308C340E9; Wed, 16 Mar 2022 15:01:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1647442863; bh=Dy0POSLfJZum5AoWzG4sgm9ElC3fanRy+FgV015B1YA=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=nU2bjpfIzatogL6tjUB9CATcwxHgDBPE+S2SVfJwirxSIG+U0zRzfnFs/ox9yGkl6 KZ/LkUfgaHcOxmk6W77+qEk0Na+Ln0zpxL9aC6F8P7eGtqrcRuEatZY3FDAa7QGGvt cHC1ALT/QJcCz9CGjKmyBUItLHKC0mS4TEvypk9UO+xFcy4U/hGWVu2UIKb9OoxUsm DJc+0g7Ptv7PZ4aXsr+k9wROafXCuAxOHmGyXJyYEuxRfgCsLtBmzLKyAVgRO/zUqI GlCS/Q87zb8CpZtLyHEdctzBpQ3USo/68d51eBziszvmup/62pzfeE+DMpin4MvyNO IT8yEFZCky4wQ== Received: from sofa.misterjones.org ([185.219.108.64] helo=why.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1nUV92-00Ewsa-L4; Wed, 16 Mar 2022 15:01:00 +0000 Date: Wed, 16 Mar 2022 15:01:00 +0000 Message-ID: <875yoeymab.wl-maz@kernel.org> From: Marc Zyngier To: Oliver Upton Cc: linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu, kernel-team@android.com, Andre Przywara Subject: Re: [PATCH 4/4] KVM: arm64: vgic-v3: Advertise GICR_CTLR.{IR, CES} as a new GICD_IIDR revision In-Reply-To: References: <20220314164044.772709-1-maz@kernel.org> <20220314164044.772709-5-maz@kernel.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-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: 185.219.108.64 X-SA-Exim-Rcpt-To: oupton@google.com, linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu, kernel-team@android.com, andre.przywara@arm.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Hi Oliver, On Tue, 15 Mar 2022 23:13:09 +0000, Oliver Upton wrote: > > Hi Marc, > > On Mon, Mar 14, 2022 at 04:40:44PM +0000, Marc Zyngier wrote: > > @@ -87,8 +91,16 @@ static int vgic_mmio_uaccess_write_v2_misc(struct kvm_vcpu *vcpu, > > * migration from old kernels to new kernels with legacy > > * userspace. > > */ > > - vcpu->kvm->arch.vgic.v2_groups_user_writable = true; > > - return 0; > > + reg = FIELD_GET(GICD_IIDR_REVISION_MASK, reg); > > + switch (reg) { > > + case KVM_VGIC_IMP_REV_2: > > + case KVM_VGIC_IMP_REV_3: > > + dist->v2_groups_user_writable = true; > > Could you eliminate this bool and just pivot off of the implementation > version? [coming back to this] Now I remember why this doesn't work. The established behaviour is that it takes a write to IIDR to switch to the 'writable groups' mode. If we base the switch on the implementation version, we don't need a write anymore (we always allow groups to be writable), and old guests cannot be reliably restored. 32f8777ed92d has the gory details, and that's really not old enough that we can turn a blind eye to it, unfortunately. Thanks, M. -- Without deviation from the norm, progress is not possible.