From nobody Sat May 30 17:44:12 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=1780007483; cv=none; d=zohomail.com; s=zohoarc; b=hCWqRQOdpeekmudkxYZ6cudDbknqXdjdApdbH/4Fr0RJ84gm/Rh1UQcUmKxHlQZxTCJnAhlBp2/wkNv15Am/CR0rT7DfW4rnJfpO57Y1wVYAJxEEF7BNdbwV2/UDqOq1uwMI4sys/jNDiVbIZhhkrb2IQKRcbys9grl81qU+i1o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780007483; 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=R6R9mL6YefBP1yI3/RgpYDePfGG2rypG38hzsmRZB2e7ox42WAjhccwaLQ57GdJLun6A3zI919HxCPVsVM2bSd2iu7FzJcMShVWG2lSXTgg8iJKJXqhq13B1UhM+OtzEuJkKT/jAIQ4SLnE3Xy/eusY7rU0B9TU+qQ1Km3dzM/k= 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 17800074839071010.2997743219101; Thu, 28 May 2026 15:31:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wSjDr-0002wE-9M; Thu, 28 May 2026 18:29: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 1wSjDp-0002up-Hi; Thu, 28 May 2026 18:29:01 -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 1wSjDn-0006wV-RJ; Thu, 28 May 2026 18:29:01 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N4Qwg-1xToCd31ra-018Djk; Fri, 29 May 2026 00:28:41 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780007322; x=1780612122; 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=d9MJAmUQJFgju1IPEpurmyFowkic/JZRXWykjb25psqP7oWmrS4Vbi2LVGN3kl2V DWbH2dU725RaSAoi4TOcAp78jmxm2nVuAUzqUqojAPzQR5V/bXi2WwXKxHtghrDXf qH7ja+uOLkHdGsNEu2HRL90D0EWD4xFi1ti/1dG0KMeie7DuCrp2FWpVOTy62FkEW SgF0EOF+uzwvla3TdKG9nOMhK+R7+EcR5fC6Kwft5YzhgwZA40rgN1VWoeF+4kEFH eNjXFpXJ/giwUVO5nrhtLYP8s+wxcaWOBoVVGYB9lBEKPiFeDRSCcmrTzJ/dtWlAg Y9sx89EXz3mjrGqxIw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Yoshinori Sato , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Ilya Leoshkevich , Aurelien Jarno , Aleksandar Rikalo , Helge Deller , qemu-s390x@nongnu.org, Eric Farman , Laurent Vivier , Richard Henderson , David Hildenbrand , Pierrick Bouvier , Cornelia Huck , Matthew Rosato , Jiaxun Yang , Matt Turner , qemu-stable@nongnu.org Subject: [PULL v2 01/10] linux-user/ppc: restore fp_status from FPSCR on sigreturn Date: Fri, 29 May 2026 02:25:38 +0200 Message-ID: <20260529002548.19293-2-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529002548.19293-1-deller@gmx.de> References: <20260529002548.19293-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:GeH1Edu/dVPgY6IX6EJs3niglT3o/RzbU7go1BttdgIbg/UMajg UJpdmgmevGJCmLoriBIN4Q+Dy3Y4RdDz/NNtM2sukLxwvx9xEhP55qWt3qsmthvI2HEEKw+ Z90X5cAsabV3vxrrLAIIG5LGpknVw8MRbgYRzfQp38Fks/1QACCq3UhZYvojZqZ4klL2EcY RI9gvyzIYcawQvtyAZSnA== UI-OutboundReport: notjunk:1;M01:P0:hXm3jv8ksuE=;MqtFlG92BZgIxVDD3TgugrZrbq3 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 qZUf+pFuyv+3OS/GV0= 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: 1780007484301158500 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:12 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=1780007483; cv=none; d=zohomail.com; s=zohoarc; b=OxhIkSy88aigBdx46zBI6a5KFUzCIJTkrVNJjYy40K0q76Oq3aHOv/2lQs0zduUB7oLVKBnqRdioRIdHkyS70um1PAlmK70odfQy49boG59bbssGApPU3IPOr5dU+dvWwdUyWTnPlbyHuJFl+hGpvz/g6uiDn42XLPelY3KwYRM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780007483; 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=iYV8T1VkKB7rFu/od5gst8MQUXiUwte/9ORnUnm7vJfOFBsWy2I7SKbbK1R1Dr3i0wzHj5PuVlzseOj90rc1/dTIWGb+UdPmTvcavmuYI0MCET/leaBCS4V+7Y1pRDZiGKH5zh4Lv3yAwdIGcP9HlbcUpn4PGGnVBKIlTY/fJW4= 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 1780007483882320.0373952872925; Thu, 28 May 2026 15:31:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wSjDn-0002t6-A3; Thu, 28 May 2026 18:28:59 -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 1wSjDl-0002s0-II; Thu, 28 May 2026 18:28:57 -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 1wSjDj-0006vK-Pp; Thu, 28 May 2026 18:28:57 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MgesG-1wwJnj2Pwy-00abvW; Fri, 29 May 2026 00:28:43 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780007324; x=1780612124; 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=sp3SmvmnbBUcsGiRV48LtJSxNIDpP845putWL9gx1cWT34G/N98Bl11PUiWMWX5q 4SJIdpniQLavNH+Wn1N6cailLDpuqe2PnZEGVWiZaHy07yyciHVipL293F9hzlaxm fSQkkDqDzBqABm0v1mT1o9p643UxHUYA9DT75tXxplICL9tjaJO1UshLq5sdw9aSA JB0gYx+rEGpDN2QHH+RWwd2HgnJli67dgsgW9zUnQYyjwji0Ztwud/0RRcODvI6Rh TJn8KLG9wEpqfbsSCTPtDX+ShFICqfxdnB1TQLr1il06wak88BcC78+8Xa0Nb3z+B V+Qiiu95d++3xaXKNw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Yoshinori Sato , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Ilya Leoshkevich , Aurelien Jarno , Aleksandar Rikalo , Helge Deller , qemu-s390x@nongnu.org, Eric Farman , Laurent Vivier , Richard Henderson , David Hildenbrand , Pierrick Bouvier , Cornelia Huck , Matthew Rosato , Jiaxun Yang , Matt Turner , qemu-stable@nongnu.org Subject: [PULL v2 02/10] linux-user/mips: save/restore FCSR across signal delivery Date: Fri, 29 May 2026 02:25:39 +0200 Message-ID: <20260529002548.19293-3-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529002548.19293-1-deller@gmx.de> References: <20260529002548.19293-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:JaZZdhiIy+0iMci+QaqZSXLpVZqEOExxItq2RgXB5T8/6/F2PeR ra4PlsNwQy961gOUTz0a+vZElL/LaHI7pJ3C4MZMCN2MiPE8Hgag11dKcIhRE0LF652invv JXfLblUjCS1MxrTGwoHaJiW88snyCAFfnxZ+IcNHVo8VuD1z9YjoV3jJzoAF6xGgml7+BVi SRZarpGC07FIk58vnjCwQ== UI-OutboundReport: notjunk:1;M01:P0:7wJNohgIzao=;+BBqqhAeG7TCpkMsYbUrGAj39HU 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 hCp0DOGG9JiBLASYTF9NmVLqFF328CgM6cxrmrL 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: 1780007487213154100 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:12 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=1780007457; cv=none; d=zohomail.com; s=zohoarc; b=G1rgnIONCRInJNeDQ0Iubx1hgPSPPix2A0eaTq1px9lE9pE95Dptylpxw7QUCdsGpvUyHcpfc48yZcNCBIPk8UuKm0LMgvG6xVbFX7pkqzNs0iYl30+zYZIuimzrwQDbQOEYaxTsW+dRN2/Y6Cd5XOaS12ntZCJs0FR/Kev+1IE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780007457; 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=cDFpabEyPMZNJXI0mG7rgV2FQYEjZKpEACIIsE6/ddXy9Cz/aqNhP7rwr4XTeY1QWq4qNoZHaJQFW9gp6QtA8rmVWhnZaOzJ6jnE53vR8HaOB92/q8YzEHYKby/XSlb9VD+WEVP8DHFz6z8oRamzNcQnxUZVwMjDwPQeZzK9ra0= 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 17800074578561021.013546708488; Thu, 28 May 2026 15:30:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wSjDj-0002qG-DO; Thu, 28 May 2026 18:28:55 -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 1wSjDh-0002p6-54; Thu, 28 May 2026 18:28:53 -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 1wSjDf-0006u7-8S; Thu, 28 May 2026 18:28:52 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MWASY-1wn4SN1Tje-00RQnM; Fri, 29 May 2026 00:28:45 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780007325; x=1780612125; 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=J3iup0751gfz9Wm3qJMMsQHzPHfd5dA56pGFARu0vh55H+ehnfHj3pDgetbXeCeD btRSncpFGTlfrLUVWFoNm61iGWIqJqObgpFP0gOOUaaiw3KmS0i92Wt26dcYPUoF9 chui9u6lAc8jydQFF4FpJ80AVYx6PjVo/lPuc5jWRyDdQl0OPp9nBJZilBJPGg9TH l7plQpHpb6PK/uA3VbcmrKTFsPF/R4Si4fOvBfOm8aOKIJ/yOXvISkf1I752okXYJ AMQeJqq3T9oBMtr14OWEG70PzyDjgx2Bbk8Qmw57jP3ebDknVQPh7s4Z7M+5dh6FP m79I45NnPUzrvDNZrw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Yoshinori Sato , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Ilya Leoshkevich , Aurelien Jarno , Aleksandar Rikalo , Helge Deller , qemu-s390x@nongnu.org, Eric Farman , Laurent Vivier , Richard Henderson , David Hildenbrand , Pierrick Bouvier , Cornelia Huck , Matthew Rosato , Jiaxun Yang , Matt Turner , qemu-stable@nongnu.org Subject: [PULL v2 03/10] linux-user/sh4: preserve T/M/Q bits across signal delivery Date: Fri, 29 May 2026 02:25:40 +0200 Message-ID: <20260529002548.19293-4-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529002548.19293-1-deller@gmx.de> References: <20260529002548.19293-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:MeMmQsjSWAThhV9htHj6EQ8iEZsVnIwtWPjfdONFKmkOTJLVKrh l/Fsx+vuDOvcBBpINub9aT6VQ/0ZtR1B1YJlvi+IEXUO0u8PMkqDKDnlZn8npnMJ9Y26R6r 7ix/naet5lZYXiFTzOnY2Depsc7vDF6kFeLaqneyj69layZ4P7/nqqJxHY6DbCCC+D9gIw3 hscT3cOy/xKQ2uK94LodQ== UI-OutboundReport: notjunk:1;M01:P0:LRyspfaRCXA=;MFKwL07Pq5X2zTUkuEVuJSr0KDd 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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: 1780007466924154100 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:12 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=1780007355; cv=none; d=zohomail.com; s=zohoarc; b=ORHHwmTlyXCLHtfvoSwi8TBFEeX+8+GbDl6NrGuzJ9DScE8G6XbCt9bqSyuHEoZ7IDA8FghPo+WeMutJGY0cPKIT5VEJF8EBR3bcrrSmwbOKUXotrlsNmTLuHTh7iOCNckkzLmpSRhQ3zzSieSXclT823jpItF8xl/wZLee8pJk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780007355; 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=CfvwWnZzEnEuyUDnk1vnuaymFpii+5C5czKQLGI7o6cA54X0ISw1BMlIW9DqbHfq/cTgORXK8l/JBGwQZ3nvhRMmFRHyyvNy9hA7GpsZJc2vBdYLK5/gf8m9HXSN7cvpyU0tVxYwwUHjW07ajxK0NRZjsSfFci03Cop+Jhe8lSg= 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 178000735528412.231209086766171; Thu, 28 May 2026 15:29:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wSjDm-0002sp-FR; Thu, 28 May 2026 18:28:58 -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 1wSjDk-0002rB-TL; Thu, 28 May 2026 18:28:56 -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 1wSjDj-0006uu-2W; Thu, 28 May 2026 18:28:56 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MTiPl-1wsHOE0Nw5-00W7tb; Fri, 29 May 2026 00:28:47 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780007327; x=1780612127; 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=hOGvbiNkBVFeiBssnZ+FL9VcplfU6g3wGWBfyIGT0Ef5zvkGImXR5PYUBhOCg5Zf TJ6WclqbFMjKV/CW5MNzIGYwu7+WuOhROZvVdubaZ7NPgfIT5ywBXMaB9Vuvl0r2Z m/XfGnswjVj31O1UeXD/72PwVS1cnLiR04FgldbmJMJ0aizuF6n4UXisXZpuUjtyq 94zilRIOwu7vQuQC2LqUnwpwDPHglUZ+9ZmO7x+Jy3anTuS/uzh7sxc4iexhlfMu/ kBxIFf54IvfNLDa0Dys/3RC0wzcriTxzZWohRIzenA/BW/OHwF2dYxVSkKhuwojWi eTk4iQWKsJ3Fm3Kr8w== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Yoshinori Sato , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Ilya Leoshkevich , Aurelien Jarno , Aleksandar Rikalo , Helge Deller , qemu-s390x@nongnu.org, Eric Farman , Laurent Vivier , Richard Henderson , David Hildenbrand , Pierrick Bouvier , Cornelia Huck , Matthew Rosato , Jiaxun Yang , Matt Turner , qemu-stable@nongnu.org Subject: [PULL v2 04/10] linux-user/sh4: restore FP rounding mode on sigreturn Date: Fri, 29 May 2026 02:25:41 +0200 Message-ID: <20260529002548.19293-5-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529002548.19293-1-deller@gmx.de> References: <20260529002548.19293-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:g3OHMdlONlWuxlRATav7FiOQGpaHyx9U/ZQh+ssgp2GZyXjyCsX YKXTSn3UBTPrYwVFIXUlX1oob64TLsYuFjoEVkLIfypgx6Dh5CSWdPateUMGAkvolx093KX lR+lE6wxiis9WuCg40Uwb9MNEiwP9eEHWcTSWgkP+/vXtgBbV/xJglEn6iTTtnTW+D5nqKN ACBZHM5iXXpH0Vgjazpfg== UI-OutboundReport: notjunk:1;M01:P0:WCRdGhsEtgg=;I7t5nZDfUz85LaalPBhEVB4s4oe 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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: 1780007359694154100 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:12 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=1780007404; cv=none; d=zohomail.com; s=zohoarc; b=NXY3UpB/8euJ0wvAw1R1mHb3TDyQ0rBTYlWJ/G75J1eP5SqRA2EFIMQDuDJcX484/IqASwtyA2rGaIluxvHc8y/sMp1Bb5dDkjWw+IyLMvmkhSA1oNIGhhsVBHpI27U1fVMdMb6hTl3lyfPf5kIKFlqon7M5ii+whc+bCNJvIx4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780007404; 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=AoutqYf6gZsdd4FixUlTykpY9PbTWIW5X6PctAHEYkHAZWBMolOHYkWAbpiXmmdpB4+NyWb9ldVGW9uZ9xOrvHdg338tSDLxh39oakhq54ztIem/UMMGDFu7kD1zIjqQrTyfJ6v1OvQ89rhlG6LhmRJSflT6M09cSWDxas5ftbM= 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 1780007404888727.8680636450214; Thu, 28 May 2026 15:30:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wSjDn-0002ti-Tq; Thu, 28 May 2026 18:28:59 -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 1wSjDm-0002sR-40; Thu, 28 May 2026 18:28:58 -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 1wSjDk-0006vb-BQ; Thu, 28 May 2026 18:28:57 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M89Gt-1wPAig0XVD-002vwD; Fri, 29 May 2026 00:28:49 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780007329; x=1780612129; 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=Q09S8W2YAPCxeDuiLTUs46Q/Y/CYrRGoh1OTnCYW0fE5Sjxwi8YI/aYYghRUYUBW crM1A3/St3oGPZnF3CNCk4PmCa0XnXh1thPmp9JsGti/ZFgd13/QzjD9jO23gc4Ma BdSoBC2fCgwYdCZvr2T067ocAjwz8Y86gCqBBLBvPOu3/pmyBfzxs+aK3wApGgXbu wTBSWD4oTi8ib5yPCViJ+umBBWveLom+hCsBL/alWOgkQuokKFWGz7qFBXlxUspBQ une/vW1D+mynurcuxbNjQTIs4RqybXovU0hXse0owWCplbbS2gFVrOYbY0bu65oeK m+eHp0BIgtCuW2HugQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Yoshinori Sato , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Ilya Leoshkevich , Aurelien Jarno , Aleksandar Rikalo , Helge Deller , qemu-s390x@nongnu.org, Eric Farman , Laurent Vivier , Richard Henderson , David Hildenbrand , Pierrick Bouvier , Cornelia Huck , Matthew Rosato , Jiaxun Yang , Matt Turner , qemu-stable@nongnu.org Subject: [PULL v2 05/10] target/sh4: sync fp_status when gdb writes FPSCR Date: Fri, 29 May 2026 02:25:42 +0200 Message-ID: <20260529002548.19293-6-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529002548.19293-1-deller@gmx.de> References: <20260529002548.19293-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:W4FNIMpIi4c0d7e5SnZ8pdrdP9lTYtzshEh5UYarQXDyLsS4aHY ghgGoFgLgjY5jGRsVCkZ9Y1rqeVvwuFp6oMQo7DomKimgxcAKzO7KNMV62VUbchT7qUlkix J/B6Pk3Ki+n9fE2ZglwU3tsv+LvNeCwiUwygIfNi+9xzU6l5MD9CqJsSclaYFE+axzx6Pn3 IFqzbvbB3AH/9tbKONVgQ== UI-OutboundReport: notjunk:1;M01:P0:grGwnsyFAUU=;lXuTlQ5GU2ZEb209r38+A6G9WqV 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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: 1780007407920154100 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:12 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=1780007461; cv=none; d=zohomail.com; s=zohoarc; b=SNeNWL+W8Xh7wuHvoPCpBoVc5UI+nky+cS0dS29EwZkWk8qhjYJbRQgAC8DXCNLAAliP1l9rcKRNP3k2/k2CcvmW3ThvTQpYOQgFcl8iTuJ4Dn1npppMsMOfAEI9Rlr/JfXSSzqCvhQ2klSEA3LfbyPxDKNfzM1bbOclmGAjvBU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780007461; 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=ZY/BYilMkLiRJKDSAKMsDOQLF5zvUSgEZEkZ0LWqiT7jMKnnXwZecfwi5WnHVVAWH9J4AaA8qWQamXtkr15ggV2FmEuPhfuDu9WwqBL2F4KTvgnHmBSxswMPGYGRA20njmPreEwe2mt67p/pY892zHLmqbA82FJFduVWTDs4D6A= 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 1780007461036539.6895958681449; Thu, 28 May 2026 15:31:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wSjDl-0002s4-Lt; Thu, 28 May 2026 18:28:57 -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 1wSjDj-0002qF-Bv; Thu, 28 May 2026 18:28:55 -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 1wSjDh-0006uL-Ew; Thu, 28 May 2026 18:28:55 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MgvrB-1wwanX47Ez-00aKwd; Fri, 29 May 2026 00:28:51 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780007331; x=1780612131; 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=towmhOtvrjO0uQQ8QNb3ZUmXYw4FfAoX3lMPulF1Gg0DOWgpHzrZjogTi5ZP+xtk nwA+VBJbToos1zIcR8WPHpPghjDlFJ/SdtaOU1U/98iP9t1tJgLNo48nxweJeeTmE 7Wbpt/wpDiY2T7ssIRo5v4s/QTmCz9Joxe/b30bZrOaYeOEpX32/URJrX67JZB4xM 2XkC5jkSn3Gwm7oS+p3A+g8+yelkaphqGZukwdw7yjBEsZ/4FIdmJrJJR7sOotYxd AwfhKbX9p9FH2LvgIi7CeLbeV0ZhGyl69nYuBxpTFgzb44M8lx0Bo5XC3w+vvb5DT AIoxbDOM+R3v38xa8Q== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Yoshinori Sato , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Ilya Leoshkevich , Aurelien Jarno , Aleksandar Rikalo , Helge Deller , qemu-s390x@nongnu.org, Eric Farman , Laurent Vivier , Richard Henderson , David Hildenbrand , Pierrick Bouvier , Cornelia Huck , Matthew Rosato , Jiaxun Yang , Matt Turner , qemu-stable@nongnu.org Subject: [PULL v2 06/10] linux-user/s390x: restore fpu_status rounding mode from FPC on sigreturn Date: Fri, 29 May 2026 02:25:43 +0200 Message-ID: <20260529002548.19293-7-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529002548.19293-1-deller@gmx.de> References: <20260529002548.19293-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:lI13H5Beg9AzgyXznX56EtqeKo4+egXVi0CcB6zsEBuhjLYX41P ZzgN0Vj51/p1QhPIZlSipnUiHgmw4JcAzGJ506seNNqOuJ23ONgXcWXJm/L+4C3Oh6U15Lz +wU/4hR2ZqCuLA4eCv0xU6pnPzAj9dz8m3fWIjRGe/hmxvKFulTELObRpr3uARjFTuAWTsN mM8h1WBN8pWwE1f0Our2w== UI-OutboundReport: notjunk:1;M01:P0:KK/t2R23oTs=;Wum7zW3XB7f8dGD9+LKUgrIpFTb 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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.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: 1780007462752154100 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:12 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=1780007429; cv=none; d=zohomail.com; s=zohoarc; b=Kiiv0xVynwhPc9F+wof5DFsMHs3T/J1/RFe0RuJcQtae45ojl7gb94eUjPpxKTNpuTcM4nVjOxvZOuvigxCFdvLlLs7L2BiqrSf2TKeOKOIo5zkp3eTpz5B8CSTPcdJOGkrxwC6fYxa4tQ4d7UokzKAOw+vYcHMLsP7IA8KYduY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780007429; 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=ad8r06B1vPYIOZI6F5rInQPKgaCFRMO9XHzi1cEsym8=; b=bCY2NWZmJLH8xQ9ikQhFqO6elDtvQ6xMPoDV9oztVcAARnCKqxowDx5KtKBTqmOdKm4/3v43rjmv7G+75jw+Z9O5+ukOVfGKwSSmr9BOa2EMeu4oHZcZYwmMQmlZb3x7aYlVPXL50fJ033cGUOWhU4ftfFUJhF7DsbTzoGzmn1E= 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 1780007429039168.38356190055333; Thu, 28 May 2026 15:30:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wSjDx-0002z2-Tv; Thu, 28 May 2026 18:29:09 -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 1wSjDw-0002yA-Lq; Thu, 28 May 2026 18:29: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 1wSjDu-0006xX-Qj; Thu, 28 May 2026 18:29:08 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mo6qp-1x4sFr2tnH-00iY8j; Fri, 29 May 2026 00:28:52 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780007333; x=1780612133; i=deller@gmx.de; bh=ad8r06B1vPYIOZI6F5rInQPKgaCFRMO9XHzi1cEsym8=; 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=mNMhXXgI2Mlr08x+10cyKnsTml6+L2ZM21e7gaBYWCagEdv4wHwTHI7OYTaIQ3H6 ekIxyFiYtawJbmH0AdGh2UrFh4FJ+hb1+yVKR5F4GJBPfe40PoIHim/4ImcEkWsTW eoKmsFWmjws+bVatvFrMuai0XX65n21KtUQCY+Df1xF9RKdRFE/2Y91P+xueq8qzv PNEN7kxhHoO7thPmhqWugYYnEMvTA+Q3tdojHtr3ZV3woz/0VdHhp8IrIOLqPXEzY Ui9tyjf5seZEc3PguL0LHttwy+t5x1WRmURWP2IPFMK3kIE9NzZckKZwZPRxnvVaL kNQcbbquOFQuW2Jn+w== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Yoshinori Sato , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Ilya Leoshkevich , Aurelien Jarno , Aleksandar Rikalo , Helge Deller , qemu-s390x@nongnu.org, Eric Farman , Laurent Vivier , Richard Henderson , David Hildenbrand , Pierrick Bouvier , Cornelia Huck , Matthew Rosato , Jiaxun Yang Subject: [PULL v2 07/10] linux-user: Implement finer grained madivse() syscall Date: Fri, 29 May 2026 02:25:44 +0200 Message-ID: <20260529002548.19293-8-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529002548.19293-1-deller@gmx.de> References: <20260529002548.19293-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:+FQwbgjNoHHmka/u919GFm9rRuBH4IuDGD4LB9e5fbrorU9cIsI 8ISVncs5LSGPMwKo9l97k+/qQktyb3TbyJQTiO3jRc37pKocc1srDjiuL27hPgl3+ATKrGF THqT43bfb+chb5cBX/vaF/eldBuqZRMOvkKrBDiltWHREKpvH3Ol9evWX/++V1XD1nFOYaT CpNBIIWP7mXeMxkbg9CXg== UI-OutboundReport: notjunk:1;M01:P0:vQpJKCBSeAQ=;GZK8iKvV+B04IvsVWoRI/HSXNFS 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 Ahs9mdpbxOb7d7ZGxWOSBkd91MHT2EUk9q5YdyX 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: 1780007430283154100 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 | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/linux-user/mmap.c b/linux-user/mmap.c index b4b7b3e5cc..50916c29a5 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,23 @@ 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_MERGEABLE: + case MADV_UNMERGEABLE: + case MADV_HWPOISON: + case MADV_HUGEPAGE: + case MADV_NOHUGEPAGE: + case MADV_COLLAPSE: + case MADV_POPULATE_READ: + case MADV_POPULATE_WRITE: + 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:12 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=1780007417; cv=none; d=zohomail.com; s=zohoarc; b=E5SAXGp97hCUHY9UbzqiEiUnJSWto1Hfg7KU9nhES/k5jc/CPtGFgxiaYm4Ju2joZBLYb1G5RXww06aQU8Vq/DuyD5YLvVVQpeRwsQEBP5fRn7XVmP80VYaALUcmg8Yvgg/mZjK1Ws7myUAedl/A+ehK9I9y2J+DrLFkchpUtDA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780007417; 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=U8bR6uT2yyjDIfzsoSsZqJ1LmcyavUh346ZlETp1lcw61UgTW2igGgUkXpjVku0DXDsZg8+Jbp8PXEeyOI95CYxdEM3cUPIiXkeLgG1WNvRikcryN/KpU/8VLd2+FDq/XWYjxSQ8xdh8oJ9KkD6Hq9zPhhawFx2duHDxRcacKAI= 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 1780007417650948.9268936287916; Thu, 28 May 2026 15:30:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wSjE3-00032D-D9; Thu, 28 May 2026 18:29: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 1wSjE1-0002zz-Ir; Thu, 28 May 2026 18:29:13 -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 1wSjDz-0006yW-T8; Thu, 28 May 2026 18:29:13 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M89Gt-1wPAij1jgx-002vwD; Fri, 29 May 2026 00:28:54 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780007334; x=1780612134; 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=GDNZ3A5+/YmMn4+C/DHYQOq3TAlFXp96Z+1EqJL5IWmFHgIw6JtGiNP8OWikvLU1 dl8X+2LMqV0CRq3n7EZkZZ0mWz+fhwP/9N4yKJPuoHkCBvd1gGu0becFOabynCtf7 QbveqpPU0THAucckiD2pZwxvbAXNJDs9MUr4jzIWQHUpV1mhcincAiSGqIsy7m1w7 GZm/KK/BCVDR/Z+GdSLQ8SVWkHKRBkfQmrMbdCmWimoMzAiFgOkJekkmWSmx7Qc58 H6Ee/em3ajC1fO9GTWar6imDb9WFpVsO+5jU+dTVjgPzXoSow2CxrnyYrI4GSC1dH 9wpvq7qYvYG2GHXFKw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Yoshinori Sato , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Ilya Leoshkevich , Aurelien Jarno , Aleksandar Rikalo , Helge Deller , qemu-s390x@nongnu.org, Eric Farman , Laurent Vivier , Richard Henderson , David Hildenbrand , Pierrick Bouvier , Cornelia Huck , Matthew Rosato , Jiaxun Yang , Peter Maydell , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PULL v2 08/10] linux-user: Fix typo in function documentation for pgb_addr_set() Date: Fri, 29 May 2026 02:25:45 +0200 Message-ID: <20260529002548.19293-9-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529002548.19293-1-deller@gmx.de> References: <20260529002548.19293-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:m417ZrPkADHA+t1aUGaTs4oyhCAr0D14mfhJot7A51wMqfX33gM FbYOV25wu/IssLU/E6fY7mMzRs8R06CVm1V/dl0vLXtBxpiIB+JuVNjsmUB4r3z9Mp25nAO OhaXMQvTNwU5OqOtDjbWIvy+dvNqa7yKax8BibWdPZZLhkpfigOoCDBbiKFg0eNXGSCbMGA cmbVOf2dAKQUFNqfp3XUw== UI-OutboundReport: notjunk:1;M01:P0:/p0Dig6R6Co=;uqs1WYlmvk1wnsqvWtPR3vja/ER 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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: 1780007417895158500 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:12 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=1780007357; cv=none; d=zohomail.com; s=zohoarc; b=PKQ12P21BMjeRnsvR9/RJJxmT6q0pQmDE1yLxgYAmFzrFYCyt0urUJ+wGEtBU+wpiO50yoNneLSVT+0J/MMk4chkMwI8So/7ITjOKF4Jph9A/8S09gGRYntpVqZ50Bx8LZBFqCsqLcbDObX8K6GvNidPP8a5qOvygu0U6UGHTZM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780007357; 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=RWsQ1iMLdO68LRHIJeIdVEA5aoneoK9Fgdzuxn2NLOllJAK8kBKoSHbNAaKVGGXJf7yNBkz+yMWy8cyHk9bpnm8BTrfmfIR8UatNOJyUF9DjN+e9ndhoN80TwT4119yjRTaYww+RqGyRK1+lP1yL0Adqqm1gyzHTSzzMP8pQYmY= 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 1780007357670228.96571407544718; Thu, 28 May 2026 15:29:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wSjDu-0002x8-21; Thu, 28 May 2026 18:29:06 -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 1wSjDs-0002wZ-5B; Thu, 28 May 2026 18:29:04 -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 1wSjDq-0006wu-EZ; Thu, 28 May 2026 18:29:03 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MxUnp-1xD1DV0esb-00qtrL; Fri, 29 May 2026 00:28:56 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780007336; x=1780612136; 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=je+F85xnuB7yzKihEN0YsRq3kQZI/2ZPRgMf7oQWcJZ1AD4QwZDSfA6Api/12eBp DvN4KlBGetoUNpnlutOWby1WJARcdHLIKYlqGEUf8p7zT7kZTzrH7kj+TLt8YOcpE Olxhrf2LdsaGvl/gE5ABsOW3UeQ3Cf+6n0DmZdDnjC2BRIBFh29fSO3fdcw4/9mpJ Rud8xU/PPTfyaKIZcE0e/RUYEm29yxdA8+HObOjrQjQ6y88rvsQMi6D5fGRRmrKux yJ7b3Ve7lE2Cd45qlCac1ZUYfHl+6HWudTDFLRbsHgcRQZBBSarjNOwtkpmvUmfiu mqXxMF5kn1gaJ1G3LA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Yoshinori Sato , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Ilya Leoshkevich , Aurelien Jarno , Aleksandar Rikalo , Helge Deller , qemu-s390x@nongnu.org, Eric Farman , Laurent Vivier , Richard Henderson , David Hildenbrand , Pierrick Bouvier , Cornelia Huck , Matthew Rosato , Jiaxun Yang , Peter Maydell Subject: [PULL v2 09/10] linux-user: Move init_main_thread() prototype to user-internals.h Date: Fri, 29 May 2026 02:25:46 +0200 Message-ID: <20260529002548.19293-10-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529002548.19293-1-deller@gmx.de> References: <20260529002548.19293-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:njAO7l9LNvby1qfdw44xRGcbpIkIU6hc1I7+W59hz2rI0ianjuU snGoR4R5nXetVH378T6BbSCK0WnuSonEYEneJ4oPqJ+OcxO/m1fTg+qTxVZpxFGf2LS7v2A vbtfqJq/YlnRtM0Xw0bHgbMvvTgxq/HI5+OWZntSuCNaGETkwWlffcyxseidHnAKh+0hzjj aoxUqqzTUQ3rbzL+iU/zA== UI-OutboundReport: notjunk:1;M01:P0:+SRWw1k9GQc=;GIDyqiRUZma5LPloyuSW/U+7BaK 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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: 1780007360160158500 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:12 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=1780007456; cv=none; d=zohomail.com; s=zohoarc; b=WaGqFNv+9v0zJraXd5cSrRbx0eDGBerwdMI1qCYtzznwe0X+gYPXd6vrdWzt2SOxqpeP2qeEDyGfEPhqbAhQiMsWw2ibfvrfJNTZZ/UNvchAltIZBx/tayYTtwD83ccId6ssHxXwsdEjkl6OU9HFObmguLiI51m0APxB99nlWzE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780007456; 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=BOfbpZQ5Pdu3SIFbZyONVTDmbYPprZJMXM3/9ZCMnZlJagCKg92CnNsR1qqV6JKaEbLHLpibMwTZTnrP1Je6Mz6M4LiOqoRkl7lqsDEGOm2mxJnlTfk6MbIGoVocsG6VLjUwtNySOjWfmxEbeOGqgw0tJONChs+OdJeeZr9jzyw= 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 1780007456280616.3666739566223; Thu, 28 May 2026 15:30:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wSjEK-0003Fl-IV; Thu, 28 May 2026 18:29:32 -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 1wSjEI-0003E8-Ak; Thu, 28 May 2026 18:29:30 -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 1wSjEG-00070f-Hp; Thu, 28 May 2026 18:29:30 -0400 Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M1ps8-1wQXMQ0hDs-004rcE; Fri, 29 May 2026 00:28:58 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780007338; x=1780612138; 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=gZAlU50sW+Bz2mDDrxPNDjhiHZafGVTOYBuCBIwZqlmll+peEjo3iHoZmoGQiuhn zTZKG2B2YcnXi1d3HmYQaPDkX2+i7r9KQrVL6YRnPgiCuvJg1XaX5mR0qbbP8oLpH AqOU6aIyUPZObKER6GNVlzuv/cwF27dQmkJojiwo6BPIF0BmNmRsFi6lxxF25SGim mjilGM2oe0zLZGSYl8imxVvvF8gaQX78+z4bQEVj9HMZaLJQHcEjQLlf3rOJLIqB4 MIH3rZbjZ7q5jrckxdj6fPqgIs7YeiNnaA6Xrjw/KsIw6iNfjSZa57fZuUd7UTtoZ /R2E9R8P6YOipHF3dA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a From: Helge Deller To: qemu-devel@nongnu.org Cc: Yoshinori Sato , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Ilya Leoshkevich , Aurelien Jarno , Aleksandar Rikalo , Helge Deller , qemu-s390x@nongnu.org, Eric Farman , Laurent Vivier , Richard Henderson , David Hildenbrand , Pierrick Bouvier , Cornelia Huck , Matthew Rosato , Jiaxun Yang , Peter Maydell Subject: [PULL v2 10/10] linux-user: Move cpu_copy() to user-internals.h Date: Fri, 29 May 2026 02:25:47 +0200 Message-ID: <20260529002548.19293-11-deller@gmx.de> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529002548.19293-1-deller@gmx.de> References: <20260529002548.19293-1-deller@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:uEC6jM5Y71OzI6bF1+IG973MLZHnhroNDIb302Us9IU9J+A07C8 oIFczqda5YH3A7ALtFjx6LtO38viQthBLsd+olVBIsVUkoL5GC6uuEYBrILZD7iG2K6rxUn kzJ35fv/ccE3KHpPpw1+AKx3W6zmvCFwkyFsNCYsfU9usq0vmbWlOD5OEKkBOn7ZBj0Kjbu e0hjyoJLrR2XMwbDMC8EA== UI-OutboundReport: notjunk:1;M01:P0:I9NfkSwf4U4=;L1H5svjNp7MNyTtyIb+AppLxCbz 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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.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: 1780007458103158500 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