[{"id":3672366,"web_url":"http://patchwork.ozlabs.org/comment/3672366/","msgid":"<20260401170454.32045-5-yodel.eldar@yodel.dev>","list_archive_url":null,"date":"2026-04-01T17:04:54","subject":"[RFC NOTFORMERGE 4/4] pc-bios/palcode-clipper: Replace qemu_alarm\n with Cchip register","submitter":{"id":92094,"url":"http://patchwork.ozlabs.org/api/people/92094/","name":"Yodel Eldar","email":"yodel.eldar@yodel.dev"},"content":"From: Yodel Eldar <yodel.eldar@yodel.dev>\n\nThis commit removes the qemu_alarm function call in favor\nof a QEMU-specific, non-standard Cchip MMIO register at\noffset 0x7c0 to facilitate the move of the timer alarm from\nthe CPU to the Typhoon chipset in QEMU.\n\nPrior to this commit, modifying/stopping the timer required\ncalling a QEMU TCG helper function (helper_set_alarm) via\nmtpr of qemu_alarm in PALcode; now, writing the absolute\nalarm expiration value in nanoseconds to Cchip+0x7c0 replaces\nthat functionality.\n\nLikewise, reads of Cchip+0x7c0 return the alarm expiration\nvalue, as mfpr of qemu_alarm did in Cserve_Get_Alarm().\n\nAlso, CallPal_Ndelay() now stores the delay value in the MMIO\nregister, instead of moving to the qemu_alarm processor\nregister and triggering helper_set_alarm() in QEMU.\n\nSigned-off-by: Yodel Eldar <yodel.eldar@yodel.dev>\n---\n\nNotes:\n    This binary diff patch is not intended for direct merging;\n    the previous patch needs this change in palcode-clipper to\n    function. The source diff in the notes below are the\n    changes made to the qemu-palcode repo [1] that resulted in\n    the binary provided here for convenience.\n    \n    Richard:\n    If it's alright with you, I'll submit the diff below as a\n    PR to your qemu-palcode repo so that the resultant binary can\n    be squashed with the preceding QEMU patch that requires it.\n    Suppose the patches are approved, does that work for you?\n    \n    As mentioned in the cover letter, I intend to fold this RFC\n    series into the \"QOMify Clipper and Typhoon\" [2] series as\n    part of its v2 re-spin, so any comments/suggestions on this\n    and the patch before it would be much appreciated. WDYT\n    about replacing the synthetic processor register that\n    triggers the helper_set_alarm() TCG helper with an MMIO\n    register in the Control chip of the Typhoon?\n    \n    Instead of creating a register for each CPU, I went with\n    a single banked register at Cchip+0x7c0, because we get\n    the CPU index for free with the MemTxAttrs patch.\n    Would we rather go with ALRM{0,1,2,3} instead?\n    \n    [1] https://github.com/rth7680/qemu-palcode.git\n    [2] <20260310-qomify-alpha-v1-0-4375b00a85ff@yodel.dev>\n    \n    diff --git a/core-typhoon.h b/core-typhoon.h\n    index 96a0a90..f4f4414 100644\n    --- a/core-typhoon.h\n    +++ b/core-typhoon.h\n    @@ -58,6 +58,8 @@\n     #define TYPHOON_CCHIP_IIC2\t0x0700\n     #define TYPHOON_CCHIP_IIC3\t0x0740\n     #define TYPHOON_CCHIP_PWR\t0x0780\n    +/* QEMU-specific CPU timer alarm expiration */\n    +#define TYPHOON_CCHIP_ALRM\t0x07c0\n     #define TYPHOON_CCHIP_CMONCTLA\t0x0c00\n     #define TYPHOON_CCHIP_CMONCTLB\t0x0c40\n     #define TYPHOON_CCHIP_CMONCNT01\t0x0c80\n    diff --git a/pal.S b/pal.S\n    index 8d55a0a..7ea4080 100644\n    --- a/pal.S\n    +++ b/pal.S\n    @@ -422,9 +422,16 @@ ENDFN\tCallPal_Draina\n      */\n     \tORG_CALL_PAL_PRIV(0x03)\n     CallPal_Ndelay:\n    +\tbr\tCallPal_Ndelay_Cont\n    +ENDFN\tCallPal_Ndelay\n    +\n    +\t.text\t1\n    +\t.align\t3\n    +CallPal_Ndelay_Cont:\n     \tmfpr\tp0, qemu_vmtime\n     \taddq\tp0, a0, p0\n    -\tmtpr\tp0, qemu_alarm\n    +\tLOAD_PHYS_CCHIP\tt0\n    +\tstq_p\tp0, TYPHOON_CCHIP_ALRM(t0)\n    \n     \tmtpr\t$31, qemu_wait\n    \n    @@ -433,7 +440,8 @@ CallPal_Ndelay:\n     \tmfpr\tv0, qemu_vmtime\n     \tsubq\tp0, v0, v0\n     \thw_rei\n    -ENDFN\tCallPal_Ndelay\n    +ENDFN\tCallPal_Ndelay_Cont\n    +\t.previous\n    \n     \tORG_CALL_PAL_PRIV(0x04)\n     CallPal_OpcDec04:\n    @@ -505,8 +513,8 @@ Cserve_Get_Wall_Time:\n     \thw_rei\n     ENDFN\tCserve_Get_Wall_Time\n     Cserve_Get_Alarm:\n    -\tmfpr\tv0, qemu_alarm\n    -\thw_rei\n    +\tbr\tCserve_Get_Alarm_Cont\n    +\tnop\n     ENDFN\tCserve_Get_Alarm\n     Cserve_Set_Alarm_Rel:\n     \t// Cheating here: create the absolute time and fall thru.\n    @@ -514,8 +522,8 @@ Cserve_Set_Alarm_Rel:\n     \taddq\tp0, a1, a1\n     ENDFN\tCserve_Set_Alarm_Rel\n     Cserve_Set_Alarm_Abs:\n    -\tmtpr\ta1, qemu_alarm\n    -\thw_rei\n    +\tbr\tCserve_Set_Alarm_Abs_Cont\n    +\tnop\n     ENDFN\tCserve_Set_Alarm_Abs\n     Cserve_Get_VM_Time:\n     \tmfpr\tv0, qemu_vmtime\n    @@ -534,6 +542,18 @@ CallPal_Cserve_Cont:\n     \tbne\tv0, Cserve_Dis\n     \thw_rei\n     ENDFN\tCallPal_Cserve_Cont\n    +\n    +Cserve_Get_Alarm_Cont:\n    +\tLOAD_PHYS_CCHIP\tt0\n    +\tldq_p\tv0, TYPHOON_CCHIP_ALRM(t0)\n    +\thw_rei\n    +ENDFN\tCserve_Get_Alarm_Cont\n    +\n    +Cserve_Set_Alarm_Abs_Cont:\n    +\tLOAD_PHYS_CCHIP\tt0\n    +\tstq_p\ta1, TYPHOON_CCHIP_ALRM(t0)\n    +\thw_rei\n    +ENDFN Cserve_Set_Alarm_Abs_Cont\n     \t.previous\n    \n     /*\n    diff --git a/pal.h b/pal.h\n    index c89a18c..c37a85e 100644\n    --- a/pal.h\n    +++ b/pal.h\n    @@ -107,7 +107,6 @@\n     #define qemu_tbis\t254\n     #define qemu_wait\t253\n     #define qemu_halt\t252\n    -#define qemu_alarm\t251\n     #define qemu_walltime\t250\n     #define qemu_vmtime\t249\n\n pc-bios/palcode-clipper | Bin 153728 -> 154432 bytes\n 1 file changed, 0 insertions(+), 0 deletions(-)\n\ndiff --git a/pc-bios/palcode-clipper b/pc-bios/palcode-clipper\nindex aecb30403641e1f2acac0bfd472174d06fa1da5f..136acba625dc725f545ac91549015579eaab4552 100644\nGIT binary patch\ndelta 35340\n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\n\ndelta 34652\n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","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 secure) header.d=yodel.dev header.i=@yodel.dev header.a=rsa-sha256\n header.s=rsa2048 header.b=kmPE1djy;\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=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists.gnu.org (lists.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 4fmBFj6T5gz1yHD\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 02 Apr 2026 04:05:45 +1100 (AEDT)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1w7z0S-0000wu-LD; Wed, 01 Apr 2026 13:05:28 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1)\n (envelope-from <bounce+0e9322.97607e-qemu-devel=nongnu.org@yodel.dev>)\n id 1w7z0E-0000rO-6k\n for qemu-devel@nongnu.org; Wed, 01 Apr 2026 13:05:15 -0400","from v58.v5f06b487.use4.send.mailgun.net ([143.55.232.8])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1)\n (envelope-from <bounce+0e9322.97607e-qemu-devel=nongnu.org@yodel.dev>)\n id 1w7z08-0007tH-8H\n for qemu-devel@nongnu.org; Wed, 01 Apr 2026 13:05:13 -0400","from mail.yodel.dev (mail.yodel.dev [35.209.39.246]) by\n aaac95d988df8a5b7476f90d482c0863d3bd26acbd0c843086e3698f5097df11 with SMTP id\n 69cd503b9007a2d487a6f3c2; Wed, 01 Apr 2026 17:04:59 GMT"],"X-Mailgun-Sid":"WyI4ZDFlNiIsInFlbXUtZGV2ZWxAbm9uZ251Lm9yZyIsIjk3NjA3ZSJd","X-Mailgun-Sending-Ip":"143.55.232.8","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=yodel.dev;\n s=rsa2048; t=1775063099;\n bh=Ly9fTN+k3D2tY74fXdeNHZPUjIqbnhD+eRKUBdNZrJY=;\n h=X-Mailgun-Dkim:From:To:Cc:Subject:Date:Message-ID:In-Reply-To:\n References:MIME-Version:Content-Transfer-Encoding:From:Reply-to:\n Subject:Date:Message-id:To:Cc:Mime-version:Content-type:\n Content-transfer-encoding:In-reply-to:References;\n b=kmPE1djy/Uk6zck40ecJ+eLldRhc32BWfflpH1vpTWbPRNt+OgzQFa1uk6p/JZdeW\n rP7oFJBJEngy86BexQuEWx4QcQc8mzqpyTt5EnWkq43kcC0DWK9NnNl71oH6FnP/+P\n fmWksEqPckwgYMbqb9wX3C5qVeh2H0QOqdYJNKGwBJO/n0zEohuNvEehVkHmfEuzyu\n s0mA2LRYgrXfgAw7xaWmnq3gnjCi2kWJ7WzJauaeigxnACSDZ9B4fAj9KrDCtvJMeW\n 2EHD0IJGuUUNux4Cgt9LeUu8vrmPCVDhi7dmWs3lczjKPgyYXHW/e96nmMAM8Eh8GE\n n6r2YFVarRFGA==","X-Mailgun-Dkim":["no","no"],"From":"\"Yodel Eldar\" <yodel.eldar@yodel.dev>","To":"qemu-devel@nongnu.org","Cc":"Richard Henderson <richard.henderson@linaro.org>, =?utf-8?q?Philippe_Mat?=\n\t=?utf-8?q?hieu-Daud=C3=A9?= <philmd@linaro.org>,\n Yodel Eldar <yodel.eldar@yodel.dev>","Subject":"[RFC NOTFORMERGE 4/4] pc-bios/palcode-clipper: Replace qemu_alarm\n with Cchip register","Date":"Wed,  1 Apr 2026 12:04:54 -0500","Message-ID":"<20260401170454.32045-5-yodel.eldar@yodel.dev>","In-Reply-To":"<20260401170454.32045-1-yodel.eldar@yodel.dev>","References":"<20260401170454.32045-1-yodel.eldar@yodel.dev>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=143.55.232.8;\n envelope-from=bounce+0e9322.97607e-qemu-devel=nongnu.org@yodel.dev;\n helo=v58.v5f06b487.use4.send.mailgun.net","X-Spam_score_int":"0","X-Spam_score":"-0.1","X-Spam_bar":"/","X-Spam_report":"(-0.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 HELO_STATIC_HOST=-0.001, RCVD_IN_DNSWL_NONE=-0.0001,\n RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=1, RCVD_IN_VALIDITY_RPBL_BLOCKED=1,\n SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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"}},{"id":3672427,"web_url":"http://patchwork.ozlabs.org/comment/3672427/","msgid":"<7dfd3d44-f59a-4e28-a5f9-1250c76a5e0b@yodel.dev>","list_archive_url":null,"date":"2026-04-01T18:42:41","subject":"Re: [RFC NOTFORMERGE 4/4] pc-bios/palcode-clipper: Replace qemu_alarm\n with Cchip register","submitter":{"id":92094,"url":"http://patchwork.ozlabs.org/api/people/92094/","name":"Yodel Eldar","email":"yodel.eldar@yodel.dev"},"content":"On 01/04/2026 12:04, Yodel Eldar wrote:\n> From: Yodel Eldar <yodel.eldar@yodel.dev>\n> \n> This commit removes the qemu_alarm function call in favor\n> of a QEMU-specific, non-standard Cchip MMIO register at\n> offset 0x7c0 to facilitate the move of the timer alarm from\n> the CPU to the Typhoon chipset in QEMU.\n> \n> Prior to this commit, modifying/stopping the timer required\n> calling a QEMU TCG helper function (helper_set_alarm) via\n> mtpr of qemu_alarm in PALcode; now, writing the absolute\n> alarm expiration value in nanoseconds to Cchip+0x7c0 replaces\n> that functionality.\n> \n> Likewise, reads of Cchip+0x7c0 return the alarm expiration\n> value, as mfpr of qemu_alarm did in Cserve_Get_Alarm().\n> \n> Also, CallPal_Ndelay() now stores the delay value in the MMIO\n> register, instead of moving to the qemu_alarm processor\n> register and triggering helper_set_alarm() in QEMU.\n> \n> Signed-off-by: Yodel Eldar <yodel.eldar@yodel.dev>\n> ---\n> \n> Notes:\n>      This binary diff patch is not intended for direct merging;\n>      the previous patch needs this change in palcode-clipper to\n>      function. The source diff in the notes below are the\n>      changes made to the qemu-palcode repo [1] that resulted in\n>      the binary provided here for convenience.\n>      \n>      Richard:\n>      If it's alright with you, I'll submit the diff below as a\n>      PR to your qemu-palcode repo so that the resultant binary can\n>      be squashed with the preceding QEMU patch that requires it.\n>      Suppose the patches are approved, does that work for you?\n>      \n>      As mentioned in the cover letter, I intend to fold this RFC\n>      series into the \"QOMify Clipper and Typhoon\" [2] series as\n>      part of its v2 re-spin, so any comments/suggestions on this\n>      and the patch before it would be much appreciated. WDYT\n>      about replacing the synthetic processor register that\n>      triggers the helper_set_alarm() TCG helper with an MMIO\n>      register in the Control chip of the Typhoon?\n>      \n>      Instead of creating a register for each CPU, I went with\n>      a single banked register at Cchip+0x7c0, because we get\n>      the CPU index for free with the MemTxAttrs patch.\n>      Would we rather go with ALRM{0,1,2,3} instead?\n>      \n>      [1] https://github.com/rth7680/qemu-palcode.git\n>      [2] <20260310-qomify-alpha-v1-0-4375b00a85ff@yodel.dev>\n>      \nHere's the fork containing the commit:\n\nhttps://github.com/yodel/qemu-palcode/tree/timer-alarm\n\nThanks,\nYodel","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 secure) header.d=yodel.dev header.i=@yodel.dev header.a=rsa-sha256\n header.s=rsa2048 header.b=E4OAo32Z;\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=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists.gnu.org (lists.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 4fmH5r51rhz1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 02 Apr 2026 07:44:16 +1100 (AEDT)","from [127.0.0.1] (helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1w80dD-0007Ks-5x; Wed, 01 Apr 2026 14:49:35 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1)\n (envelope-from <bounce+0e9322.97607e-qemu-devel=nongnu.org@yodel.dev>)\n id 1w80Wl-0006fF-GH\n for qemu-devel@nongnu.org; Wed, 01 Apr 2026 14:42:55 -0400","from v512.v5f06b487.use4.send.mailgun.net ([143.55.232.12])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1)\n (envelope-from <bounce+0e9322.97607e-qemu-devel=nongnu.org@yodel.dev>)\n id 1w80Wc-0006E9-2G\n for qemu-devel@nongnu.org; Wed, 01 Apr 2026 14:42:48 -0400","from mail.yodel.dev (mail.yodel.dev [35.209.39.246]) by\n 6e40b459faa592323d58d50816f467308e417ab86562d1b75e6766351bb00b32 with SMTP id\n 69cd67232c50a55f4d29df26; Wed, 01 Apr 2026 18:42:43 GMT"],"X-Mailgun-Sid":"WyI4ZDFlNiIsInFlbXUtZGV2ZWxAbm9uZ251Lm9yZyIsIjk3NjA3ZSJd","X-Mailgun-Sending-Ip":"143.55.232.12","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=yodel.dev;\n s=rsa2048; t=1775068963;\n bh=f7xuOx7CCQh3ck5/QHaWvdRr8rR5CKidnpha9YC5A10=;\n h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:\n X-Mailgun-Dkim:From:In-Reply-To:Content-Type:\n Content-Transfer-Encoding:From:Reply-to:Subject:Date:Message-id:To:\n Cc:Mime-version:Content-type:Content-transfer-encoding:In-reply-to:\n References;\n b=E4OAo32ZSZS1JZQA8OcTLZTaP7A88JMkrBNAWtGI1eWBsgD3ajBSO2MaM1duyRQif\n 724PFPCkY+7J270QTRmP+ftt3lSScMOS5okwBb9YmYz/1FBwqPrAUWbl015hOWPkue\n hX+4BQo+YSELkpcmw+QkpeSPLXk8VgfYfDhvHncsseRdHnQ+OOUSxeGFGogtsKGQZN\n meLJjTJ5wk/MBofZaWZJ2iBQVSFqYccKUckeLJ8kEeja72RfIzGMSWaXX+PvcL54cl\n Ua/CpvCxqv1M8E70CrfV0J36OWwmkbBxK2ztUqrpcTS5wXHJ2d0KghuwspHBWrrAH2\n KDCI0Y7wiv6YQ==","Message-ID":"<7dfd3d44-f59a-4e28-a5f9-1250c76a5e0b@yodel.dev>","Date":"Wed, 1 Apr 2026 13:42:41 -0500","MIME-Version":"1.0","Subject":"Re: [RFC NOTFORMERGE 4/4] pc-bios/palcode-clipper: Replace qemu_alarm\n with Cchip register","To":"qemu-devel@nongnu.org","Cc":"Richard Henderson <richard.henderson@linaro.org>, =?utf-8?q?Philippe_Mat?=\n\t=?utf-8?q?hieu-Daud=C3=A9?= <philmd@linaro.org>","References":"<20260401170454.32045-1-yodel.eldar@yodel.dev>\n <20260401170454.32045-5-yodel.eldar@yodel.dev>","Content-Language":"en-US","X-Mailgun-Dkim":["no","no"],"From":"Yodel Eldar <yodel.eldar@yodel.dev>","Autocrypt":"addr=yodel.eldar@yodel.dev; keydata=\n xjMEZxqXdhYJKwYBBAHaRw8BAQdAkletQdG3CLyANZyuf2t7Z9PK4b6HiT+DdSPUB2mHzmPN\n I1lvZGVsIEVsZGFyIDx5b2RlbC5lbGRhckB5b2RlbC5kZXY+wpkEExYKAEECGwMFCQOcG00F\n CwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQTTzRjNQG27imap+N+V7k+3NmVNrAUCaNWASwIZ\n AQAKCRCV7k+3NmVNrNnSAPoDjQXa6v7ZzdQSaLdRfAQy/5SsUucv+zp3WAP4pXdgJQEAzMMC\n Ctx4l6b13Fs2hZdRXEnF/4BZ9t1K68nwzZOV3QnOOARnGpd2EgorBgEEAZdVAQUBAQdAKPIy\n 3W/DKFsm1e+31zoqmOY0pqz8vjIM846wM6lEY2QDAQgHwn4EGBYIACYCGwwWIQTTzRjNQG27\n imap+N+V7k+3NmVNrAUCaNWG7QUJA5wi9wAKCRCV7k+3NmVNrPusAQCQDQwETy7VT6UhHPho\n TkrQnsNqQfFU3tXqCTiViToktQD7B/U2/to97hQIJCWbK6yd3T+KPZJPMcHMg2XRyedUvgA=","In-Reply-To":"<20260401170454.32045-5-yodel.eldar@yodel.dev>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Received-SPF":"pass client-ip=143.55.232.12;\n envelope-from=bounce+0e9322.97607e-qemu-devel=nongnu.org@yodel.dev;\n helo=v512.v5f06b487.use4.send.mailgun.net","X-Spam_score_int":"0","X-Spam_score":"-0.1","X-Spam_bar":"/","X-Spam_report":"(-0.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 HELO_STATIC_HOST=-0.001, RCVD_IN_MSPIKE_H2=-0.01,\n RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=1, RCVD_IN_VALIDITY_RPBL_BLOCKED=1,\n SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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"}}]