From nobody Sat May 30 17:44:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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=gmx.de ARC-Seal: i=1; a=rsa-sha256; t=1780091594; cv=none; d=zohomail.com; s=zohoarc; b=coMqUNyOQa+l0sv3UkpkPTz6MnVYoa+YdjGf0+Vdj+7Y7blJo41CQzW2fLidWscPO6Vuk1CxxrsAjFhPhdm3UYdehvFcFLvEjyT9NvREZjxxRwtdmGVKHwmO5AnOw7SkdedU+x/KyejU2DGmPyQh1WtUGqb0nHZIcZxY2eipZQk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780091594; h=Content-Transfer-Encoding:Cc:Cc: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; bh=arHu2vPzOJK4EjB5mG+HarlYnmZ50qWksR9QmMZvlpQ=; b=gPmyIZnPna6NYgawQF3i4aqo3iN3JcD334QSr70kuK+9I6LkemBvUkQNuA28NDZdCYBbaJAxXSRajJ5wAXsGiUHGfEY11U7kVO/Me7xckgPlHd8T27foKtu/bTDSsyXvwE2sfaGWMQvqvm0iLnIHyqe8PQTliSYqaQ6fL/kdILU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178009159489842.61291822365149; Fri, 29 May 2026 14:53:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wT57l-0006E9-EA; Fri, 29 May 2026 17:52:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57f-00069p-Hd; Fri, 29 May 2026 17:52:08 -0400 Received: from mout.gmx.net ([212.227.17.22]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57d-0007ac-CR; Fri, 29 May 2026 17:52:06 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MIdeX-1wYufL2VW9-00CFgU; Fri, 29 May 2026 23:51:34 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780091495; x=1780696295; i=deller@gmx.de; bh=arHu2vPzOJK4EjB5mG+HarlYnmZ50qWksR9QmMZvlpQ=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=cPFMsrkg/ByVbG1z0HTN8bqlLHezoDXN+VyeA4p/K+ztgu7G1exE6jrJTir83rmr w+GYcf5OOqhnz9TBlKkoO9PLeG09tk/BoWtZCbtN1iAOfDk/IZz0FqZYkmevcgXRZ ZAAkdUJlfHZiDBpwAjoau/cezEg8b2jV/xnf53RvMBg3xUgtMx601BI9nL+zNHeu3 2CQ60OYxN2GGdjf2AiWT/UxBSSsWZS1MyALYyoRudwlNY9rrxn08sY5LYHuuEaahZ WKZBGyMGmJoqWHc4M8aXqKtdVY0LUknAVNkB3k3Lm+VTx59PL4Iwx9PtrRwlLexu1 dGZ+VLs1X5FPScyF7A== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Ilya Leoshkevich , Laurent Vivier , Richard Henderson , Cornelia Huck , David Hildenbrand , qemu-s390x@nongnu.org, Eric Farman , Aurelien Jarno , Matthew Rosato , Helge Deller , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yoshinori Sato , Pierrick Bouvier , Aleksandar Rikalo , Matt Turner , qemu-stable@nongnu.org Subject: [PULL v3 01/10] linux-user/ppc: restore fp_status from FPSCR on sigreturn Date: Fri, 29 May 2026 23:51:10 +0200 Message-ID: <20260529215119.73244-2-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529215119.73244-1-deller@gmx.de> References: <20260529215119.73244-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:/stq796Y+IuQ6HW10CT39UfCPfQidYLxhKtLaHYfZksbN05eQKJ +/RneQWHxwJaEdipvw6N/LUXe6XrQ63WmzAsX7wcxhGx+cB9ptQY5m4sd8JLdNQ2G+f54R8 KOZaGaCS2lw3/dqXErfUG2TjZYeZDWINT31jNsWMY4X4/n6m9i2jjyuj15AS1EVsgSnEgLn 5hm9UFXvh6l2nfNWqX67w== UI-OutboundReport: notjunk:1;M01:P0:ppwC5E++3zE=;3dCuHpWdoEY06n/Oq4fGJVO5cN0 StNdWOB7eTsHPp98fPMygVEmGSWQUPc640l7C0r0Zx8usCwSScXWwJoePnR1gSsiw7KV2Z6Vk qGC/euly01HcUehf9IkadDcw2PWPyg8WGKYfOcFYefsTa53v9GQYHFGyRanpFOT7kAIzQF5hg PHmKaaa2sZ28g8b4nFtL7ppSwWSwzgf9EracTh+8PyqlDSn3XdsNORYiMCZnPnfZhTX9UK1fs 5VIu1ugB/tghHYq4aALqTMazRQETkvHc/3LY5M3GzahcZBGAnQTFu0p34yBprkrpi6Bwiinc8 cWIy6Jj+aOG4zue4DnTzvL52coeWxshB0INblTXnZPGOe37xSBEh8Byswa9GuGQxmIBBfhypq 6Q6SDUuO9JjFpRMt5h5uRIp1q2MXTKv+CcREFGbuKycfdWyoUcz33nuLU3Wdr/G3aqb209Txs F8uKAEQCwn2/IFUiaRBnWk3iQawI91ieIcMxBaI74WuXr8thT9rbQ9i6txIWOiFrzM47mb8jW rmqix4dsKQbj0YF5Vidis62X9AUUpwATRuF45nRce2uxch8nxtNKGPIPmlQCjYFUGwcDxoysg Q2mOCc1Hi+H7Gt4uGz36hyOitQaUqPUhJxFOOPKf6sdrL5JrmJdS+hwU2OvLcgGwdJ4G2klXg QGzCJsbPxQOUhs15CN46kYpjkvEWx0N7yg3VvPEbPb/+j/De92m3hogHHNV+iyLHtubryS4aZ qSs23Ajr4lZLh7OGmqYn0TWNmnjSYeVTNHTwdO6aZ/AipGfpdP6Ra+iPIyelleunTRqoU6W24 zF8yLkLKgfg8EgvhUJOdavgHUUZ4BnUfXCigttAkAaagLPYwzk/4tTxBWga12Y5xxTRIsjK00 tyM02or8ZBaVPjxrSSRfOUjrj0neU4CFDJtDKZwY9EfNzPZWbvVQCfBb7W7NBXdCcIvRJD4qC xi4yrm3CU+WHuUzJ5nJb6qyTqa3jHaTf+n8opsssgjbhn0mtKd2gcc+HHnRh7xRZ2iV9YfXYg UFa82v6amOoBf2myvDpw92kCq4nreAWgD6WnkKoYLoomuFoklNZQep+eb+zKAjEqvwtpKmRUs LeWX3G0TAG5Ux3fZBPhwPJWd2i1HQ2HisjHyjYSrloFRMletXyWArwntAB3K9fAULv9Up0zix JmZwcdYyKxMFk/BEciONtHzslswwU7494VlEMebrkLINnTAOaiQZSa84GNIm0rC4Qc0KhHhwp ut9/82+rmhWT/qwHzS7TlQKfwFBoIO3VrTyko1QP06ahuq9u8BM3yhfrXZX1WXvTWl3l4QbaI Hvgbs7xVDamR64asyWvnLJSNW3dG98m+fo4p1ISUHpVcvC0ZrvLRU+xU09T+8Q64pVbmMu6S2 TJa/AKV/4MtkS5ijsI/NHYERuWbnPfArWRykPnrtAjz0bleod7EizmNI8Nrd4QnFL6k1wwEkd Tr6xFIhKfB5QyDuQB0LHQVE4X2NJ0R4EulziKdEZED8YmphC/NEjP0UlOFDHJcS+wjMMJxzjy ibye1+IT6R680j3UcvyOHodxsfGB5eNz3ia0Md3eHWUyG4p9SY4pf+IlsI+bbnOBhXO/OsaQ0 nPvfoTWvSdcnSmeziemH1wgwd2AEdZw+g/IIjWfHPx8XX3CM1bL6hccJSVKvJKwSaEwK0BO4e 7V2A25P1ZF4j8lUi61uyxKYbMUSjQtDRqneQT9cerjb2m4o2qwnl/p6R0L4AwPlLSdzQ7LZl1 FayU0osZhxqomjnEeBmKt8olWhmvRd2QBYBW4i8auoJBnESsSGEMtwTHbhJJKj5Y/yTIQTBtN nA6jwc4orOL99x2wJKCFItkHrr8UBnwzmGXEm7XrQX+Xc/6b/TycUs3b8XXVPyzPHY48KOtMl p3v/dG3rh/KeeIk2j/Ace9lMatOGHyGR5YeXABHUmf9y+WqNyfJ9s764h8gL+zNTCNOdJjrZR eq9O1Ba1uURLDbHjdWGn5+3YnLjhbRZKKEyhTDnfRUu8OEvnpgObcqE0VTJJMg5H1WTE7AxjO CAZ3Ude1RfHfBnZ6CRM5q+wOTG4gOaoi38pbHcKEttpkF4LV0ifraFYPf506zUk5Iz+tihlW9 gpAfU/0AWnSLxCOEb1l6MYx/n11KP/WNpPNJssCmERHGtYbQq1nRr84FmrP9WZwSUHGYsX2Iz uRIv14d/4SlOesrla0umKzkDVbG5384k/6+kgA5nz2BlY3Ih3TCelI9Me+7VPlojZGyRs+IZj aYyDtouiK2Abx5k26nhfaidJ4GqJfdXJLECGDA7GeUk/1weD2Eh68ohN1M+JSTDANQq45UY3O 78R1MbsFDk5nE3ux6mcgAnJv+BvJsK5WX1eC6vIheduE9cDucEbUjx08ABAD4xaXR+7nX9NOY 3yyMJyW3WeCR0mkaKzRYC+PTS8tR7nYkys9Zi9cknb1tx9qyj021bUwVdMkwPfUzugX1scN9y EoDxW4yvSnuE60bNhOZakgrfQqTMvk3lRkXkp8nZwoD6RzKIvtRZBL/fWu2BWG3uyApgp9z68 kZl7q/gY+jCLmxIvqV6dYGzQx8d96c3JOHTu4nKGnse+Sgdtj2y8/rTKZegfZz8pISf0v13nC V3Z7sRMRi43kU2cjmjvCPBDCkMnuFZlLnmekDWEWGg1hM8FeuOYKx38CJWnNx5/cFM95B4dVK TdMHvD1LWDeFBY2ccFdrkJ5Hf2+YzM3z1P4aASPMtGHUmw2o5QcDG4bGnmL05CBavueYK/pwR 87aAFdyFYdXlr9c+CiM1vtHsfAeTgD1ZmkTarNS5q++R3EwOeryE0NQWtWSMUvz/DHj702AjG ixgHoncQsHFvG5BDVwI3KerABaGKpl3Jdo0VFdp3gD0V81DZMLKd0ob04v06XVAp7+mFBaBP5 +a3ct3FwwAfN/cKtv4GxLVOcPzSYPy1Ss4GASlUyHITOyvVSZBHt+9O8az5U5Xxoq1sgNjZsN Imz1ZW7ikpNAw/wruLbVfxnHvA5t5+Zphau29MMzA14qKhxqdWXBRh4Pyu63buyl+hj7GFTjK GEHkjb3TPqV2QtUBfixpAbaA0eKOXj3stk5hY/cZSZtWYqEj7moXQ0oH8jEgjYftge0FrZ29R H1isD6xounRViLQ60J680bD/pVo58/Boh1+SMT99QygHsfes3GKhBFgJ6zasUiVcTzyCn/fzR WtPGTFgy+qf3mFPYMmQZNIUsbKHhg0aUzGHgJK0+1J+rxeRo8dSE0pVxLTn7EUw4oS4gbBzId 0+UFzVIiOO5F5Ee+m4zr78F/yjWs8e6y2uBq8rJwpM7ps0M9pMMJBRHo3CXXmZfGdtlSzL6w8 +Op/Mz95RpNaJcDquhez56RIoRUsXB1h9QPaFaCvAH8lgjeO5H5JgR3zqDAL+xteNezXJEF8R huVOUHuAYyuMC6MmynycwdTwKel3Yt5cMu2v9e8arh6Z1MKXMkSlpOG0KRdJQAujtIq42/XVN xyTAch/seJSoPhFy0L4eBeyX8xJhRzePaioQGdIaXiJm9REnyDO10rQHOGcqp09otLAzUDBe7 sGSPourbCxbCMjzITYp5EJvO4HQg5w3Otj0v5LaOZgJZqj0O0F56qPa1GKbFCQr+Be2MJjg/U DGZx5tUYtBU0UjqFCMW3IUbZ0GadHbf80lIFWxufDxRga+hI3QwWVMQCjdLpvhuA6W9ZLbb0a 18oXGEkn4Ep1TckCcd19FbufX04UUOXZ8qyanh9DTfydOzDgONAutQNCQXtNPCs+a8R/RKL0J 0ap7El50unNaegdGvJVVikBaOtgJ5Lc0hxojHSCBugD9qu9Nr2c4As1s0BUjphDqxpAHJaNCp quNx5ySI4RUi9+jghHbjvH+xrzYqJ0L80TRqnhUw7bkd84xdS5MTUFLQXyWWQ4pTL6rybKQrl MaYxu7LERGLhY+4EPIE/a06FVWko2Jo94f01PbaRjwgCmI7AzQPbVxQ1p6iVwz5yCmmnKUzJl kAqmyMAFzu+criAG8rI0b2EHIw9q4GL5XhCvxYPHgRUt8Qft8VSbR5k6GNaTZMSMGWRtS+I1L rfPs004LnN0SPtjyHlPkqjKFovQCUq7ruNd+oHQuXn8oixjCtOO6vU8dumnfS1Onaj1lTGH7Q sPoE3eZpf/uNekf/WrGT3OqBdiYEI8Gvfncvoiefsw6mB5PpSHFoYcyvTZbiOMd6AYYHVfU6y tAUeC2kjGcHuwEh0szOmBeSyEXoqOwnUwV+7Qfi/eybHNY9/hpD1uPKkc86cqhybZmibun7rw kSls7DwSgKvYe4EM/Wrov42zPwdR6ryy+0wK3jklRhDzRbfnr0tmgatCaiTk5scUUAlfOdwe+ ckaY+RwZmd2T4F2/aTYz2XGHoz9tQZ636hzpeeM7d83GTeyHah9RjAKad7Or4T2TXopH34zsh zhydvn6rhZjZgafQc2qVEoA82bSWx8xJZTr6LzSSnyuwMII+aqEHN0H5zmKLMnhwrkxWiGZ65 W8P5pBfW94G7qmLGKYmihudBdpGmSy4zs6zjg0T5kpttBLpodYht81dyagZ8ueoj8xIqB7pKy Zpb4MtsZloBooK0nmZY75x1v5idSw/9Vh3Nt712SuAR02GPx2WctlOZeJs7qb0qOAEPq5uAbo 23S6z4+kGKwabSN1czKfQ2xtDv0jcB4iVHG6F8Y4JvUFRcIHrUCPufmt5m/MDeBWcZl+f4+El Hg9JplB7s2/9oJa/Apw4E5kNc9t9+g5bzCPmhscCfMIcbQbs0n102eE8O3px36z+B1XZFwseJ 2D+YntNMLoyFoNZIiGnaOD7xiYfug/4891lq2LtmxVE6mq5v+QCKDdfa5h0L5thdLOCJW6SeT 8hVLtd1zMVEbqDwJq2ffRu47sSXT+qpqkVNlT8TyRcu86FyHcfLJFysls9brkjbYJ+w64EFP2 QBAgaN4KLsFPLNU47QJSWwifrLmf0ocYoS4Rfu5uHiEIBtuA7HEieFWjHO2YfThOVbv+Jvo9r j4DcIGYDN2Offv3kCdheYlqibFQrkEorExWa805VPYybkN0KneEGO4/0r0+IsLih9ygr8Aev2 kFXRJEIe/ya7iuqys9nOm510k81VPuD8tPRhqXq9aZji51FLG1yK0R9t07/x0u4vIz+mFE3YV SUwvY53+eRsBjmmNF946CbDKoUF2YzL9ylT3f9lqsfuXWWHzrUNaufCc55RkctLCj6dThFuLF aFpz4xtZ5BtH5GwTNxnY1tteStksYG0yK6+pFkrv1NcHTJNP5xXGrRypo9T1MWp4f2hucAHls Y2ou141xvMPWUsXKheCnszJPdK8paqXF0ZO/8A5YK6Q1/xF29pWgnQ9200orKeLNw4Bshk/Fx hHdGjFW2LIuIEUX5U9K/E9z0yTVOhNiySortvQ5tthAyYsb/IBADPpKH0LVXyPpC6+EUdgeZM xFihNQr7sQoJRATSST3ryHA75vIcGoLUFtPPRpoe3CDnW8iVEES6F5kunVQpWpohUnFEq7waY y2ZJO79tK+i+J0bpgF0Q1tawWXlPCgWddry7ujQv7berzfRGoG/SgWi+moce40yAcrz5VxI1p DEUVJ1Lr35PHmz3jzA/TCNnxJZRinrDnkeUFpHTzaCt6H4/Fpny62+f56MrFZn3onYdTQLArO oGHczO8K1DbmzgguGk= 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=lists1p.gnu.org; Received-SPF: pass client-ip=212.227.17.22; envelope-from=deller@gmx.de; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=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 deller@gmx.de) X-ZM-MESSAGEID: 1780091596312154100 Content-Type: text/plain; charset="utf-8" From: Matt Turner restore_user_regs() restores the PPC FPSCR with a direct assignment: env->fpscr =3D (uint32_t) fpscr; ppc_store_fpscr() exists precisely to write FPSCR and keep the derived env->fp_status in sync: it calls fpscr_set_rounding_mode() to update the softfloat rounding mode, and set_float_rebias_overflow/underflow() to reflect the FP_OE/FP_UE enable bits. The direct assignment bypasses all of this. On sigreturn, interrupted code resumes with whatever rounding mode and overflow/underflow-rebias state the signal handler last installed in fp_status, rather than the state that was saved at signal delivery. Replace the direct assign with ppc_store_fpscr(). The FPSCR_MTFS_MASK applied inside ppc_store_fpscr() only excludes the computed FP_FEX and FP_VX bits, which it re-derives correctly from the exception and enable bits in the restored value. Fixes: bcd4933a23 ("linux-user: ppc signal handling") Cc: qemu-stable@nongnu.org Reviewed-by: Richard Henderson Signed-off-by: Matt Turner Signed-off-by: Helge Deller --- linux-user/ppc/signal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-user/ppc/signal.c b/linux-user/ppc/signal.c index a9c10e0987..ab1afea30a 100644 --- a/linux-user/ppc/signal.c +++ b/linux-user/ppc/signal.c @@ -420,7 +420,7 @@ static void restore_user_regs(CPUPPCState *env, __get_user(*fpr, &frame->mc_fregs[i]); } __get_user(fpscr, &frame->mc_fregs[32]); - env->fpscr =3D (uint32_t) fpscr; + ppc_store_fpscr(env, (uint32_t) fpscr); } =20 #if !defined(TARGET_PPC64) --=20 2.54.0 From nobody Sat May 30 17:44:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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=gmx.de ARC-Seal: i=1; a=rsa-sha256; t=1780091632; cv=none; d=zohomail.com; s=zohoarc; b=kIBjpq671/EJbbMYPM9Fr63Mqp3S6Ll/GBQXsldyU7z6k6QvypxtkbgHczlk9rvbKRm+uaJGpM2c5tHABYiaofxIbaB8ynzg56f71ux1gHm5PQ4PUBm48WQO1ZNbYO0yjDB3JNnODZhUzOjCsWKmRQVVtMgmHduSsiN2MGwCgVg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780091632; h=Content-Transfer-Encoding:Cc:Cc: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; bh=PVa3lEqa3sR5wLAKVwNAtEMeTXZdD91sxqfReCXvHL0=; b=RNh+d1jLjZWJcFxdkDObFIqw0OTxryyIZ1y+StvzZBDsq8Db3xRVwuH1xX8LoF6Q1+Q9ycIYIjSqQzHMj2+md4M0VetQCCyHqKfC3berGU7HGkHw3iXDvnYu2f41Xz7UUjQ7i8rqA1f6tBL6Cx48aUt+kkBkZLoY7PkNaMUNUw0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1780091632424892.880055241762; Fri, 29 May 2026 14:53:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wT57K-0005zr-8P; Fri, 29 May 2026 17:51:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57I-0005yS-EJ; Fri, 29 May 2026 17:51:44 -0400 Received: from mout.gmx.net ([212.227.17.21]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57G-0007TZ-HX; Fri, 29 May 2026 17:51:44 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mlw3X-1xAyVP3DAR-00pAo4; Fri, 29 May 2026 23:51:37 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780091497; x=1780696297; i=deller@gmx.de; bh=PVa3lEqa3sR5wLAKVwNAtEMeTXZdD91sxqfReCXvHL0=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=iSAr62t2ZaGlAEgw5c68PHz1K59Lu1sg2F4PllpzK9F9uRwWDGQrrhixI1gQrOPu IYljvIdMzm6pzlDiuSop+kB0E3GTn6PF4hpdezaZu+E2VvCqdb05+0oFb3ooDyERG Qbup5UPimYM/N8x/SKfsAwi92dyZIm8CnXLKhDrmyc+ReRsRPhSj7DmOLucCf9yrK bLsfHYDfyg/89Jgv5gx392FGGbelIVX+f0Xy76DBezOu2VRwkeTgSaROGdzNWrPJd MwrKZJg8FRsq4scknFoGQ5zxWXTbf5SjnsROwX/aaMERPRoCk9AKWda3GUnMglMXO fC6Gv21JNufBNpVSAg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Ilya Leoshkevich , Laurent Vivier , Richard Henderson , Cornelia Huck , David Hildenbrand , qemu-s390x@nongnu.org, Eric Farman , Aurelien Jarno , Matthew Rosato , Helge Deller , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yoshinori Sato , Pierrick Bouvier , Aleksandar Rikalo , Matt Turner , qemu-stable@nongnu.org Subject: [PULL v3 02/10] linux-user/mips: save/restore FCSR across signal delivery Date: Fri, 29 May 2026 23:51:11 +0200 Message-ID: <20260529215119.73244-3-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529215119.73244-1-deller@gmx.de> References: <20260529215119.73244-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:MLyC3gnuq3R+cNFJHolS0RoX1WPnDszarHGof0z9Q4innE4/hpS qmuOn/PlaXYQrSClNhD+ami5B27z0YtzJjJKztTv+o41RbYpjVk/r2j4rIlwQS5HXH27UtG it3BWn2cGirI++i0xQG2eDke/79zxG+Q9rI9qoB82YElVKJ6AEyVbUXdrTJfmBJCD5SS7eY f8UBmSNsvrXfqnic6fLQw== UI-OutboundReport: notjunk:1;M01:P0:+TXx7BchHvk=;tXv1xnLL5U4CaCMz8CDSHwrzyJK fTQrtxx6ahLGVpm2AZ3ag72NmLW75+L1sD5H0NlXkCMoCZ8f6tEo4mySt7hKQ/BVRNfTRDQUj 9XQDiHfRuKqWrON2NpJmxZ7279W+oVdnm9PoakuFZLLWdYPdxv+CnFtEKQrne4mYVpMfP5PcE +JB3E5uEQ+v3mfdODIFjwM3seQErAxlnF4DPgXXFnHNZjYDS4Kqpd4wGSK/ySVqd0L9VbgF9m zM4aRvFyDsfpN991faQxG9KS9GvlJ4tRmz8MfAXBQ60Bb8QsDa0gu+tf7XElm+1eLo2APCHI7 YOpt+69SlRrxOJaNOquuXvO1MasethMAaxJh+AZycV7kwtZOKBsqp89QDhTdNZG7+lijy5yLx BLvDkpTVHazNDe6tSK8vpAEd61iWKjyevzwlMC7AJnG58OEJYM6SGR7l/8R3lHSa4jW+kWP/e jzGVC7MzXDKWLlccHysO4qBURctTpwXkfs+3J+EmoE3DU7ajJiCJJxgrYHmIJLWVnhABMxQFH IG5kMUwqRjG4LUMY+2Wb1OK9vs3kv5jHV8GxrxlFuRT4wxqLPQHp21hsjkoY/mNf26sZSd7Yd sALOsL4IRtMj99RwR0F4f7YkaEzy1Y93KdmqlShjeILp7T3LvPANr6w+VHdoBIrIBEAPIIf2D RdWVCyTc9aYTny4Y5W6BukNE4E0TJYdc1MLaRUsnb77Ee1FU202dcmzw5MPOQXSNNUl1GoJsj CSrCSnAixrM0LfA8dFhXO2Qu09OwripXSzYvSH3EXJ0PjvLhoiv3sw3ygRoiMbOweBjPPBd+K D/vSo+grHVFMsm6bwpmG68taXR8D9t3GR+Z2dYrCnjCQJmyGCBoaXcV0GFBX1UZiLBu8UYoxn I7AjEB5yu8tHEfYhMgupz7Fep6JIOk9eTUmoCpOjwXx3V2+lY49hZbUGheSe3S+BhNfiWiyz4 ibyTvJUIVgV6edj5GDW0vzcNjXuEmlYpV0BaouvpAK0mfAP+Qc3mZFumyYCQ9IkHyBKm999OL AatCkx/OgbzdwDsFqq9Jd8E9wHvGTgRPKSasatNf7r59nsBjlHfPuHdbLiHF0pR2ZEuV762M1 r0MM975ZkdQH2+/kecxx+zd1Ycl+8LBeYNDI2D1qjTvSQ5Kt/82LU+DzxSV8urhn3B2Ju/by6 cYhzQqgI65cNmNU+dhvXtcycIGK1oyqRBvi96Ltz6bkY/J8BR0B7ts4HAuvqcfEZg5oj5hCz9 4yAqe249u7fInol4zGlt10mzuo75vQEveUhyy9lP6u3vrFktWt6v74jP9m+lvxPI42m04/bC9 U3kA6BhnK5KS0wyqSV0TpkTvvhO4vHKRv2ZDSL1Os8pvg6drvoVEvLkGx+vGVJ57D81UZ0mN3 k98IxUvm5hpnN/+emwe3s6Xtcc3SmkIHBbYQYa4t+PB0rAyq8w086CGHa39XGr7oVVWHIFCyk znL/H4GoTC/qaR5ZtfuvaKg+fLZvpDroNB4fBgVe68nopZe/pZFgfLWoOd8JIw1lSe8+ECp1d Q0RizG9Q/CgydZwQeijTPH+X45lK0iT2/nnkmFpqotanWkQRDCt72gjNP0udUG5AMD+T2wXT7 T5XWRmt4f6JQUDZ5QlCxkP7YPiCSwW0wMitIvxQ+YmEhtLzzTXGHF6ZDnSLKPbrQBaiABekFv dhgEmgMkDlfdpQyOYZPYaAcX9vBA6e59sUHV4F+y0UOL97nJvI64wvHzBEF4ODKB02K4mFOsF Hldlsf8kPc7KftzeR8Fxt50EUSIkGA3gVPQ2+6DOyUchxqnBYniMKTY6/Z5H0sBpFAW4ekiks 3hhfenYx1fIjLxcm5CMEFjoCHvWAZBF5y0uuGeM6SkLkgz4ZdV+WESPvQntw9yN9JuSFwc24Y U/yvneDXwpd8YUEvTjeHk3vf9Idueyy9/J4b10glHpMkt8GW8Odvvrr7Mi6TfGfUmA+C6ADC8 N67TWItvRAP1dNOkzdmKd0ppfN3agY6H1mKQFlKPeZ/7jVNuLKzJ4+E9vJXTmAssxLB6lEiP9 P+Zopc+JyLd1RgybbRkH5mCXi2kbYYYE21C3HbNiP/ryNxYeG9OTnTJNI2+U8YZSqNd4AbKjR /ILMZtvHotuw+FFI5Z1uFhtSiAATX0FaA5khY3l+eBzcxU9sDW3dknoeqyC/npP/Ops/RUfnd 6R6gMneVdKzdsXQGj8Xj6I96cextjIRYbHJJoatbvrahzqBmiL/r1vpdnL38uIHIj8EFz0uLP KvgpM0sWJVMxdh7evIaGMrk9Z+13PR2bOiCgQ4osGiVvsBEMRldISAYqljL2aa7sb7yWD3pmw KjKEQPyeJgEyDowg6qloC63XPVb7VBoXAnqha4Vk5dlFnYZDYwRJHmTg7eEQaSvF0WTOrLQpz MrdqS8OEbR4Cmv9wIM4O/c4yMomSe3dFVRYCWCkNqC+dWzoKFyg1EKnTNxVLmAeVshxPsF5NZ nX/4lUBm+YalrOi09xYj5+ogOAY85lpG80KHUe0YYSenu5gRY9T+kTm49yx1KmW/MLzSSz6Hb abzBiARqgcMydSqwLKaHWNLZj+nUAjAnavB/JCrpbEi4g7wR7thGV9WGyheO3LoOb1iEGFOnv HdSH0yTmQkLYbku/Kedl+fLbY7aTU9N7qTyxaH+E9X6m/7emMho6mGwDcbmAwakdns5628STM nZZZh5vAiRhFOvcQ4E0L/yQZnwN4HNKMr4ndxeHO/WiwEcal4w7JMv7jl8JjLBq2dNco5H0qT 7X8xh8Xz7ih2GuOlmkJg4qtvsXThxUwvbIaiSRYXAsV2WB5awWXI5kZOGowY8xgX1wJ54hjow /3RT+Tvj2AUqH+ZtEXKlSDOwbqeWI4YRItnsXu/LQ/lsBgbtl/qB7wUQaZNaqABrC9LdrTzLq r6jI75vUeMwhbUxKnX84yOQxoioNC7VS2lxdycLrW84+oUKbYIfIhhhU95QtqkYVJyS3hCDSw wvbOvx35UcyUMSiba+8RstETSHRiDLzJUdE78zMcgKcKZ2mgFiPzQTvCPII6gBQT+9UzM6QWh A5PK3dhcMggReb6ZXVHAQ0LkkRAg0pVkGrOiAFOjNh/EDTx9HTr/uU/D8cYOCWq4iq0uR1wWG 0nqTT19QwikVF6Xf/ci3CT19wnbRPtrw8fclLCVcMaib40UbQpTP2fqf0O4f1bcPeQILURIbr 1ulp1i6gB+rjG5o+FkWgahNjdHVQ6yP2qlXM1lr4gpNZaydSTiLm80g0hm+5FduXD5TmNR0ct Y0As1QKCbfKy7zMf0yZJD0x+AhZbyhSKduYZQJsfaw64APWlq2kJkJRe6o0PvX0TJEfwH1Yun /E1USel8ExiRIuEGhjoKOJrOXhmfKIS+BuR7doMnMvzNaEOlQwWoREfD9jqvi97EpoLIO0W1t fj3gOUN20aEpo2JGaE2totdCJ/+kXc7hAREa0VFTBPaTgfhLjq2nyM4n3XmIZPaRkL5K0d3gT uSm4aH3nM4rTyQ6VTQOIY5NOZlhVlm2rOJXftIZ0hR7+ZllpJyCfjG08Kg/uOTGIVgjwFJ15m bH94H9WfVBTeJq9K1Y4CTmOFATncoEWwC/iExljHMbtSY/sLfz3Chk9LyQYYmeSsG2OT1cEwR HhSm+CuL+d82+K/9gu8tsiqJLF/ZQVxOw/DjU43swl4lXSipHzUAmpCQu8Mji80nImma10MVX yu9OxAkOkg7Vgmt4gnUkNGms3l2sztFkwKD45BC/0+eWRXfy/i9hjg3M3AWJaHU7LApwvqDzI I3kZXX8NQCeAcl/NQlxLrq3nZ3J4D+vR/4tTQTO/vtHQSGhLJ6f38vsTIfZ70GfbEMAnmgGWH 1xe0nstJChmUkSMTrzwmYIJkOiSn12ueZ9uE9WaboVNx3iGVT6BGEp2O1GH7jkpB8aPtq6oxi K75y64ERMKcEavFDJY6qPS45Zp2A20+nMhHKRQVCfG7EQPrCLpdhQ1U16w+gAwT0YK/2sJvLA pyp45HLH5DQ2c1rwaYH+J8wLNSzWkRuCb3DMI0wzGTrj0pc5o0+sidD9vi1w2Je4bIxM+d2AK dUkdAyaYY0J8X9D8nkcaKqdXP4YYXr9UxgZCg6DI1xI7IlAZacxPSavGPhCowEYDszjA5YO+J BU1UeOsoujyDuX6bXiuKaXJtmelz/4ukkOfXP+kIaXBCXVMTC0BvTZk0qp3yYsgaHwzB0Ek/s Qu2QalrrPRkwX90LfK11b7BtccYJ0Hu1vh4TMOxXsKa09bF3jZK2AyFgHxp3NJP0xrUhOyC/i bT0Qc3yDY7nljhmAc0cObAYVRMKtlbdisUHvWBg2ddyn7WtPOMZ7zRxZSlLdu52DslWN9QLJZ K4a3RaYZBZ/9ZefDCVKqm4knNBCW/dzi6xxyaC9kS3cBLfLxmKXVEKygosFtKwTxwS+obyEEF gdSg4LBgiaImdsV9DORzqlXXC/X8/mBA1L6Fvz4o/1CygvEkeK5yW0KUCnzR0Hk53a6KXPQeJ fV/jx6nSrQdN1M2Uu3CJR8eAzRUCAaIF6+9e2uBSYaLte4M76NCbH+YT5i5B3bzEFUAsKh74O M4R/bjUxSM9nQbjRl+B9rLaISW8uogKAiTN31+qS1G87oBAp4cRXeJg30U6eRkZwMZBbm2zve NrRm37y744PmULhph1ZWpkg/gmjKfmLli/kivBi0F384XanGBH7d+XGE5UTecZFSV1iZugz0e ZBW/dk14314/fosttgpqLlbBEf30XcjX4UUznJJ6jRpl3dJLscjKJ8C4dOJzlFr9EvtzQwPub hlD1SHfyIWfWOKAExyUmQqde+cD6/vZScGuuA1eblP7XF3GVvkz026ypQzTXPwTE1rPKBldwZ Rv3MA6dkdRj8w6Py7zrMTDM5IztlO4LriyjFCLDrBgDKEP6qvtMWHDT71TNUf2mik8p8pa4Id 0Yq+eq34F6De+NWlrGJVH30IhagcKkXwm6h9WBioL+lW2YyorwK4o/8ol7BGCt9U+P10kmRXM uAV43VfDZTmTQWexVWjdXBcVD6JUi0b7LEOvUVtDodhcT3dE0+DYeI583cdpaHM+wm3Dmjd9E ErUWDeMY88WDRC6M7tL+5ZtpIbHErCGcfhsjjQbPTgfxYPYp8cTD90jVevyPwisnWWVorou2o 5ySqcZuz77HrdvA8Yx1UwK4HM/S0vHkVvK/DjtvMdY1WhHqaDYFTsESt4VNv0dsZ4+Zrhk6KE 8Ug4ecXjj1gKsBsoBpRdosKXyqt4fqd2YrdnU35wr82RZRbA+w0ipwd2qJ3gKL6gHQQG5gfUP 61tGlBMm39G+ngw7IywbFyEBzEXCyj9aDhg7mOUEqe72foatsmS3zr0dOhcUXvrF/uz1c/1Yn JsVAWLmXfromKsx4aq+DRLCW3oIrFmRHlXJK5NVd+10z/wm/uqY4wptufJNXf1RYwNvk+9asM pLkCwVwEaDWeUlQCLvIIpIsb/vrQtcmvjE8jytbcxOv4w3qORLjPX/1ldOu101O3tRg5tzZNq gQAQqG4xl8pc1B9cNKuYUCUQtxrUV4U2wthyXfitXSQrmCoNrdDdL4Rtok12FOjV7DM75wFfG oWAQ0b7h5eLSa/jJAkwJN7PBkl24E9ShWhMlpou0ac+Vt5FL2Oi4HNIVAic7g/MZmP4Fp0x1B DFI+IP2c0fHZBoVTPB6AVWnNX4jqpfdpY9QQNEJW1hb3uTwVlkPMarV+Ed2bw== 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=lists1p.gnu.org; Received-SPF: pass client-ip=212.227.17.21; envelope-from=deller@gmx.de; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=0.001, SPF_HELO_NONE=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 deller@gmx.de) X-ZM-MESSAGEID: 1780091634828154100 Content-Type: text/plain; charset="utf-8" From: Matt Turner QEMU keeps the MIPS FPU control/status register (FCSR, fcr31) in env->active_fpu.fcr31. The rounding mode, flush-to-zero (FS), and NaN-2008 mode bits in fcr31 are reflected into the derived env->active_fpu.fp_status via set_float_rounding_mode() and friends; every architectural write to FCSR goes through helper_ctc1() which calls restore_fp_status() to keep the two in sync. Both target_sigcontext variants (O32 and N32/N64) have an sc_fpc_csr field that holds FCSR, but setup_sigcontext() never wrote it and restore_sigcontext() never read it. As a result: - The signal frame always delivered sc_fpc_csr =3D=3D 0 to the handler, so sigaction(SA_SIGINFO) handlers that inspect the interrupted context see the wrong FCSR. - On sigreturn, active_fpu.fcr31 retained whatever value the signal handler last installed (if any), and active_fpu.fp_status was never resynced. Interrupted code resumed with the wrong rounding mode, FS flag, and NaN-2008 semantics. Fix setup_sigcontext() to save fcr31 into sc_fpc_csr. Fix restore_sigcontext() to read it back (masked to fcr31_rw_bitmask as the kernel does) and call cpu_mips_restore_fp_status() to resync fp_status from the restored fcr31. Add cpu_mips_restore_fp_status() in target/mips/fpu.c (which already defines ieee_rm and includes fpu_helper.h), and declare it in cpu.h. Fixes: 084d0497a0 ("mips-linux-user: Save and restore fpu and dsp from sigc= ontext") Cc: qemu-stable@nongnu.org Signed-off-by: Matt Turner Signed-off-by: Helge Deller --- linux-user/mips/signal.c | 7 +++++++ target/mips/cpu.h | 3 +++ target/mips/fpu.c | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/linux-user/mips/signal.c b/linux-user/mips/signal.c index d69a5d73dd..1b10012726 100644 --- a/linux-user/mips/signal.c +++ b/linux-user/mips/signal.c @@ -134,6 +134,7 @@ static inline void setup_sigcontext(CPUMIPSState *regs, for (i =3D 0; i < 32; ++i) { __put_user(regs->active_fpu.fpr[i].d, &sc->sc_fpregs[i]); } + __put_user(regs->active_fpu.fcr31, &sc->sc_fpc_csr); } =20 static inline void @@ -165,6 +166,12 @@ restore_sigcontext(CPUMIPSState *regs, struct target_s= igcontext *sc) for (i =3D 0; i < 32; ++i) { __get_user(regs->active_fpu.fpr[i].d, &sc->sc_fpregs[i]); } + { + uint32_t fcr31; + __get_user(fcr31, &sc->sc_fpc_csr); + regs->active_fpu.fcr31 =3D fcr31 & regs->active_fpu.fcr31_rw_bitma= sk; + cpu_mips_restore_fp_status(regs); + } } =20 /* diff --git a/target/mips/cpu.h b/target/mips/cpu.h index 346713705a..392406aff8 100644 --- a/target/mips/cpu.h +++ b/target/mips/cpu.h @@ -1384,6 +1384,9 @@ void cpu_mips_clock_init(MIPSCPU *cpu); /* helper.c */ target_ulong exception_resume_pc(CPUMIPSState *env); =20 +/* fpu.c */ +void cpu_mips_restore_fp_status(CPUMIPSState *env); + /** * mips_cpu_create_with_clock: * @typename: a MIPS CPU type. diff --git a/target/mips/fpu.c b/target/mips/fpu.c index c7c487c1f9..8b661865ca 100644 --- a/target/mips/fpu.c +++ b/target/mips/fpu.c @@ -17,6 +17,11 @@ const FloatRoundMode ieee_rm[4] =3D { float_round_down }; =20 +void cpu_mips_restore_fp_status(CPUMIPSState *env) +{ + restore_fp_status(env); +} + const char fregnames[32][4] =3D { "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", --=20 2.54.0 From nobody Sat May 30 17:44:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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=gmx.de ARC-Seal: i=1; a=rsa-sha256; t=1780091639; cv=none; d=zohomail.com; s=zohoarc; b=F6gQuLQC5VsBwKKTh0cxsE4Cu8KcMMONIcho0VYDoZJJqAWzueZJp0eVWCURp/87ETCnvytUNvXNpJRfzE4C5bP2HXo35fHUcTQDZQZ1w79CIEE9Bwmrne0AphaMVbnvxVrODySXf4/neUrMNN2dnGqc9XJOp51O/hIa9iKDFgI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780091639; h=Content-Transfer-Encoding:Cc:Cc: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; bh=Xc00vLTGfB9GCkXWLG2d1pjuXzcuA7jsuGuy2MEi98Q=; b=IZGcTrhDJI9iP7M2JQF9Rx+HW3VolDli6ZM33XXzGDQcYQwiogEW5hEFPg7IN/3syFIcJl0IiIqfZRKqU8yZGiOr8GP1kxIOLIcEFNGtUfB+QDHHVZkrX7tv0IAve82kAn/TQPBjD6ZDAJGtamR9a5PHwv0F34RnXG3fXDxu36o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1780091639301951.0316402200549; Fri, 29 May 2026 14:53:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wT57K-000609-Kz; Fri, 29 May 2026 17:51:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57I-0005yT-Ir; Fri, 29 May 2026 17:51:44 -0400 Received: from mout.gmx.net ([212.227.17.22]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57G-0007Ta-Fc; Fri, 29 May 2026 17:51:44 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M89Gt-1wOQHp47Cl-002vk8; Fri, 29 May 2026 23:51:39 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780091499; x=1780696299; i=deller@gmx.de; bh=Xc00vLTGfB9GCkXWLG2d1pjuXzcuA7jsuGuy2MEi98Q=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=Y9w6jZgN16UY0t1vDb0a7rmzRv2JmJ2gN+zl24lUnraTlI/0LnFNoSATSra8pLdm 3WHCOu8GDd+Qq2WsTh+tlnDP8iT8E3tL3qMvU9YdUL5fzBz/Sxf06lCJnz+KBo4dk heryx510oOT41wtAd/lLkZotU09HFWgfJXAzrisV4pUiTQV2lr6k+iLCqU+a7d6kv 3p3n48ww/kqefs6lXCUFovE6Qh93Zdzs3XwJ4PScr1i8YqNJHuwN2o1S7YlGRoKyf zUaoIHrS3qcpKsYNHs+DQ7gbbmCT6QphwzvbowdnJes/uDWFZIcQLYj+uFUSNP95y AiuV/cxirT54NjOdVw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Ilya Leoshkevich , Laurent Vivier , Richard Henderson , Cornelia Huck , David Hildenbrand , qemu-s390x@nongnu.org, Eric Farman , Aurelien Jarno , Matthew Rosato , Helge Deller , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yoshinori Sato , Pierrick Bouvier , Aleksandar Rikalo , Matt Turner , qemu-stable@nongnu.org Subject: [PULL v3 03/10] linux-user/sh4: preserve T/M/Q bits across signal delivery Date: Fri, 29 May 2026 23:51:12 +0200 Message-ID: <20260529215119.73244-4-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529215119.73244-1-deller@gmx.de> References: <20260529215119.73244-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:jJC4jJBbAbREoT0+az6fUjBujh9eR9+Qv/4n7Ujxidm5MO5M0mi LAsWNRL2SjqjJaDq/OIZEB+qfqtBWU2fQ/l8ZJ8wBf/3uhIAIVqxEogpOSrHGsDVoAcJ+g/ X6TEMQV9He9U97pvgzIZtJAA8qxBorKriBwln0Tcod06+SM5MMp8uIRioapFxQBDKDmryF9 swnobfYOGTL4U0pBdFqZg== UI-OutboundReport: notjunk:1;M01:P0:yMCCN017WOQ=;JB//cjI8by9QVgvs2CQZl5NzF/+ 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 q8mCOreyhI7GdoqPyc= 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=lists1p.gnu.org; Received-SPF: pass client-ip=212.227.17.22; envelope-from=deller@gmx.de; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=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 deller@gmx.de) X-ZM-MESSAGEID: 1780091640710158500 Content-Type: text/plain; charset="utf-8" From: Matt Turner QEMU keeps the SH4 T, M and Q status-register bits outside env->sr, in the dedicated env->sr_t, env->sr_m and env->sr_q fields; cpu_read_sr() folds them back into the architectural SR value and cpu_write_sr() splits them back out. setup_sigcontext() saved the bare env->sr (so the T/M/Q bits were always zero in the signal frame) and restore_sigcontext() wrote the value straight back into env->sr without updating sr_t/sr_m/sr_q. As a result the T bit was never preserved across signal delivery: on sigreturn the interrupted code resumed with whatever T value the signal handler last left behind. Any conditional branch (or addc/subc/rotcl/div1, etc.) immediately following the interrupted instruction could then take the wrong path. This is the cause of the long-standing intermittent failures of the tests/tcg/multiarch/signals.c test on sh4, which was marked BROKEN. With a SIGRTMIN timer firing every millisecond across many threads, the race was hit a few percent of the time and corrupted the guest heap, surfacing as a SIGSEGV in memset, a malloc assertion, or an rseq registration abort. Traced on a deterministic rr recording: a cmp/hi set T=3D0, the timer signal interrupted the very next instruction (a bf), the handler left T=3D1, and the resumed bf took glibc calloc's MORECORE_CLEARS branch, using the old top-chunk size as the clear length for a freshly split small chunk and running memset off the end of the heap. Fix setup_sigcontext()/restore_sigcontext() to use cpu_read_sr() and cpu_write_sr() so the T, M and Q bits round-trip correctly, and drop the BROKEN annotation on the sh4 signals test. Fixes: c3b5bc8ab3 ("SH4: Signal handling for the user space emulator, by Ma= gnus Damm.") Cc: qemu-stable@nongnu.org Reviewed-by: Yoshinori Sato Reviewed-by: Richard Henderson Signed-off-by: Matt Turner Signed-off-by: Helge Deller --- linux-user/sh4/signal.c | 12 ++++++++++-- tests/tcg/sh4/Makefile.target | 7 ------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/linux-user/sh4/signal.c b/linux-user/sh4/signal.c index d70be24c38..cc36425c49 100644 --- a/linux-user/sh4/signal.c +++ b/linux-user/sh4/signal.c @@ -131,8 +131,10 @@ static void setup_sigcontext(struct target_sigcontext = *sc, COPY(gregs[14]); COPY(gregs[15]); COPY(gbr); COPY(mach); COPY(macl); COPY(pr); - COPY(sr); COPY(pc); + COPY(pc); #undef COPY + /* The T, M and Q bits live outside env->sr; fold them back in. */ + __put_user(cpu_read_sr(regs), &sc->sc_sr); =20 for (i=3D0; i<16; i++) { __put_user(regs->fregs[i], &sc->sc_fpregs[i]); @@ -159,8 +161,14 @@ static void restore_sigcontext(CPUSH4State *regs, stru= ct target_sigcontext *sc) COPY(gregs[14]); COPY(gregs[15]); COPY(gbr); COPY(mach); COPY(macl); COPY(pr); - COPY(sr); COPY(pc); + COPY(pc); #undef COPY + /* The T, M and Q bits live outside env->sr; unfold them. */ + { + uint32_t sr; + __get_user(sr, &sc->sc_sr); + cpu_write_sr(regs, sr); + } =20 for (i=3D0; i<16; i++) { __get_user(regs->fregs[i], &sc->sc_fpregs[i]); diff --git a/tests/tcg/sh4/Makefile.target b/tests/tcg/sh4/Makefile.target index 7852fa62d8..b7a8737be0 100644 --- a/tests/tcg/sh4/Makefile.target +++ b/tests/tcg/sh4/Makefile.target @@ -3,13 +3,6 @@ # SuperH specific tweaks # =20 -# This triggers failures for sh4-linux about 10% of the time. -# Random SIGSEGV at unpredictable guest address, cause unknown. -run-signals: signals - $(call skip-test, $<, "BROKEN") -run-plugin-signals-with-%: - $(call skip-test, $<, "BROKEN") - VPATH +=3D $(SRC_PATH)/tests/tcg/sh4 =20 test-macl: CFLAGS +=3D -O -g --=20 2.54.0 From nobody Sat May 30 17:44:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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=gmx.de ARC-Seal: i=1; a=rsa-sha256; t=1780091553; cv=none; d=zohomail.com; s=zohoarc; b=j1YaspwWNZjqgBaU0kydaaIHth9PqhXbegNy23QvNiauffgqfdDWwMjDE+lCYL0n+/IcmffKV+eA5SeMNJWC+yZrgU2XmKe2TcRAjThdDtyCz4FOfld4Az02mAJPk3vfjaDA6DDwZr4NnpQDG9j2QM4V98ncd7k5w6YsE8GjADI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780091553; h=Content-Transfer-Encoding:Cc:Cc: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; bh=yWj4xfI21hAF7hx/PxKNj42DxCD1V6gQuobYl06oyYI=; b=kitvI9HX+LWdLu4gM/jHPYYbtFdhFu27CKWu3+FqWZv2GvmD8rp/sTPCIwPH02FfrSupCSW0p7+tkuggEzYlbL8ds/YXXjfKFiYRPkHbFxiB45s5EmMafE7ko8GOy5qL/6F1Jegzb97TLz2Jq5z7rVxFqzp6ZZtrX4siMZxaOKU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1780091553179206.3487449496555; Fri, 29 May 2026 14:52:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wT57U-000636-Ai; Fri, 29 May 2026 17:51:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57S-00062f-NM; Fri, 29 May 2026 17:51:54 -0400 Received: from mout.gmx.net ([212.227.17.22]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57Q-0007W8-N9; Fri, 29 May 2026 17:51:54 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M2f5T-1wRhXG154B-006F8W; Fri, 29 May 2026 23:51:41 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780091501; x=1780696301; i=deller@gmx.de; bh=yWj4xfI21hAF7hx/PxKNj42DxCD1V6gQuobYl06oyYI=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=Sb6mE6frxZ6sk/6oglvQxg3GOl3Xz2ek4jv+Jf4bOKx/fH0fsdiIBPWDXOLclgUK 31G2GssFg6n4z3gohmCLgxwDA/9AOUZaJtggW9GQ20Xm7oLqZCCkr6SICRNLFc06a xJMeE+cKzEGw7eo0Iunt1bZqeRNKQy2LLKQ+67+H1sYCobnoQQq4EzrivdCQLrPid 2kgtCKaMi84fD+nOYhK4r7xKdDeioNTv5rv3vYn/blKycLj4TQN+z9UdeXZjxVHw7 CF+TI/V6wEjt+oVMnp+b/NCxZ2E6T++/KyzRinKGItMqafuB2+iiQxWKGWlAf3L+G mRcnN8GmNX4lc1xGWQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Ilya Leoshkevich , Laurent Vivier , Richard Henderson , Cornelia Huck , David Hildenbrand , qemu-s390x@nongnu.org, Eric Farman , Aurelien Jarno , Matthew Rosato , Helge Deller , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yoshinori Sato , Pierrick Bouvier , Aleksandar Rikalo , Matt Turner , qemu-stable@nongnu.org Subject: [PULL v3 04/10] linux-user/sh4: restore FP rounding mode on sigreturn Date: Fri, 29 May 2026 23:51:13 +0200 Message-ID: <20260529215119.73244-5-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529215119.73244-1-deller@gmx.de> References: <20260529215119.73244-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:YQKipO2YpHRl6yR+/4yDrRLO61PxjXF6P2b9Mf+CWdUq1+gfMXu Czu4E4sKoy4ep34K59gGOZvcsE4JGyhzFbXTVi/BpUMh49NiIIG6jnAMCKLXx2Uu+JsA0Fz HVyD0aVMIuLSUh62XpmVFjfJjUQcRHQIP1uQ4GxTpaIPAiowgVeMrZQTH8MriGpxMw5r8wN yEBvoouvl7JnAG449UP/A== UI-OutboundReport: notjunk:1;M01:P0:DS6ObCQznjg=;1R76kZ9jCw9ZUbnCU+4rUsy9MN0 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 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=lists1p.gnu.org; Received-SPF: pass client-ip=212.227.17.22; envelope-from=deller@gmx.de; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=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 deller@gmx.de) X-ZM-MESSAGEID: 1780091555145158500 Content-Type: text/plain; charset="utf-8" From: Matt Turner The SH4 FPSCR rounding-mode (RM) and denormal (DN) bits are not held only in env->fpscr: they are also reflected into the derived env->fp_status via set_float_rounding_mode()/set_flush_to_zero(). The guest keeps the two in sync by routing every write to FPSCR through helper_ld_fpscr(). restore_sigcontext() wrote the saved value straight into env->fpscr and never touched env->fp_status, so on sigreturn the interrupted code resumed with whatever FP rounding mode and flush-to-zero setting the signal handler last installed. (regs->flags =3D 0 forces the FR/SZ/PR TB flags to be recomputed, but fp_status is runtime float state, not a TB flag, so it was left stale.) This is the FP analogue of the T/M/Q bit problem just fixed for the integer status register. Factor the FPSCR -> fp_status synchronisation out of helper_ld_fpscr() into cpu_load_fpscr() and use it from restore_sigcontext() so the rounding mode round-trips correctly across signal delivery. Fixes: c3b5bc8ab3 ("SH4: Signal handling for the user space emulator, by Ma= gnus Damm.") Cc: qemu-stable@nongnu.org Reviewed-by: Yoshinori Sato Reviewed-by: Richard Henderson Signed-off-by: Matt Turner Signed-off-by: Helge Deller --- linux-user/sh4/signal.c | 7 ++++++- target/sh4/cpu.h | 3 +++ target/sh4/op_helper.c | 7 ++++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/linux-user/sh4/signal.c b/linux-user/sh4/signal.c index cc36425c49..00290d6e40 100644 --- a/linux-user/sh4/signal.c +++ b/linux-user/sh4/signal.c @@ -173,7 +173,12 @@ static void restore_sigcontext(CPUSH4State *regs, stru= ct target_sigcontext *sc) for (i=3D0; i<16; i++) { __get_user(regs->fregs[i], &sc->sc_fpregs[i]); } - __get_user(regs->fpscr, &sc->sc_fpscr); + /* Resync the derived float_status state, not just env->fpscr. */ + { + uint32_t fpscr; + __get_user(fpscr, &sc->sc_fpscr); + cpu_load_fpscr(regs, fpscr); + } __get_user(regs->fpul, &sc->sc_fpul); =20 regs->tra =3D -1; /* disable syscall checks */ diff --git a/target/sh4/cpu.h b/target/sh4/cpu.h index 4b0f3f6d97..3302702376 100644 --- a/target/sh4/cpu.h +++ b/target/sh4/cpu.h @@ -379,4 +379,7 @@ static inline void cpu_write_sr(CPUSH4State *env, uint3= 2_t sr) env->sr =3D sr & ~((1u << SR_M) | (1u << SR_Q) | (1u << SR_T)); } =20 +/* Set FPSCR and the derived float_status rounding/flush-to-zero state. */ +void cpu_load_fpscr(CPUSH4State *env, uint32_t val); + #endif /* SH4_CPU_H */ diff --git a/target/sh4/op_helper.c b/target/sh4/op_helper.c index 669bc84cb6..cf0f80e4a5 100644 --- a/target/sh4/op_helper.c +++ b/target/sh4/op_helper.c @@ -204,7 +204,7 @@ void helper_macw(CPUSH4State *env, int32_t arg0, int32_= t arg1) } } =20 -void helper_ld_fpscr(CPUSH4State *env, uint32_t val) +void cpu_load_fpscr(CPUSH4State *env, uint32_t val) { env->fpscr =3D val & FPSCR_MASK; if ((val & FPSCR_RM_MASK) =3D=3D FPSCR_RM_ZERO) { @@ -215,6 +215,11 @@ void helper_ld_fpscr(CPUSH4State *env, uint32_t val) set_flush_to_zero((val & FPSCR_DN) !=3D 0, &env->fp_status); } =20 +void helper_ld_fpscr(CPUSH4State *env, uint32_t val) +{ + cpu_load_fpscr(env, val); +} + static void update_fpscr(CPUSH4State *env, uintptr_t retaddr) { int xcpt, cause, enable; --=20 2.54.0 From nobody Sat May 30 17:44:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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=gmx.de ARC-Seal: i=1; a=rsa-sha256; t=1780091552; cv=none; d=zohomail.com; s=zohoarc; b=Vxw23IMU5SfV8Slc9BV6Sgc5S6WAXf/jDl5a/g2Kt55RyeXCyry81RkO7dgvfvyo2y99Q5dUZXCwgjTds79BfO8onLr3zvE9autiJDddVanUMNakFPBY8l6WzVCKROaEBmh2nFLztpjNSVt9cIGd2dZgwtY8ACjCViZvMf2i7Zo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780091552; h=Content-Transfer-Encoding:Cc:Cc: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; bh=gODMNuhvgHlBYZzBASbq0dpAQ0bio20BLo7tEclCz6Y=; b=eGsJcP0itkqBY+ljB5iuOVpCOPkeHgLl1SkXR8ik6kDBQH69ytQDYl3OU4UeS6RsDp2OhTMx+TpSm4SjtQveJ1lG4O1iIWH6Q5gkNkq8NWcgOwGiACp+0xYu5Q2d232b4iVC0gu8iGoSHgcRzNiCPhfsPcDllINelvKTCooZCIg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1780091552494765.8840817655131; Fri, 29 May 2026 14:52:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wT57k-0006Cy-Ep; Fri, 29 May 2026 17:52:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57d-00068x-NZ; Fri, 29 May 2026 17:52:05 -0400 Received: from mout.gmx.net ([212.227.17.20]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57b-0007aA-VB; Fri, 29 May 2026 17:52:05 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mn2WF-1xC4y02EER-00qHGm; Fri, 29 May 2026 23:51:43 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780091504; x=1780696304; i=deller@gmx.de; bh=gODMNuhvgHlBYZzBASbq0dpAQ0bio20BLo7tEclCz6Y=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=bLRm6qvco883xx8kmePPhAFZI1QGXKlEE+yJtMzZVSyI80gZjhOd8y57o2JAC+1J 90ehxj62wQ2X9F/GINLHaI8SPFerXemAeawH8L0yjUA4Ah2RckyRfFfn/lyhkwRfG 7H8E+n2rz46/A+1NmxeB4F9JTvrtC7kxyY7b4yP8LDQwSZV7t3bh7OL0gKrvr5oGk jEQnEqKmk/MfDXeF/45mtIXBAiYNMcH+RBoxlOe3ZuogFPPnt/thxA7KUIeC7/Lml RSvOn1wJQL4ivqI8ud9Ps4+zWnTtIVJ1KK6BRd9s5KBYnbxr0I0v1wVyeeSCMUqVq E0Pn+Y/gTVOHzEY3CA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Ilya Leoshkevich , Laurent Vivier , Richard Henderson , Cornelia Huck , David Hildenbrand , qemu-s390x@nongnu.org, Eric Farman , Aurelien Jarno , Matthew Rosato , Helge Deller , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yoshinori Sato , Pierrick Bouvier , Aleksandar Rikalo , Matt Turner , qemu-stable@nongnu.org Subject: [PULL v3 05/10] target/sh4: sync fp_status when gdb writes FPSCR Date: Fri, 29 May 2026 23:51:14 +0200 Message-ID: <20260529215119.73244-6-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529215119.73244-1-deller@gmx.de> References: <20260529215119.73244-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:V6YLi6Ub9WQBpXA/QK0CbcAyO6zuNEktATsXrJgrm72llwa0fxr 0eZ0KBqB4PTOGzQO7AGpzzvoWHL3xPnYquX3ZAaIXO7XqrmUh11yAqcDfzmKC/QjloHIK31 ofwuuw9vtAOHesMQbDsRq/Cn8uRZlF0rNfjs9ORSS7rh8jUyaFngzVqhZH4e/HFa8R/MEd1 kZ4joBU0abVUeQ4gZyIAA== UI-OutboundReport: notjunk:1;M01:P0:AR6l39y6T+s=;sG3cdeX8p5nksV8KnpqBmOFcmxB raybFXZJSCmQbjyqEEJP1TcXYkiENmt4qiSxVW6Gou4AuXHY4JqYd6q8mLksG0zgWYtiU+ORl urNvn+zC5imGAAGeS8MDgF1gsOsTjlO9dMbp0refD2s8fm9Gf7JQJ/7J3SSMhBkxK+g6MXvh1 BDAdkN1TZsD1z3s1m5y3fMBI8+PFXckaqNq9uwJ9CU2Oz/oHZNeCP4Grsdkr5Dvuh4FIGhExp RaCxZRyJZ0o1ArwdqUH/8Ucq51EVtD1YOM7v0HsKT0QZW0LdtVZy9w8MgVCrGeDyfI8eUkIwk p1wxYZwQp07fP4uzBDs3aurf3ECLDUaSeY5wBRQmToSfGOaSUshXkUOUlzHtSUXWn6oOXydwa WlTRgUXLybWDW2bKvkKXW/VLJ1HAuRbgEOZexW2C1Ildm6QwWOlpe+NqoK50kK47+PcgS5P7u lNGK0p20/WXHATdYJfqJ5DluUgf6D8HbqkvcZwZr+KWkBChQLUA/ysxijPZFr3++cYfdK025X AonrRyS2CoKsbIyEpMYJ2tDw3akDtzm8d4KIVVDAmKb62P570zf6brA7QAuEHmoDa0ZSUqln9 qmxEwy2GlXnzLvJHDZuCEWd20f+xgEw02WhG0IDLRlbxZ9s1JZ48j+dWr8OdHcxTRYJ/dBf/n MVEKUWIvDG4u+1XH+9oK60U87cI17uz75qqVwV43xaouC9eKeGS6VVHJz3RKn2Y0k+iIy5b+Y RZieTFIOhtX8zGW5w74fpkYFQW9l6M3B8qKf4M5oGhs+CCu4LzDcV8NlaVAu5byDSJombssvQ jCo86ooxwb726oc1uHW195v2x3hR0uYUdnr4X/8iTwlqmo72fDwOglQ/VUBlur+kgUhpa4htV s4t+T6V590dPgIFksAXMUXAXgw8nomxEk458m+ngM6SPAZ6db9jttoDcbCt1VIxlJK/2/ofQI 5yUgDbuXVvxf1HBAfUzNeS/RM+tSSy3nskKoC2gL21JyDV2h4Y34JerLWJ34Z/2rPj/eAi4LI 1j2G+LJ67gayslfYZd1sMNcdjIzwWuC4OA55Sfa76uxxGNHbX/WTWrPL9992mJ8bXjxnANy6P QDA3xoub6VmzlCyaPNw49ZRcLianbH0fm0G1lDp0ZdFWVIn6xhONpAanvvUZKKE4GYJAmessR pYQZgBwnZ32w8inKB1/gZ9KPB/KpCL2HrDxkYV6mFH3Nq2qseC2ow3wcFCXzzIytvI5jkZGde 6IgKZBhjxUIHu9sEniWJHhDG61pcb06eMaKawnUZ9N/hurhUW8Bkg38JQukpQlyExQF2TN8h0 HeQtLpVFOzkQzDkq2myIHNtIK4DsKgrRC+I167dqAv9PIjfTOzJUGgTNFiV1i+4euvwBjomb9 sKGeriVsm4VFuzwGD5sc+eTP4ROunul7rXS+RoSuQYrtzDs+2gGZ0aM91KB9UqRnMIzqC+Lch /XJTanW/K8UAEcBk6Dkj5b07QhV4Dok6Bi/RYSTF9btKoQH9YehG5/dI3+kbWcpbf0wjfxB2e T1moR72Ym/NuBF/BLuIktkuWJZsOhNSH9QIgmzLUy1prMS5/rdFqfymymDvuWRgn91UxlARBA hTdSq76Z+jeMoE+mjCTdsppTPBQK71BqgxZ0Sg3ARjn0KeO8kvAoeI8TXHgTkAVpvl4hSzzdf TfcRpUsql2ZkEpSJTXhERSWgKhWnPNV7NsRY3y8Z2sGAxnOFs/ZMifcjUllNsYj4S3GmysPhR caUcSEi9tI9f+sCnihQ4Qt9FMVKDGBL7eldCgDeFH/Iej1+Qcu84ZlabvtcSSjt+i9cwuSv61 zTB1HAEoG13RvnIpRduc/WR7aQ3VFDp/mnhlGjz9fVbZf7xgJAqR2lzRrh7WC4ZIvwOMvtmAX 9ztN7GQ7wmwywz+Gc0DKxJ844mbKwFPSgNuqGtcBLcKePgMf2kJwX/fjLZ1a/LmVRb/8RTrUO H0y/LEzbPVzw/18a30/bcwQh2i2/gBDSP6f/WGMJib0K3oA2igFbj8w5BbKdANixuO3hZX+CY BYQ4a85r3omRcPfZvbHVG9SGwQOkF7HtC0d+8jaDA+mNwRxH4kLY9KV55sMesjk6fYL6MlqoM Vw48yTpdT35Kvz/BRPqT9ARQTXM1ZZy6hI7X4Zebr9IgiVGMB6Rt95Of69X7nMp79S9WVlD0K X8qWBOCBBkZrBtoN2VKt8doWFaCDt9gx2Bge7HlId6PN76xwvE1rcGj3X6LAFH3MiWXWOx0Gb vbH7o0B/a9Mnq6O0NBKzd9EFj5SQtattHVFHJHc9pPb0q3cjpLL7JR0zZ/LzRBAy050rUq/KY 7Gb3JQflDhu396ulK/BQ0tr8UG4Pu6qw60z+KHYLY/RQdwUFeVvBmv0ZIqsn6kUud1etOMobs 6bYdwYKIKxA6odGvSjVQUXhtK7/fWp6+sLimCmUrtSQMyTnKKCyGZ9sfmFekQvPECEJ3C4U3d oo4A/imTxmys9jg6hkuyYeEt0AiUhyv5sGKtzgEiJpExoB6ONHPVfSVjLTO5v119fexCQvZF5 hxI6x+OExgR8pj78IDCOdap2tb/xytXJJNw6aYR6d4AOlHx2PJNJgayQwsby3bMpDdxLm9G/5 ty0u8vU/VkcQqOzluCIHzEa6ms9JF+RhJqQ4JyTtdeQ3bd5r+32nydU2QzGImWq8sBbImHsYI Eyzlvid7M6vpZdNGl6fTQ7cf7QcS6DVmlh5OCZd84+d817pdpeqPqs37tUye2cJFKdLV1ihfK a0ZhTeLv0qF99FGkhih3i9Bspnhg6ha8xu++EfTHQYHU1dhLEdpSennT/2sgO3dDzL5WLHESC unaHM/RjIHoGXQMfkJms+TnZ0OYqIfZctzfWkq8aob3fnEANJJAG2VsV2TXfI8Ts3QoSNF8lI mYiJowTQPoAQhoGRpmWdnqJXiVk0L0LG0P5+XbXkMAXRBb/05ktIZe4PDxm6Qeagb97jSmmHC wDZFSObSdeQKVnRmX9pMaB2yfNMQ+qDSgZOd+7SsXWWjOFkJBOIHtAzAbodbCIsu+HGQtsRYi upfowkWSXFE3J5oONHf4MUcT4xty2+YdCPWdpaBerMUrNyytgUN/snFlIndqO7cH91ytXX1PS CViLtbo53srU/69ixhVxkbI/ZjzM41alAWVuRwOBr7kqTgHwwepiVT1EI878vR4iRyEJ3YeDi P6B8y5xkS0z8+/3WfvoLPbqvPgO8dlVFgJRFKS1zyUe/KMjs9CBUYJ0BizAnliNnQD0j0z0DU u5Bh8mSGQidVj2kQQ4DHBp1v9dkTnEYFDgKIOyFERw0MUJ4Y7LuDvGGnb0IXup8Vtu+WiGAva 13GeF1W7kLfZOt2h2zkTNswwOjwlOoRhszzvLpJeKE5NVHkhHQX5UbE8AS3ej0LW00dHAhhTY iGKbLJnV1wc4IY+mV4Dy7UGKvec+rgKBcfIoAYyLsOMJKa/0QpFCFVm+t1OtzQUP+tDBs9wC7 i+D6syzAwTmRLOeUXUjg1h+08P1F7fvGZ66HURh9rdYNn5lHkdHbegE8GzbIclOHJmmwuTEko SOjYBBZGXyfjz81vMJz2ewfK5gs7ktucPDJuTGjV2UYDU7MvtPy5YoW4DRtpd+sqa2HDmQ98U ohenwpmL9BdHlsFLx3qzqejvu+z3L6P7tIN12H4lniFUN6Xrv5iIkhD0Rqg7P2rpsFfH8xWci jS1RLQgjTR5BTAtxPoFfRtEmBwWybvKb1TqZPA7WQKDZrtpC7ovmgrPGkloSnDIHOSx5o8ExN Lz98X24jW8zjC8Lzj2DIDnQLE3OGttSaGv2U7KMT2So/RF2UFhX5iwSdC4q4zyX/FXm1BFZJT Gwssvn3ODO4vS/KljMpD3Cy8XCa/zxiClwYLV6NGKP3WZf8rchX1t9Qjzqj37N7P0aggEujc3 N4XXuWdxk4ThRNGWvBoAiGvtSY2UVPEKGN9gpLaGpuEeM6XtoyHokkZXlaq+ymabsW2p6fxRe o3I7WZAh7gsMOmgAUFoBrm2yHSTB8neDpjFDA7tFHRIzlFV3eBl/bdBnlEs7fa2WLbv1q8OQt Vx6MFkdwe+g3O7r+mDNOqC2jAxN0xa/kLIqXzBCOyWFjBWATFRD+iKsNF+BzlgnO8A6G8VIIm Md//Vw2wMK7fMhSKeaxBuSaUyUQtPYswXshHGgh1PLDucdaW9ffKW83YTO2GAJ1EbeJR2FMS5 iGuhJFM3iBBfN1LkQFf2ZMubpHiZ1PbwzRuf+6BT0ATe3EM7l1o3qI/qFdbIsNAYMzeQ/Ym/e niilK+sJNwRdql3KYOlRyxZxn0ZJ9Cw10zXR0WZ/SpQjms8vEbhMPrbZkSwl/7F0BmT4JX2yS ZU49ohsvo5K23bUKyjGXpWAVZvPtRafpMBVSpR4MN/HBvd4gNcTGJ+yBV/Pv1VHR+EL0zaBvD K2X3d2FVor20y27Yw9NqMUXaBbcFBSJCvYD89EbDZwJxHE6oxc6+CEReWbekwkpMknsNtLA4Z XoZ6yMdbHsgziUZ3iZ0UHzVloOyLvmEFvzwoNkFiV4FBPov2v8g44cyMimsMDuSfZe7AtX2Ve HizKk4G02kjJqWwjGiavxMBNvEA9XpK/6y029M65Mn+wyMKnu6mzVbsXnXGh1nbbNGg3adVS/ ayUhZl+Q5NWpXWDiXC1hnjGSaUOzD/rnHlzADvW8AtPlCIpJq/PF243CbKknvyzpXUNSGcwDO iPYOtMsiDSaWSiaIhtq/5n2ynedKHuaXp7BFFHTXpLJN+CWYgu87ypRWoT1cBc5bUK0a03WYs If8L8rZtUnHAjILekw8adscd9CMl0DtqnGy0JkL8Rd31ZL5haYOoVA3lYq/urPqlR8o2l52es LLCitKx0fm2Q4gXy1gzDqNx4GR8UbvxN7sn8ih0SYCr/IIYrILkH9DA3j5S6S6Wlp0HcknZwn cjtXnpVEF4zITJfvD/Q9fKSUIPF8ezdaeaoY5o9E+JeelAoWCEV5IQfhGCQi7/VqNbJqlxJY4 jCgz5bbwrelVQKdJoO5lndXgd4EdISMPfLEcPOhrSj5N1Ykg5Fz2U8wTKn1XXG6WbklKsrYGD nVbFx+Ag9QI1QGpSAM6nEElKdsKBIDwVgwPc/r/R7zj79UQnJAXY90FOZYv+Su727IQK+DSwQ xqfYavkRp0LLtQzqGl8hcf0xuuU+weuxCP4ZYIUrmv9gcIEie/asiSncRSzlxKXcmzMRD06ou 77crNnpy4lBVsbfbZmFL9Wv2BDQQFPuFQ2Uy7FgcAIoX0l6f4e/3NpriTd8U7/Fi+/sL5DsTy icjYdPh0lA9JQEpxpsmFNoWt79fPoaSQ3ktkdS6/hHACao5IgCfPl8UTKyOwEBZiNnTnrQYEe rzHl7t2V6PQRZZxW9I+fP8x3tONellFz2IEIpGorwdpb/fTnltu+s1aY0KFdf60K3swhz1vAI YqFC00Ye92+a9vFqMLn4bk4IYaHs/lEskuBIKSzl0lmq5XKskeqSYIBJCvKWFvAXHYIIIzmKx 15xzcVpvBQCf+MU0mfrCdaJMonbJxJTHO77B6ygC3DIQ09YhSA6ok77tOHsyA3Gv+X/ai1DOm m61LqzK/7j13V6FOZROkte74k1AO8CjWg0hmuojcvVOezCp7VfD8riT0Uq3t1V+/m1evgQ== 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=lists1p.gnu.org; Received-SPF: pass client-ip=212.227.17.20; envelope-from=deller@gmx.de; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=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 deller@gmx.de) X-ZM-MESSAGEID: 1780091556019154100 Content-Type: text/plain; charset="utf-8" From: Matt Turner sh4_cpu_gdb_write_register() wrote the incoming FPSCR value straight into env->fpscr, leaving the derived env->fp_status (rounding mode and flush-to-zero) stale, so a gdb-initiated FPSCR change did not take effect for subsequent FP operations. Use cpu_load_fpscr() instead, the same way the adjacent case already uses cpu_write_sr() for SR. Cc: qemu-stable@nongnu.org Reviewed-by: Yoshinori Sato Reviewed-by: Richard Henderson Signed-off-by: Matt Turner Signed-off-by: Helge Deller --- target/sh4/gdbstub.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/sh4/gdbstub.c b/target/sh4/gdbstub.c index 4f36e800d2..bdc8c1d164 100644 --- a/target/sh4/gdbstub.c +++ b/target/sh4/gdbstub.c @@ -113,7 +113,7 @@ int superh_cpu_gdb_write_register(CPUState *cs, uint8_t= *mem_buf, int n) env->fpul =3D ldl_p(mem_buf); break; case 24: - env->fpscr =3D ldl_p(mem_buf); + cpu_load_fpscr(env, ldl_p(mem_buf)); break; case 25 ... 40: if (env->fpscr & FPSCR_FR) { --=20 2.54.0 From nobody Sat May 30 17:44:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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=gmx.de ARC-Seal: i=1; a=rsa-sha256; t=1780091595; cv=none; d=zohomail.com; s=zohoarc; b=KS9YVS/IuMS+kzM3cIfMFPQeEeyuNHYt8LxNXUUh0K14GuO6dI7e+eGJMHGA+vpB9Xj/1UQCRP08FmJQ5/GvqKIUoP/4MauJNqdZnK7zIObueBmcS7EG8USJUDl7oZbpEH32s6zzzmKCSiweqK4drfDEKWXuhRb0EKCUQgZBzeQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780091595; h=Content-Transfer-Encoding:Cc:Cc: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; bh=SSCUOdK3kHnYCbYGr73WYWLZgnAlsZTFEaClNXCa5XE=; b=GUgMgjeF1wQMlCmO9RC8bknBDpMRTsmaWsPRZcTfdKI9Fhz/21tnEC7mxXhP3TKmdt2Fki/Zfr7nPG629l9zDdmbxFJZAKR1sh9hBLnvQC7vwSngu5jYxua+YBFc3yr6kOtMg5LbBtta9i5bLNbRseJVogtT14xv6T6yCyiC0Mo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1780091595089887.6490021174785; Fri, 29 May 2026 14:53:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wT57d-00068w-OL; Fri, 29 May 2026 17:52:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57b-00067V-7d; Fri, 29 May 2026 17:52:03 -0400 Received: from mout.gmx.net ([212.227.17.20]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57Z-0007ZU-EY; Fri, 29 May 2026 17:52:02 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mo6qp-1x4Nre2l4N-00iY24; Fri, 29 May 2026 23:51:45 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780091506; x=1780696306; i=deller@gmx.de; bh=SSCUOdK3kHnYCbYGr73WYWLZgnAlsZTFEaClNXCa5XE=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=JYQCDBNqxb8oO7tB+wnp4/BAlnibkByfQqaTaGPVYaTIQxI5kFvGLKigJtARHxeh O50yZSi4OQ2IMr1lHAY7SwLsA2QuvblfyUdMDajN2ltTtzN/3dll/QVhY7u2305N4 7dqVXUVA4LrQMHiPeBILDaB1BmAEfBpl3kvbSMQfeNKc+s8dKGmflxUSnsn54BxOa StKVHd1HsfESspRxxcJcc4HPffjLQS3iEA3mbf5hrLmmI7lB/heWhdxvZgcxy0zRX O2pcXnwzwf2REeQy4qoKwsmRoSZ3g8QM04G3RsZuYK/8TF3W4DJnnBck1pWDqLuzq T0oXtUX3ePvH3Ne59Q== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Ilya Leoshkevich , Laurent Vivier , Richard Henderson , Cornelia Huck , David Hildenbrand , qemu-s390x@nongnu.org, Eric Farman , Aurelien Jarno , Matthew Rosato , Helge Deller , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yoshinori Sato , Pierrick Bouvier , Aleksandar Rikalo , Matt Turner , qemu-stable@nongnu.org Subject: [PULL v3 06/10] linux-user/s390x: restore fpu_status rounding mode from FPC on sigreturn Date: Fri, 29 May 2026 23:51:15 +0200 Message-ID: <20260529215119.73244-7-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529215119.73244-1-deller@gmx.de> References: <20260529215119.73244-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:wlLhPYPWfVsIVeAMKCIffa22iqI5PCkeWktgYMvSagow+6m/GoY T1psliTOSBfu3T6tLSJBgfj4E8+BxVVBg6xFsDZiZEMJ6a3J/JPjgFW7YqRZ3ftx1k0dpsz jLFRzl3yOyLJSz8R36DjxBPqC2ogQp0We75y8IMZbeSB+4X2p6VEAqnp3yA3lo4BTu/8Ma2 Nz2Zx7D8v+RJA+7uWCyAA== UI-OutboundReport: notjunk:1;M01:P0:JbLRqwRv6XU=;e7dOQb2iuUYIFCMIkbaDgntfzK1 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 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=lists1p.gnu.org; Received-SPF: pass client-ip=212.227.17.20; envelope-from=deller@gmx.de; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=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 deller@gmx.de) X-ZM-MESSAGEID: 1780091596351154100 Content-Type: text/plain; charset="utf-8" From: Matt Turner QEMU keeps the s390x floating-point control register (FPC) in env->fpc. The rounding mode bits [2:0] of FPC are reflected into the derived env->fpu_status via set_float_rounding_mode(); every architectural write to FPC goes through HELPER(sfpc) which keeps the two in sync. restore_sigregs() restored FPC with a direct assignment: __get_user(env->fpc, &sc->fpregs.fpc); This wrote env->fpc correctly but never updated env->fpu_status, so on sigreturn the interrupted code resumed with whatever rounding mode the signal handler last installed in fpu_status. Factor the two-step "write fpc + sync fpu_status" logic out of HELPER(sfpc) into cpu_s390x_load_fpc(), declare it in cpu.h, and call it from restore_sigregs() in place of the direct assignment. cpu_s390x_load_fpc() partially reuses the sanity check from HELPER(sfpc): if the FPC value has an invalid rounding mode or reserved bits set, it falls back to 0, matching the kernel's fpu_lfpc_safe() behavior where a corrupt signal frame value causes a specification exception and 0 is used instead. HELPER(sfpc) now calls cpu_s390x_load_fpc() after its full specification-exception check, including the FEAT_FLOATING_POINT_EXT test that is not needed for the signal restore path. Fixes: 2941e0fa05 ("linux-user/s390x: Save/restore fpc when handling a sign= al") Cc: qemu-stable@nongnu.org Signed-off-by: Matt Turner Signed-off-by: Helge Deller --- linux-user/s390x/signal.c | 6 +++++- target/s390x/cpu.h | 1 + target/s390x/tcg/fpu_helper.c | 20 ++++++++++++++------ 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/linux-user/s390x/signal.c b/linux-user/s390x/signal.c index 96d1c8d11c..28ad80bde4 100644 --- a/linux-user/s390x/signal.c +++ b/linux-user/s390x/signal.c @@ -332,7 +332,11 @@ static void restore_sigregs(CPUS390XState *env, target= _sigregs *sc) for (i =3D 0; i < 16; i++) { __get_user(env->aregs[i], &sc->regs.acrs[i]); } - __get_user(env->fpc, &sc->fpregs.fpc); + { + uint32_t fpc; + __get_user(fpc, &sc->fpregs.fpc); + cpu_s390x_load_fpc(env, fpc); + } for (i =3D 0; i < 16; i++) { __get_user(*get_freg(env, i), &sc->fpregs.fprs[i]); } diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h index 3acbe83f0f..f55b79ef8a 100644 --- a/target/s390x/cpu.h +++ b/target/s390x/cpu.h @@ -895,6 +895,7 @@ void s390_init_sigp(void); /* helper.c */ void s390_cpu_set_psw(CPUS390XState *env, uint64_t mask, uint64_t addr); uint64_t s390_cpu_get_psw_mask(CPUS390XState *env); +void cpu_s390x_load_fpc(CPUS390XState *env, uint32_t fpc); =20 /* outside of target/s390x/ */ S390CPU *s390_cpu_addr2state(uint16_t cpu_addr); diff --git a/target/s390x/tcg/fpu_helper.c b/target/s390x/tcg/fpu_helper.c index 6ca0b7162b..107025e675 100644 --- a/target/s390x/tcg/fpu_helper.c +++ b/target/s390x/tcg/fpu_helper.c @@ -1087,6 +1087,19 @@ static const int fpc_to_rnd[8] =3D { float_round_to_odd, }; =20 +void cpu_s390x_load_fpc(CPUS390XState *env, uint32_t fpc) +{ + /* + * Mimic kernel fpu_lfpc_safe(): a corrupt signal frame value that wou= ld + * trigger a specification exception instead results in FPC being set = to 0. + */ + if (fpc_to_rnd[fpc & 0x7] =3D=3D -1 || fpc & 0x03030088u) { + fpc =3D 0; + } + env->fpc =3D fpc; + set_float_rounding_mode(fpc_to_rnd[fpc & 0x7], &env->fpu_status); +} + /* set fpc */ void HELPER(sfpc)(CPUS390XState *env, uint64_t fpc) { @@ -1094,12 +1107,7 @@ void HELPER(sfpc)(CPUS390XState *env, uint64_t fpc) (!s390_has_feat(S390_FEAT_FLOATING_POINT_EXT) && fpc & 0x4)) { tcg_s390_program_interrupt(env, PGM_SPECIFICATION, GETPC()); } - - /* Install everything in the main FPC. */ - env->fpc =3D fpc; - - /* Install the rounding mode in the shadow fpu_status. */ - set_float_rounding_mode(fpc_to_rnd[fpc & 0x7], &env->fpu_status); + cpu_s390x_load_fpc(env, fpc); } =20 /* set fpc and signal */ --=20 2.54.0 From nobody Sat May 30 17:44:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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=gmx.de ARC-Seal: i=1; a=rsa-sha256; t=1780091608; cv=none; d=zohomail.com; s=zohoarc; b=hH8tYOnA6oKUA3tx0w8lPkUe92PzLSJBdEvbrhnRu7dp7+BBnn+JCvRTSTJKMfn/kj+rhtutU8U1lfmTVvArDB5GgOHAcqg1FzxY9m6VOy4cSVB171lwj6ZlgAb1+wgWHdSy8JBatPZY3/TVHpEh0WzlozlVQzQ669x+loLlgyo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780091608; h=Content-Transfer-Encoding:Cc:Cc: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; bh=tWtETPRygSgQZR6Gi7khNDjEaydj/eYgQ525rIOuE8s=; b=QgLpuokmi11xBfh+3RUdcRd+DJlANZlhWqSP2vxaT4QKRA8VzI/Zn1FA4an8Is+rRUASddmRgMALf+JlEkLdV0sfT4HzZBZczUDUPAOWnZIW8JeOX1WK5GiuSNLra6LxzGJzVpv00JUABZzkmLChOwMzy943w7RRaDZ4VyLF0cE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1780091608818295.8813043827472; Fri, 29 May 2026 14:53:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wT57n-0006H6-VQ; Fri, 29 May 2026 17:52:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57m-0006Et-4W; Fri, 29 May 2026 17:52:14 -0400 Received: from mout.gmx.net ([212.227.17.20]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57k-0007d3-6Z; Fri, 29 May 2026 17:52:13 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MfYPY-1wvpIB2mKG-00ZVbn; Fri, 29 May 2026 23:51:48 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780091508; x=1780696308; i=deller@gmx.de; bh=tWtETPRygSgQZR6Gi7khNDjEaydj/eYgQ525rIOuE8s=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=j4nAADFUtSZmKfZMVepqrvbJ/IdbCUFAY5J6+CO1xqnWWicsab1+YnO5K1Wvhi8T Q7igjP4VEASoLJ3RaTtxUGrBFpjEXAUBwWwTyE/LoFR27hoau2rEOt0JFHbdiJE+s gFL7XSFpSaSt4oYavuSr9KVX7srTdpGiZBZjOxq8ErZtQ2NI+3swnui02NmrNOZ2+ sSf86ryOA5jdBj8f8auDWywBZrmvjvyFdcrX9f39XK797zjH9R+QqOBkuE67nhPrS +i+dvwEEcjdTYiHmUbTqNdJfWKlLgOba8lQ33xn1nuRA3uOB2iTpIya6BL8it1ajX jGM0Wc+Vvvo5G3O1Uw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Ilya Leoshkevich , Laurent Vivier , Richard Henderson , Cornelia Huck , David Hildenbrand , qemu-s390x@nongnu.org, Eric Farman , Aurelien Jarno , Matthew Rosato , Helge Deller , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yoshinori Sato , Pierrick Bouvier , Aleksandar Rikalo Subject: [PULL v3 07/10] linux-user: Implement finer grained madivse() syscall Date: Fri, 29 May 2026 23:51:16 +0200 Message-ID: <20260529215119.73244-8-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529215119.73244-1-deller@gmx.de> References: <20260529215119.73244-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:Wmlpb/kGI+HNK6WM1ZmHa/AlODTa4ABnc1rBCZnKYEZA740eIib vmhtAM8YoGwXwNWGv+ENLRnD8bj8vgwkoV0M554/Bjhidp4UAAhWF2d1N27PLvxBE+FwtdW hGwPFYlWnUSd3E+3YNS1zfYlJHYSASip5cxv3NlkD3aN1Twk/frw11ESerCNtqhTbS1n6Wb y71e0J7qaL0DGusaak5HA== UI-OutboundReport: notjunk:1;M01:P0:0nwH2VksTJs=;E8cxT1jGyUsAulPv+KFAe46Uoiu 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 BvQEcFcr9Y0SgAiY3tXkrXau6y6/x2pR9mbGMKV 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=lists1p.gnu.org; Received-SPF: pass client-ip=212.227.17.20; envelope-from=deller@gmx.de; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=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 deller@gmx.de) X-ZM-MESSAGEID: 1780091610400154100 Content-Type: text/plain; charset="utf-8" Although most madvise() values are hints, some are important and are checked by userspace, especially by security-relevant applications like BoringSLL. So, return -EINVAL for those functions which we don't emulate. Signed-off-by: Helge Deller Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3489 --- linux-user/mmap.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/linux-user/mmap.c b/linux-user/mmap.c index b4b7b3e5cc..55277f7c3e 100644 --- a/linux-user/mmap.c +++ b/linux-user/mmap.c @@ -1282,7 +1282,7 @@ abi_long target_madvise(abi_ulong start, abi_ulong le= n_in, int advice) case TARGET_MADV_KEEPONFORK: /* parisc */ advice =3D MADV_KEEPONFORK; break; - /* we do not care about the other MADV_xxx values yet */ + /* all other MADV_xxx values are the same across architectures */ } =20 /* @@ -1307,6 +1307,19 @@ abi_long target_madvise(abi_ulong start, abi_ulong l= en_in, int advice) */ mmap_lock(); switch (advice) { + case MADV_NORMAL: + case MADV_RANDOM: + case MADV_SEQUENTIAL: + case MADV_WILLNEED: + case MADV_DOFORK: + case MADV_FREE: + case MADV_COLD: + case MADV_PAGEOUT: + ret =3D 0; /* OK */ + break; + case MADV_REMOVE: + ret =3D -EOPNOTSUPP; + break; case MADV_DONTDUMP: page_set_flags(start, start + len - 1, PAGE_DONTDUMP, 0); break; @@ -1324,6 +1337,25 @@ abi_long target_madvise(abi_ulong start, abi_ulong l= en_in, int advice) page_reset_target_data(start, start + len - 1); } } + break; + case MADV_DONTFORK: + case MADV_HWPOISON: + case MADV_MERGEABLE: + case MADV_UNMERGEABLE: + case MADV_HUGEPAGE: + case MADV_NOHUGEPAGE: + case MADV_POPULATE_READ: + case MADV_POPULATE_WRITE: +#ifdef MADV_COLLAPSE + case MADV_COLLAPSE: +#endif + case -1: /* BoringSSL uses -1 to check if the environment is broken= */ + ret =3D -EINVAL; + break; + default: + qemu_log_mask(LOG_UNIMP, "Unhandled madvise(%d) call.\n", advice); + ret =3D -EINVAL; /* not yet known advise */ + break; } mmap_unlock(); =20 --=20 2.54.0 From nobody Sat May 30 17:44:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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=gmx.de ARC-Seal: i=1; a=rsa-sha256; t=1780091597; cv=none; d=zohomail.com; s=zohoarc; b=GACc2fwkMhSjZjLD6MHC/jfUtCpgN+9uTbmNfBjoRMJmviyy3O9EFf+emy63nLlVUXv5Txlawm35GsTw8z/0L2Zu9CisETy6s88NvBP7axpWpZMtzJOKPF9qbJlXpG9zwcSV331nZcJdh6XBK9kw+Z5X8JO9Rrej0ViufYmZklU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780091597; h=Content-Type:Content-Transfer-Encoding:Cc:Cc: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; bh=2kWHhFJsKil/MBmltZHcnFnWPWZcJOCCukMWNZUBUg4=; b=GRoaD36GYv+Rto5KM2VreixCwMAuecP+Fmp7Jr2vbyVCxq94KgpJPnpsHEEIOiiwT5nM0cfDOhvnKh8VlqD4N9+lqvpVc5K/wKeF9LZ/jEFNvxjw7TwMaZeLfja+xX0Qwj7inPdoTG6RwRpH/tLyUY/4pMeDzcpLSqEWslEDkH4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1780091597275997.1956321756496; Fri, 29 May 2026 14:53:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wT57u-0006Iu-AJ; Fri, 29 May 2026 17:52:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57s-0006IN-Hv; Fri, 29 May 2026 17:52:20 -0400 Received: from mout.gmx.net ([212.227.17.20]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57q-0007e1-EV; Fri, 29 May 2026 17:52:20 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MzhjF-1xFyho3esr-00t6xO; Fri, 29 May 2026 23:51:50 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780091510; x=1780696310; i=deller@gmx.de; bh=2kWHhFJsKil/MBmltZHcnFnWPWZcJOCCukMWNZUBUg4=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Type:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=kWaFQT1vEaIBVkcnmcVZ/85FrYAroBKJ3sE/6TUVjfxaY6AvPxp9JJ8We39YUEEg h2Gzjl6HKP2MZzcmUZZRUqe/FRTY4cSe3Lcr6/wtA5EsIjMTOFTqvfoR0Edxz7arS Knh+MbqkjDtwdjr21CHUqc5DWrIhVBdnIM0dYjmwgY6MS3fB0WbQ6HRNiUZFzcfrx 9TdpB6BoYyFp6PfJj950MicoE/jitTpTsvc4UYPA6nPdSlVvZIWK6zyI5NktEmlQR JedUgsGYOhDoITuwgigLwjaksTtMcoRt5Ws9b1v5wUmkVjY0vTOcsLN0qdaJsrYs7 rosXrUNyE2l61vnXkg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Ilya Leoshkevich , Laurent Vivier , Richard Henderson , Cornelia Huck , David Hildenbrand , qemu-s390x@nongnu.org, Eric Farman , Aurelien Jarno , Matthew Rosato , Helge Deller , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yoshinori Sato , Pierrick Bouvier , Aleksandar Rikalo , Peter Maydell , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PULL v3 08/10] linux-user: Fix typo in function documentation for pgb_addr_set() Date: Fri, 29 May 2026 23:51:17 +0200 Message-ID: <20260529215119.73244-9-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529215119.73244-1-deller@gmx.de> References: <20260529215119.73244-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:a+4ONGIwqZzT22gYR9lvgNj40MnVWgMr/NobWboDX28Xs5o0fl/ mDFRmECOxi+8v0oPXrSKCN9V+YUsxKkSLFLS2tUL2ZCOECBGOMG45W6CY9/U9Krgujig6XD l3Mbuc/IZxm/HcvVCoOJsgH3oU/gDVZq8HLuqcQvgR8+8Uc+Y/3kQdH9qv2cjMZncNqBYiz HMYWpJg3aQ76vFPejSlVw== UI-OutboundReport: notjunk:1;M01:P0:bLSWrpFPqXs=;KF+cRH2l2qkDthbrGi+vH9N9S/x 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 XuEr8RYU0gW+E+Iy7s= 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=lists1p.gnu.org; Received-SPF: pass client-ip=212.227.17.20; envelope-from=deller@gmx.de; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=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 deller@gmx.de) X-ZM-MESSAGEID: 1780091598216154100 Content-Type: text/plain; charset="utf-8" The third parameter is called guest_hiaddr. Reviewed-by: Peter Maydell Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Helge Deller --- linux-user/elfload.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 0e757787d2..f7625c0952 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -848,7 +848,7 @@ static bool pgb_try_mmap_set(const PGBAddrs *ga, uintpt= r_t base, uintptr_t brk) * pgb_addr_set: * @ga: output set of guest addrs * @guest_loaddr: guest image low address - * @guest_loaddr: guest image high address + * @guest_hiaddr: guest image high address * @identity: create for identity mapping * * Fill in @ga with the image, COMMPAGE and NULL page. --=20 2.54.0 From nobody Sat May 30 17:44:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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=gmx.de ARC-Seal: i=1; a=rsa-sha256; t=1780091595; cv=none; d=zohomail.com; s=zohoarc; b=oEeGIyMtwgco5pA8PFgExfJYD+LoMEaMkOtx2ohqCMJ+2FYgI/MVoLRll1VwsUwwrx2K906QNO+Ewm4hZcEI5iYHj9hU8iCLBh9gBVKisJH5ek9bQLxbtywx8W+3ndqiGXCXXNTsQGyvWCFUB2ohhEwUHV2IQhQCXLhvjC+GYf4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780091595; h=Content-Transfer-Encoding:Cc:Cc: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; bh=zkCvQGV0S+k8vtMtYQ+DXgjKjWV6ngUHcnFo0H+GlXk=; b=kW/3WVzQ3mkPjFyXF4U/HNq/31NraDa2UnFjqwsQjyREdAKQQyg+USRkvWtdE8+4m7hPYTinQlTr7+DTTV18U/1PtwSLPb+MZR5hubCTlYPgVrPXgdjNYXR4bKsSYNyCZMzXC8EeTFUvanYKL00hiSl/BHocMV0hwUSyld6gmcg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1780091595036812.7291675245613; Fri, 29 May 2026 14:53:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wT57b-00067S-0O; Fri, 29 May 2026 17:52:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57Y-00066S-OE; Fri, 29 May 2026 17:52:00 -0400 Received: from mout.gmx.net ([212.227.17.22]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57X-0007Z0-0h; Fri, 29 May 2026 17:52:00 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mr9G2-1x7Q8U06q6-00m8Or; Fri, 29 May 2026 23:51:52 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780091512; x=1780696312; i=deller@gmx.de; bh=zkCvQGV0S+k8vtMtYQ+DXgjKjWV6ngUHcnFo0H+GlXk=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=iE5q8ml8OrAYnv46R/Hx4mP+IpzHsaOgrgj6ApfjOIUV4/OZNCSHOIJVPLk2ENkL NDWLHFbr+tO/jnZtBYYyt+T78hn8cL6iH0zb4of3dfvu+xXH2M0/3wDDW4+BSmkNI c0IPI1/pmPmNGkob6jLzCob4dWtfmg/uxG1amOfwslaqWTMZBkVUHSYomjHVjGndl TF1O8Rhh+5/ULfkDZ7r7G0gSz8Vrhskmmpw5ix/JHVRoR0LnRZIbmT+swozudixRl yEZxlLz5KEhJP2T+VJ9y33IhL2Rsv7FZ/PCQ/Wx8UyzmTKg14GDFVdxHCjbPB3468 nIwZ2V6Gqx+fXvJSQQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Ilya Leoshkevich , Laurent Vivier , Richard Henderson , Cornelia Huck , David Hildenbrand , qemu-s390x@nongnu.org, Eric Farman , Aurelien Jarno , Matthew Rosato , Helge Deller , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yoshinori Sato , Pierrick Bouvier , Aleksandar Rikalo , Peter Maydell Subject: [PULL v3 09/10] linux-user: Move init_main_thread() prototype to user-internals.h Date: Fri, 29 May 2026 23:51:18 +0200 Message-ID: <20260529215119.73244-10-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529215119.73244-1-deller@gmx.de> References: <20260529215119.73244-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:3/glxNCCrzssD8vep0zLk6VzNT27mV4tNxlJ9M25d5CREE/ceF1 k0mu97vK5ApvKsjSTxBnz//a3k7jTznhcx01WJjKpgT8D+nEr4mqDgxOCZGVvl8hcmKgikW ELtVHpuEOZ76kmZq6vYbMOCPxHkuuNwo9I5Ytlq+OWObXj+euS+skoYNlvhDQL9dVxXCy2Z zOMVJ5LRJ05X6QGEK9cew== UI-OutboundReport: notjunk:1;M01:P0:CF/EE1S30tc=;jDnLU8s9W4MaUanyf0vjBQ2LJhy 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 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=lists1p.gnu.org; Received-SPF: pass client-ip=212.227.17.22; envelope-from=deller@gmx.de; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=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 deller@gmx.de) X-ZM-MESSAGEID: 1780091596314154100 Content-Type: text/plain; charset="utf-8" From: Peter Maydell The init_main_thread() prototype is needed only by code internal to linux-user/, so it doesn't need to be in qemu.h (which is also pulled in by various files outside linux-user/). Move the prototype to user-internals.h, and give it a documentation comment. Signed-off-by: Peter Maydell Reviewed-by: Helge Deller Signed-off-by: Helge Deller --- linux-user/qemu.h | 2 -- linux-user/user-internals.h | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/linux-user/qemu.h b/linux-user/qemu.h index 7f98fb2607..474489f046 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h @@ -371,6 +371,4 @@ void *lock_user_string(abi_ulong guest_addr); /* Clone cpu state */ CPUArchState *cpu_copy(CPUArchState *env); =20 -void init_main_thread(CPUState *cs, struct image_info *info); - #endif /* QEMU_H */ diff --git a/linux-user/user-internals.h b/linux-user/user-internals.h index 21daf422b7..fbfd12237f 100644 --- a/linux-user/user-internals.h +++ b/linux-user/user-internals.h @@ -194,6 +194,21 @@ static inline void begin_parallel_context(CPUState *cs) } } =20 +/** + * init_main_thread: Set CPU state for main thread + * @cs: CPU context to set + * @info: information about the image being loaded + * + * This function must be provided by the per-target code. It should + * set the initial CPU state based on the information about the + * starting binary in @image_info. This will be at a minimum setting + * the initial guest program counter and stack pointer; it should + * also set up any other guest register values where the Linux ABI + * defines that they start set to some other value than what the + * guest CPU architecture gives you out of reset. + */ +void init_main_thread(CPUState *cs, struct image_info *info); + /* * Include target-specific struct and function definitions; * they may need access to the target-independent structures --=20 2.54.0 From nobody Sat May 30 17:44:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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=gmx.de ARC-Seal: i=1; a=rsa-sha256; t=1780091562; cv=none; d=zohomail.com; s=zohoarc; b=klGXA2piS5tm38xSVNND0JhP/XdlaLPtDrCzsdQ1SZEPCJaq3AChzgtdRtwkcwUnlzlvNDAgzz3m0Pd1evMqZWk1lcGwv/7Uo40Lg7jcJl1RIhcZekTm3QDrhWiRN7sQJNrWf63iy1WU7aoL8EbU8dy82YwZ12gdhyTRQNT1DpE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780091562; h=Content-Transfer-Encoding:Cc:Cc: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; bh=lt/Mmc+bT2vzqUqwyRnnOIgWS5pSwQouTPDb1uInhns=; b=iQZ5bvVORsAc//nQLX0WT+8POeeRnCdscVOEs55dF0jds6QFef+G1OTSW5pbK0KXTuE/7tZnIK4zb6+PnC5xltShhnMmumFhAcHQhu6wNhSLjUm2FgnLU7/ovyWquMjFVaDmDQMF6GCRTFRRjud2PsICCmek7QxutC01IHaPsgM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=deller@gmx.de; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1780091562313189.81472856364314; Fri, 29 May 2026 14:52:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wT57k-0006Cs-Du; Fri, 29 May 2026 17:52:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57c-00067w-E5; Fri, 29 May 2026 17:52:04 -0400 Received: from mout.gmx.net ([212.227.17.21]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wT57a-0007Zw-Ry; Fri, 29 May 2026 17:52:04 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MVvLB-1wuxlH135h-00YKwg; Fri, 29 May 2026 23:51:54 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780091514; x=1780696314; i=deller@gmx.de; bh=lt/Mmc+bT2vzqUqwyRnnOIgWS5pSwQouTPDb1uInhns=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=ofafALPUWGOHTsj4UzQv87TLKgJIJGb7L9l5+BHpXlI38N/Fwp55z5Wt+8fXyEut QevZ50IyIo6ENvDHh9fwkxPsAoRm+A1QvZG0v13Tu3JXBR6EJqGnla4TqhYC7Hci+ Byt7Wo7Dtm1Bp7r7E1l+V+Ysv+muq59k9Veq7DRiE6upFgW13L7DvT4M6/7UgKi7l vN68bs5ipuaLycnGeL+OrRc0rn73afRwnDnj1ytgr6Ux5AEoTlNYzpCOt3SGSSlCV hY+rrhyev65yDSsfJkaxyMMOgtkcwOTtvuwOKV/rf0zFXCZTW0ry0qF31yYINHuLy il1HO1saMt1A2HN21Q== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Ilya Leoshkevich , Laurent Vivier , Richard Henderson , Cornelia Huck , David Hildenbrand , qemu-s390x@nongnu.org, Eric Farman , Aurelien Jarno , Matthew Rosato , Helge Deller , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yoshinori Sato , Pierrick Bouvier , Aleksandar Rikalo , Peter Maydell Subject: [PULL v3 10/10] linux-user: Move cpu_copy() to user-internals.h Date: Fri, 29 May 2026 23:51:19 +0200 Message-ID: <20260529215119.73244-11-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529215119.73244-1-deller@gmx.de> References: <20260529215119.73244-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:H3Jzhf91IqjxRMk3Y//3ZnLciB1ByYCtRw1srp0xq+ZM4DmMwrg K3ud9Cdn4wbCkz0laNe69Yy5oNP7mLoKASu2kjbkQsKqyTBZaRzeb+8vdTqEOHfjfTFBY5p ikA51h6tgKbbuSPqw4Zyb4lk+YQ0rzivgDXbg45ZvJb10JFRleRPViNk+ejHp0eMdcf09IO Bn/wWJzZsCgRDfONp6xgQ== UI-OutboundReport: notjunk:1;M01:P0:oAqqRKppeR4=;Gi35a+aa/Noy8n9FKgZ1Ka2a+IG 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 5SWZmgu/jC+uBo5zUo= 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=lists1p.gnu.org; Received-SPF: pass client-ip=212.227.17.21; envelope-from=deller@gmx.de; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=0.001, SPF_HELO_NONE=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 deller@gmx.de) X-ZM-MESSAGEID: 1780091564582158500 Content-Type: text/plain; charset="utf-8" From: Peter Maydell We only use cpu_copy() inside linux-user, so we don't need to have the prototype in qemu.h available to code outside linux-user; move it to user-internals.h. Signed-off-by: Peter Maydell Reviewed-by: Helge Deller Signed-off-by: Helge Deller --- linux-user/qemu.h | 3 --- linux-user/user-internals.h | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/linux-user/qemu.h b/linux-user/qemu.h index 474489f046..07fe801628 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h @@ -368,7 +368,4 @@ void *lock_user_string(abi_ulong guest_addr); #define unlock_user_struct(host_ptr, guest_addr, copy) \ unlock_user(host_ptr, guest_addr, (copy) ? sizeof(*host_ptr) : 0) =20 -/* Clone cpu state */ -CPUArchState *cpu_copy(CPUArchState *env); - #endif /* QEMU_H */ diff --git a/linux-user/user-internals.h b/linux-user/user-internals.h index fbfd12237f..0380d44fe9 100644 --- a/linux-user/user-internals.h +++ b/linux-user/user-internals.h @@ -209,6 +209,9 @@ static inline void begin_parallel_context(CPUState *cs) */ void init_main_thread(CPUState *cs, struct image_info *info); =20 +/* Clone cpu state */ +CPUArchState *cpu_copy(CPUArchState *env); + /* * Include target-specific struct and function definitions; * they may need access to the target-independent structures --=20 2.54.0