From nobody Sat Feb 7 07:11:50 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=1769446658; cv=none; d=zohomail.com; s=zohoarc; b=QAm6Nr4HhPLuxQPctvppCitTU6zzngbVVDruWsGIKqLleLFDlmGpOaIH3EqSF4XqKgVKz7RgR6bWSVR79rdY7NXMt7spJqrFSUYoBLpPkuR5nUoPwV4SzM9j9J7gKOqbzOZL2SrtOPc8bJHftGdqTq7ZfexeBmde+VY3oEoxxcU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769446658; 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=EmWxJn3JMuuWXhVmMA5d+S4ihw4ftUOk2KnsiACF8Iw=; b=esPCFbScIlnOxiHE0M9se+CXsxWmiE1rxlQJTuMoOwyQPkplgtcFelIuk3o2xMhM1uubhnQU1wN1u2DruQJcZTAgKOAsBvl3V93w5y9uEevBLmkBRbaJEz2X33xUE82Lpgxi9gc4Qfh3MiYLJAqjtZBX+VnHIJ6PmYh0cKrDqqE= 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 1769446658100443.0994311742296; Mon, 26 Jan 2026 08:57:38 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vkPsP-0000Og-Oo; Mon, 26 Jan 2026 11:55:45 -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 1vkPsF-0000FS-L4 for qemu-devel@nongnu.org; Mon, 26 Jan 2026 11:55:35 -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 1vkPsD-0007QI-2x for qemu-devel@nongnu.org; Mon, 26 Jan 2026 11:55:34 -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-449-UjTULw6oMcCY7SOOO3MZpg-1; Mon, 26 Jan 2026 11:55:28 -0500 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (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 9F86918002C4; Mon, 26 Jan 2026 16:55:27 +0000 (UTC) Received: from laptop.redhat.com (unknown [10.45.224.18]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id F3A051801ACC; Mon, 26 Jan 2026 16:55:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1769446532; 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=EmWxJn3JMuuWXhVmMA5d+S4ihw4ftUOk2KnsiACF8Iw=; b=h7QX3ARjrs4ZCZFJk3gjcgf8TigeYpZJEbpC53jVOxJy9XEJZSK0jMCRRKYPPdPKRuVCV3 3nJEmygxke9mdluLVP9ZoQVJekmz6FpAP3T8bAvAWPsmjcxXS8vX7/GyjhM13eCXJS6kbp 0Qsk2Kp1W19bfK3moz2wyLkWZGPSmBo= X-MC-Unique: UjTULw6oMcCY7SOOO3MZpg-1 X-Mimecast-MFC-AGG-ID: UjTULw6oMcCY7SOOO3MZpg_1769446527 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 v6 07/11] target/arm/cpu: Expose x-mig-hidden-regs and x-mig-safe-missing-regs properties Date: Mon, 26 Jan 2026 17:53:06 +0100 Message-ID: <20260126165445.3033335-8-eric.auger@redhat.com> In-Reply-To: <20260126165445.3033335-1-eric.auger@redhat.com> References: <20260126165445.3033335-1-eric.auger@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 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.129.124; envelope-from=eric.auger@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_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: 1769446661373158500 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 76d013e6c4b..c998fb5ba4d 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -2239,6 +2239,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