From nobody Mon Feb 9 23:00:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1768981838; cv=none; d=zohomail.com; s=zohoarc; b=cL5jtV6yIlXR66AyhCEFyKHFHUwmPx7BcGCYJehuVJpUn82JUwMDrZZyHG4xkz80xZJU7+JZ/YzR9zT8cFY01edsGgWd7MoFHnWctktjer6y8auv7EOEAXbVzetBJV4BmCIUOauyRhYSNZtAMmSgOei6z15pTUexj8JrsLNq7QE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768981838; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=AQaL8UtBtvuIOFM3Tqxqj0ZQlm2ruMixoH3w6eLaJ6g=; b=mAHbnLwCTiKDPfFDaCR/xEXA6E/cmrMyAWE+Yc0+CeUOyOZ6n1Zfc8dn2nQ5ya7FkXTjITmBfIWLDtOskAKWMbQbUBlYVXdauutw05PL3d0hswmkHU2vBhcRUlEP7XbkO3QXq5qPFhKzIVWSlvZ59GRbVqr65UrZzq1npd78vFU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1768981838375843.718918762714; Tue, 20 Jan 2026 23:50:38 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1viSy8-00054M-Mu; Wed, 21 Jan 2026 02:49:36 -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 1viSxx-0004l4-N5 for qemu-devel@nongnu.org; Wed, 21 Jan 2026 02:49:26 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1viSxv-0003WC-S6 for qemu-devel@nongnu.org; Wed, 21 Jan 2026 02:49:25 -0500 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-318-oSgqSVMKMcub4dIeCFDXAw-1; Wed, 21 Jan 2026 02:49:18 -0500 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (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 7616D1800350; Wed, 21 Jan 2026 07:49:17 +0000 (UTC) Received: from laptop.redhat.com (unknown [10.44.32.15]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 1BC0D19560A2; Wed, 21 Jan 2026 07:49:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1768981763; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=AQaL8UtBtvuIOFM3Tqxqj0ZQlm2ruMixoH3w6eLaJ6g=; b=ASmbM2hebwR9Nb/zk4+leyl+MnM/rmsz/4+ck9lopBi1dXGorsOEEV20/qewws0R4b9+SA j/is2wuY5UMROvMYWywISzm2oK5r8p9Rf+NY+xQd/+/m1mRFmmpUcqvYDxR2dlIT7IGd/m 6mnG1vv7tT6q2ZCxAGY58yFkB0K+5oo= X-MC-Unique: oSgqSVMKMcub4dIeCFDXAw-1 X-Mimecast-MFC-AGG-ID: oSgqSVMKMcub4dIeCFDXAw_1768981757 From: Eric Auger To: eric.auger.pro@gmail.com, eric.auger@redhat.com, qemu-devel@nongnu.org, qemu-arm@nongnu.org, peter.maydell@linaro.org, cohuck@redhat.com, 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: [PATCH v5 07/11] target/arm/cpu: Expose x-mig-hidden-regs and x-mig-safe-missing-regs properties Date: Wed, 21 Jan 2026 08:46:44 +0100 Message-ID: <20260121074834.1900677-8-eric.auger@redhat.com> In-Reply-To: <20260121074834.1900677-1-eric.auger@redhat.com> References: <20260121074834.1900677-1-eric.auger@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=eric.auger@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.087, 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_H3=0.001, RCVD_IN_MSPIKE_WL=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-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1768981840293158500 Content-Type: text/plain; charset="utf-8" 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 enable cross kernel migration. This will allow to define such compat machine props like: static GlobalProperty arm_virt_kernel_compat_10_1[] =3D { /* 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 be hidden for machine types older than 10.1. The second one means that along with 10.1 machine type we may receive in the incoming migration stream, 3 registers that are unknown on destination. Obviously, using the reg index as defined in linux/Documentation/virt/kvm/api.rst is not user friendly. However 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. Signed-off-by: Eric Auger Reviewed-by: Cornelia Huck --- v3 -> v4: - typo and rewording in the commit description (Connie) --- target/arm/cpu.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 04a73254420..88a22453795 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -2249,6 +2249,11 @@ static const Property arm_cpu_properties[] =3D { 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, uint6= 4_t), + DEFINE_PROP_ARRAY("x-mig-safe-missing-regs", ARMCPU, + nr_mig_safe_missing_regs, mig_safe_missing_regs, + qdev_prop_uint64, uint64_t), }; =20 static const gchar *arm_gdb_arch_name(CPUState *cs) --=20 2.52.0