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 lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9FC4DD0EE0F for ; Tue, 25 Nov 2025 17:17:47 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vNwfc-0004ot-Tm; Tue, 25 Nov 2025 12:17:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vNwfb-0004n2-BT for qemu-arm@nongnu.org; Tue, 25 Nov 2025 12:17:39 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vNwfZ-0006xX-12 for qemu-arm@nongnu.org; Tue, 25 Nov 2025 12:17:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764091054; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=LyJ+T2kg7Kxgc8NEUXpy7/SKS31k+qoQyWF2h73F7xM=; b=HEeRUW9QQCOUqLGjyYQX5zYZfdnELBNr10v3aHwtIynK49VZysgjJf2z5ngaBPGWK6S415 Q25CYOg+eveY3uzm3/AWy5oTT/+X4VD2mPWNs6qFsTe0vz5yPQxD2v56vFsMeIkYytFhZ9 BjO871f90mKjtiE7xKMG6DY5vOUZKDk= Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-155-YKvPytEMPBeWO4erD9R_Yg-1; Tue, 25 Nov 2025 12:17:30 -0500 X-MC-Unique: YKvPytEMPBeWO4erD9R_Yg-1 X-Mimecast-MFC-AGG-ID: YKvPytEMPBeWO4erD9R_Yg_1764091049 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id E083A18002C7; Tue, 25 Nov 2025 17:17:28 +0000 (UTC) Received: from localhost (dhcp-192-239.str.redhat.com [10.33.192.239]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id E02A31956056; Tue, 25 Nov 2025 17:17:27 +0000 (UTC) From: Cornelia Huck To: Eric Auger , eric.auger.pro@gmail.com, eric.auger@redhat.com, qemu-devel@nongnu.org, qemu-arm@nongnu.org, peter.maydell@linaro.org, maz@kernel.org, oliver.upton@linux.dev, sebott@redhat.com, gshan@redhat.com, ddutile@redhat.com, peterx@redhat.com, philmd@linaro.org, pbonzini@redhat.com Subject: Re: [PATCH v3 08/11] target/arm/cpu: Expose x-mig-hidden-regs and x-mig-safe-missing-regs properties In-Reply-To: <20251125100859.506228-9-eric.auger@redhat.com> Organization: "Red Hat GmbH, Sitz: Werner-von-Siemens-Ring 12, D-85630 Grasbrunn, Handelsregister: Amtsgericht =?utf-8?Q?M=C3=BCnchen=2C?= HRB 153243, =?utf-8?Q?Gesch=C3=A4ftsf=C3=BChrer=3A?= Ryan Barnhart, Charles Cachera, Avril Crosse O'Flaherty" References: <20251125100859.506228-1-eric.auger@redhat.com> <20251125100859.506228-9-eric.auger@redhat.com> User-Agent: Notmuch/0.38.3 (https://notmuchmail.org) Date: Tue, 25 Nov 2025 18:17:25 +0100 Message-ID: <87bjkqowuy.fsf@redhat.com> MIME-Version: 1.0 Content-Type: text/plain X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 Received-SPF: pass client-ip=170.10.129.124; envelope-from=cohuck@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -22 X-Spam_score: -2.3 X-Spam_bar: -- X-Spam_report: (-2.3 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.152, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-arm@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-arm-bounces+qemu-arm=archiver.kernel.org@nongnu.org Sender: qemu-arm-bounces+qemu-arm=archiver.kernel.org@nongnu.org On Tue, Nov 25 2025, Eric Auger wrote: > Allows to set both array properties along with arm cpus. Their "x-" prefix > reminds that those shall be used carefully for distro specific use cases > to garantee cross kernel migration. s/garantee/enable/ ? > > This will allow to define such compat machine props like: > > static GlobalProperty arm_virt_kernel_compat_10_1[] = { > /* KVM_REG_ARM_VENDOR_HYP_BMAP_2 */ > { TYPE_ARM_CPU, "x-mig-hidden-regs", "0x6030000000160003" }, > { TYPE_ARM_CPU, "x-mig-safe-missing-regs", > /* TCR_EL1, PIRE0_EL1, PIR_EL1 */ > "0x603000000013c103, 0x603000000013c512, 0x603000000013c513" }, > } > > The first one means KVM_REG_ARM_VENDOR_HYP_BMAP_2 shall always > been hidden for machine types older than 10.1. The second one means s/been/be/ > that along with 10.1 machine type we may receive in the incoming > migration stream, 3 registers that are unknown on destination. > > Obvioulsy, using the reg index as defined in s/Obvioulsy/Obviously/ > linux/Documentation/virt/kvm/api.rst is not user friendly. However > those options, prefixed with "x-" are supposed to be used > rarely by people who know the details. "These options are supposed to be used to enable specific, rare cases, and in general, by people trying to configure distribution defaults familiar with those specific cases." ? I'm not sure whether the "x-" prefix is the right choice for "do not use unless you really know what you're doing", but OTOH, it's the prefix we have... > > Signed-off-by: Eric Auger > --- > target/arm/cpu.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/target/arm/cpu.c b/target/arm/cpu.c > index 066746d76f..c41774cb4c 100644 > --- a/target/arm/cpu.c > +++ b/target/arm/cpu.c > @@ -2248,6 +2248,11 @@ static const Property arm_cpu_properties[] = { > DEFINE_PROP_BOOL("backcompat-cntfrq", ARMCPU, backcompat_cntfrq, false), > DEFINE_PROP_BOOL("backcompat-pauth-default-use-qarma5", ARMCPU, > backcompat_pauth_default_use_qarma5, false), > + DEFINE_PROP_ARRAY("x-mig-hidden-regs", ARMCPU, > + nr_hidden_regs, hidden_regs, qdev_prop_uint64, uint64_t), > + DEFINE_PROP_ARRAY("x-mig-safe-missing-regs", ARMCPU, > + nr_mig_safe_missing_regs, mig_safe_missing_regs, > + qdev_prop_uint64, uint64_t), > }; > > static const gchar *arm_gdb_arch_name(CPUState *cs)