Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2228872/?format=api
{ "id": 2228872, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2228872/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260427124738.966578-37-peter.maydell@linaro.org/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/1.1/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20260427124738.966578-37-peter.maydell@linaro.org>", "date": "2026-04-27T12:47:10", "name": "[PULL,36/63] target/arm/helper: Define cpreg migration tolerance for DGBDTR_EL0", "commit_ref": null, "pull_url": null, "state": "not-applicable", "archived": false, "hash": "d6d823d5896f92f3958205fed438ea9fdd02998d", "submitter": { "id": 5111, "url": "http://patchwork.ozlabs.org/api/1.1/people/5111/?format=api", "name": "Peter Maydell", "email": "peter.maydell@linaro.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260427124738.966578-37-peter.maydell@linaro.org/mbox/", "series": [ { "id": 501642, "url": "http://patchwork.ozlabs.org/api/1.1/series/501642/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=501642", "date": "2026-04-27T12:46:34", "name": "[PULL,01/63] docs/system: add FEAT_AA32 and FEAT_AA64 to emulation list", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/501642/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2228872/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2228872/checks/", "tags": {}, "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=GdSubmyJ;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g43XZ3C1Nz1yHv\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 27 Apr 2026 22:58:38 +1000 (AEST)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wHLUR-0007Ua-J0; Mon, 27 Apr 2026 08:55:07 -0400", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <peter.maydell@linaro.org>)\n id 1wHLNw-00087D-QD\n for qemu-devel@nongnu.org; Mon, 27 Apr 2026 08:48:31 -0400", "from mail-wm1-x330.google.com ([2a00:1450:4864:20::330])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <peter.maydell@linaro.org>)\n id 1wHLNp-0005gv-KS\n for qemu-devel@nongnu.org; Mon, 27 Apr 2026 08:48:20 -0400", "by mail-wm1-x330.google.com with SMTP id\n 5b1f17b1804b1-488ad135063so93525355e9.0\n for <qemu-devel@nongnu.org>; Mon, 27 Apr 2026 05:48:14 -0700 (PDT)", "from lanath.. (wildly.archaic.org.uk. [81.2.115.145])\n by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-488ffc5e3f4sm448974115e9.2.2026.04.27.05.48.12\n for <qemu-devel@nongnu.org>\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 27 Apr 2026 05:48:12 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1777294093; x=1777898893; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:to:from:from:to:cc:subject:date:message-id\n :reply-to; bh=mCeEgVnnw2NoZfiNYPPKxzrAmF2FxXpUQF4UmPnKyWU=;\n b=GdSubmyJuBpGlKDsynr7THtmRIZB/ERVOTihBXEHh3JWzjCSK5g5f7trU5viPs0VV3\n PpjkX42CvS6wE3/v+eY8l0/TKUz2qKzbLr1hL/x6n3QRzZg9H3xt6Z89OxKe/ceE9nEa\n QydOp3sOjeIMaTrD1ToDPtYWHZ2SGbT6no5Vp1xUR0VwyZ43ufJhRwL3dh/vILDkdwK/\n vxSRZEG7mwxLzC1qGT3Yp03dIHzx2HlShmKLMeyye5sgzHAJqK1NusfbTjpArcriwJkU\n jM+/uJ2Kmq6NTCfRoMA2uB3HPgDp7YOFZBoz2L1i0kKWhUrpIs9TEjhDr7+OlAA4Wvpk\n LGZw==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777294093; x=1777898893;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to\n :cc:subject:date:message-id:reply-to;\n bh=mCeEgVnnw2NoZfiNYPPKxzrAmF2FxXpUQF4UmPnKyWU=;\n b=Xl3aQCCk0ycp/VSmsQcjNbz6DbInzXyeuuznaFpSU9MwwyZ8oAvcXM3+N+BhnFO37+\n GM1h9KTG4iakH5AW4CFFeSxboxt//oX8OOIG5QA4NMPB8d+8XDPKX/QhMMd8Nd/uT+JC\n Wwb+csnegy/6u/UdXFeLV7YvnisIGItDxdZR0SMPMDNN59HLmnnONKcy+rzGoUW0aziz\n QHqsY4X2I+8n8gqRv6Rsi5w/KodXG1TMTVfGUKDVmeII8B9tyP81Wc7442WoZb26xMuz\n arKEMYyU9xk3sxt0MCr2VF6KbMO/rtO0gZ7Z9NSrHDKaTodalrq6ENh5YlnO/BXw6bRm\n cOnA==", "X-Gm-Message-State": "AOJu0Yy1TsWEbXpIMm7nrbfJEnJSgcqmg0L+YII/i8HHTNrBbyawzQZj\n S9cAo7CvpdFuMSv0O73jO7JvLQpsjsyDJ3JtMxulBecsMzpXYL+IRtl09sdA11/JLLEhlHNyBlB\n FKkzL", "X-Gm-Gg": "AeBDiettLSp+2wxPtoGg2sl1SbeKupUp4z/xHpzpah8gZcHHBpOFWBTD19BCASE9lZ9\n uTFdnuA987jTWgvDXq3DZ0r1BBV8TjfXuHDJqHGhFKelJls/UIsgyO8loKb/iCY123gZmTumcCv\n U6Pysrg3vaD5QoA0haC+VPYnCVTGVENHi3OMTtw5eGEhiGOPkA/WYRLGVqXu4ZRO3iaxCt8D7o0\n /TA0XBXGHxv/M/IrkkEQCPXwKgiFWIvhLYvRL/zCXDOTTrWw1WKVxBJ85sFIgZGZEOA5DzrmD8s\n BLjf04iyvsJCkTOdJr81pneyOOYMS5SGsxmrjCplfwFaL+skQx2BrSCGH/Jhpp6VYllJVIx8x3z\n 5a1AvRc6L03goyJy6k7tGyysRNQ2A91ZEjuhUB96CCQ5Uy2eoq/9GlGW5q+OUJPIA6xHoa98hOA\n IhOyWnJzxk9hz8+4+NnYaKtq7n+FZpYByhQTMb4415aeLfcHrkICjVpZn6sm5FzsX5OuCqu3yh8\n 4isMGO09QFCYwxP4ygH6Na6ZG3k95CbIunllM8tCQ==", "X-Received": "by 2002:a05:600c:4f0c:b0:489:1c1f:35e6 with SMTP id\n 5b1f17b1804b1-4891c1f38c8mr512857775e9.6.1777294093277;\n Mon, 27 Apr 2026 05:48:13 -0700 (PDT)", "From": "Peter Maydell <peter.maydell@linaro.org>", "To": "qemu-devel@nongnu.org", "Subject": "[PULL 36/63] target/arm/helper: Define cpreg migration tolerance for\n DGBDTR_EL0", "Date": "Mon, 27 Apr 2026 13:47:10 +0100", "Message-ID": "<20260427124738.966578-37-peter.maydell@linaro.org>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20260427124738.966578-1-peter.maydell@linaro.org>", "References": "<20260427124738.966578-1-peter.maydell@linaro.org>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Received-SPF": "pass client-ip=2a00:1450:4864:20::330;\n envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x330.google.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, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n 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 <qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org" }, "content": "From: Eric Auger <eric.auger@redhat.com>\n\nWe want to remove AArch32 DBGDTRTX which was erroneously exposed.\nThis was attempted by 655659a74a36b (\"target/arm: Correct encoding\nof Debug Communications Channel registers\") but it was discovered\nthat the removal of this debug register broke forward migration on\nTCG. Now we have the cpreg migration tolerance infrastructure, we\ncan declare one for the DBGDTRTX. This allow to revert the reinstate\npatch.\n\nSigned-off-by: Eric Auger <eric.auger@redhat.com>\nReviewed-by: Sebastian Ott <sebott@redhat.com>\nReviewed-by: Peter Maydell <peter.maydell@linaro.org>\nMessage-id: 20260420140552.104369-7-eric.auger@redhat.com\n[PMM: revised comment, included note about when we can drop\n the workaround]\nSigned-off-by: Peter Maydell <peter.maydell@linaro.org>\n---\n target/arm/helper.c | 23 +++++++++++++++++++++++\n 1 file changed, 23 insertions(+)", "diff": "diff --git a/target/arm/helper.c b/target/arm/helper.c\nindex 3ac88078aa..ccd6353190 100644\n--- a/target/arm/helper.c\n+++ b/target/arm/helper.c\n@@ -6349,9 +6349,32 @@ void register_cp_regs_for_features(ARMCPU *cpu)\n .fgt = FGT_CLIDR_EL1,\n .resetvalue = GET_IDREG(isar, CLIDR)\n };\n+ uint64_t dbgtr_el0_kvmidx =\n+ cpreg_to_kvm_id(ENCODE_CP_REG(14, 0, 1, 0, 5, 3, 0));\n+\n define_one_arm_cp_reg(cpu, &clidr);\n define_arm_cp_regs(cpu, v7_cp_reginfo);\n define_debug_regs(cpu);\n+ /*\n+ * We used to incorrectly expose a non-existent AArch32 \"DBGDTRTX\"\n+ * register with this encoding. This has been fixed by commit\n+ * 655659a74a36 (\"target/arm: Correct encoding of Debug\n+ * Communications Channel registers\") by the introduction of correct\n+ * separate cpreg definitions for AA64 and AA32 versions. However,\n+ * the old cpreg definition couldn't be removed without breaking\n+ * migration, so commit 4f2b82f604 reinstated the bogus encoding\n+ * for migration data only.\n+ *\n+ * Now that we have migration tolerance infrastructure, we can use\n+ * this to allow forward migration from the buggy QEMU versions,\n+ * accepting and ignoring the bogus register if it is in the\n+ * source data. QEMU 11.0 was the last version that sent the\n+ * bogus encoding, so this workaround can be removed at the point\n+ * where we no longer care about migration from that version\n+ * (i.e. when we remove the \"virt-11.0\" machine type).\n+ */\n+ arm_register_cpreg_mig_tolerance(cpu, dbgtr_el0_kvmidx,\n+ 0, 0, ToleranceNotOnBothEnds);\n } else {\n define_arm_cp_regs(cpu, not_v7_cp_reginfo);\n }\n", "prefixes": [ "PULL", "36/63" ] }