From nobody Thu Apr 30 00:42:21 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1776121444; cv=none; d=zohomail.com; s=zohoarc; b=lkHpbJ6B+RWkyGNFhT/SDLXODLQx27ME79HMmiqvIPf/pQMn8bqO2LSkqfedd+Pzt+QS1W+iNq8QEDazbzx/JW2Ir2wno0B1lVLUAN4mGNwtPsBcmAJaYM1LP4yh+CYi0+mB7ES1TjPT6xhZHobI+SfrBUNUl9JGLo3+UBO/uaQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776121444; 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=OKaS1DCDiqzxSEU5l7F4GxOxyESqwl7tvcmMl50HH6A=; b=NjrQvNSaFjSpZ0z4VvETwGevseRw0tUpYnjvgRxpKJ+9ed2SRlIkejjgo6h3dClhhldsyQW2QU6/ur++8AgvUkUULja9q2CyYL7++W2OIxZMAbaWFT8YN+p1Uxaj2JfY+bJ+/sWxNeFPrTmphYK2Ucrn3jNNDswJWAiFokD+L8Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1776121444154537.6752515044136; Mon, 13 Apr 2026 16:04:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wCQJB-0005JZ-7U; Mon, 13 Apr 2026 19:03:10 -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 1wCQJ6-0005IN-NT for qemu-devel@nongnu.org; Mon, 13 Apr 2026 19:03:05 -0400 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wCQJ4-0005AP-TE for qemu-devel@nongnu.org; Mon, 13 Apr 2026 19:03:04 -0400 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-2b24fede2acso28260175ad.3 for ; Mon, 13 Apr 2026 16:03:01 -0700 (PDT) Received: from stoup.. ([2401:d002:dc0f:2100:377f:61ec:6edd:e205]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b2d4db008esm120507675ad.16.2026.04.13.16.02.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Apr 2026 16:03:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1776121380; x=1776726180; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OKaS1DCDiqzxSEU5l7F4GxOxyESqwl7tvcmMl50HH6A=; b=ft3bMS7P73qPL0E5Sn68IWhlhELeTNzi+FHjB/9zOkbXOvc8R5kmZIdCMYt5eEpdN7 5B9yBdHIWIjjXnu9DpvOYUEKOwdWrz99ruaVnRad5Jn4jxNllFZoVWsb7FP3vKQmVGN5 tMo7krLayNdrNxYiGnMJ/vi8ts0QyZvdojlUm5GO30wERXWu0fU9WB16PKeoYF4iydWR pwNxFDLWgIzuRY1RanyN/0ymykQrM/gcBYcVkJ13indzPLMTn2AwvVv4kV59XN076OIj NB9rCWtrhu2BTYSU9DBxi6GwRT9bfs9wbt82jFwM/LMnPttH/dqjlW73j9Wq5tO/SDi+ ERew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776121380; x=1776726180; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=OKaS1DCDiqzxSEU5l7F4GxOxyESqwl7tvcmMl50HH6A=; b=lVvlxaZoPjpytI9HYYVoxQxdjhSTVbOxmIUJagiAv5alEQsB03hzH0iyc6SsJzxXFr VBkBfZF95i1QRkSiVCqn3JNWw0p7Zc27t4QRxs/12ms6orw0GJnUGZVFk5EiS9TRfWCR nOAYQW6PVDIIVthJqVxfpHS6BwKN4H/VQUMdpGev2f4Q/iGQkOjerIBZIhU2mlahmEwI KUPglv+kj6obIaFyQyvWFGVljxhmDBvZyOnL5kROj/ImeCM+HbYXCtNl50AnQUZkLiKG VlqgbqgrN6AfWP6WQKsb7ZHH0YaffHZCB9kcCyNcbYu82pHMm0k8ceKqbjdbGILGdLdL xi+g== X-Gm-Message-State: AOJu0YwYbAPdxSz8izGbbnP+ZOX+l4oFjccvigmoHi+UWdF0ArCV1Pxk G8/8iS+At+FXdvqvhwuOtxWtJyRcaH7qM4lwS7Jf2Mzlk3CVu8CC6fNItimzesCKZ/v/yy17xR6 mkXdzv40= X-Gm-Gg: AeBDievaJsuydS3o+a18xWYiL7G+V+3hk4RHh4ZRBRRhMqFRvl0syzj+G/0ZUG+ZAe6 zRYqMLCMVJUb7XNGIqlB7/94SByLe86OgxhV6kn/wVmRy1Eh0COkj+XffQgLdBHKNFzTB0P8vOJ j/AAOtcr9ZRt6wzhQlkEx1uMKs1gPpehyukFimpnEMVISC4sNXepJTQWscRJJSpul9/GVpMZBM2 pJVUQVBu493O8skomv1iBz0yTP9Q6ZDc9V9O8kax8q6jJsk5/Y7Ba5QD97lc7yPI1losK+HFMk6 pU7Mem/XW6oaK2WaMXGJ4xJD17KwSbtgqM0gXBQsrSbInylRj81wHNf1yVl//R6a1OdRRfLbrJn P9NRAw0KBBet569YuemRSXzkNqCmdlS8vEWYj4d3STYd2+blodv4IIEAMokuTJt3sx18/Gagixm VehZPI0xYed8I+sZhXtmiBxvfgYTb7JdMJ4A== X-Received: by 2002:a17:903:124e:b0:2b2:ec6d:16c9 with SMTP id d9443c01a7336-2b2ec6d19bemr75223925ad.44.1776121380356; Mon, 13 Apr 2026 16:03:00 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 1/3] docs: Deprecate linux-user/arm/nwfpe Date: Tue, 14 Apr 2026 09:02:49 +1000 Message-ID: <20260413230251.22537-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260413230251.22537-1-richard.henderson@linaro.org> References: <20260413230251.22537-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2607:f8b0:4864:20::62d; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, 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 @linaro.org) X-ZM-MESSAGEID: 1776121446352158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- docs/about/deprecated.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index a6d6a71326..e7023b96c4 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -494,3 +494,15 @@ If the user requests a modern x86 CPU model (i.e. not = one of ``486``, ``athlon``, ``kvm32``, ``pentium``, ``pentium2``, ``pentium3``or ``qemu32`= `) a warning will be displayed until a future QEMU version when such CPUs will be rejected. + +User emulator features +---------------------- + +NetWinder Floating Point Emulator (since 11.0) +''''''''''''''''''''''''''''''''''''''''''''''' + +The NetWinder Floating Point Emulator (NWFPE) is a software emulation +of the FPA11 coprocessor to the ARM3. This emulation is no longer +enabled in the Linux kernel by default for any kernel supporting the EABI, +which is now standard for all distributions. Compiler support for FPA +was removed for GCC 4.8.0. --=20 2.43.0 From nobody Thu Apr 30 00:42:21 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1776121433; cv=none; d=zohomail.com; s=zohoarc; b=WSoC6USU7oAAJ+koBt0ZODIwBEMqK2/kxGEaWNHuDMMC9WOFn//WWguxxwNakWeUO58GPd5e07nCwGQndxIDmsxZD4z58+WAS9b8r+6RMc00BlElMudA+aByKIQYEuQwXN6H9PdYk2P6p9ojW2gWpIWxeuP4i5Bwxnd+uYr3xqc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776121433; 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=41ldc32dTmcHvnuwGdzz+RHjc7zQRZZM6Bre2zZ/YBk=; b=UQkSeW9hoNKfZ2AEmV+tWGPTHDK5kRka3KTtLwE+1eiMssYRI2lvLoYSXcNxegK0nuUeXmvn+X52gbMmlJNOGKXvOXB33TkpbF4QXkUOVNG0bT/p/JoBJsz6CTsYSW2S5JaaSjrWN6nr7EHVxHa7JS1aacTL4cZ/jIp8DDRUZes= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1776121433077920.0277639530668; Mon, 13 Apr 2026 16:03:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wCQJD-0005Kh-Bd; Mon, 13 Apr 2026 19:03:11 -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 1wCQJ8-0005In-De for qemu-devel@nongnu.org; Mon, 13 Apr 2026 19:03:07 -0400 Received: from mail-pg1-x536.google.com ([2607:f8b0:4864:20::536]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wCQJ6-0005Aq-OU for qemu-devel@nongnu.org; Mon, 13 Apr 2026 19:03:06 -0400 Received: by mail-pg1-x536.google.com with SMTP id 41be03b00d2f7-c76bde70ec9so1965991a12.2 for ; Mon, 13 Apr 2026 16:03:04 -0700 (PDT) Received: from stoup.. ([2401:d002:dc0f:2100:377f:61ec:6edd:e205]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b2d4db008esm120507675ad.16.2026.04.13.16.03.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Apr 2026 16:03:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1776121383; x=1776726183; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=41ldc32dTmcHvnuwGdzz+RHjc7zQRZZM6Bre2zZ/YBk=; b=ZoSwiDR92LSajdBMH1u+QS+zxE75S7/TVwUTnDU9xcM5c0LxnEba6bJI6tpB2MclQV m3m1MTWMkOfuX2EA9HsgRRAU6W2+tE5RclBg80E6yGWfKEdAQ4dLezuss/mD6M9lQZ+L fYd9/Lo2wV6dXuv5VVv/gzjWXRcdiDdBRbqlJl4oZPFw13qpHKZDungpJbj/+R7JkH46 G9nEYIoPmHFiET9h5XQKUK60xRmK3ExRDJ+lTWmAcVQScuqWXOM3UrC9fSPVcRO3c+S4 f4RNiFeYfn/lg5CHz2fKApp4lHYjGt28QkdVJbISFScOU4xIh5cOuiVrbgcFudu7V6TY 4oSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776121383; x=1776726183; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=41ldc32dTmcHvnuwGdzz+RHjc7zQRZZM6Bre2zZ/YBk=; b=b1V2Qd8g/crEBqcMyZj1Mytev8o2jg4NoXaKtcvhIOaB8eYlkU7hH+OEPzdfragXhx llDFnbOXhHA/vDiDrsoBbSVWnhKTkOGujQTn/CbKpNZKVjXYmtg6CNWc2yBm38/FY5Nx SOCEgHZQ19AyFfuTAT/4IDl15vwDAgLeNjhvjfXl3YK4mCyjrHXGrDtgvJkm6pqDs9lW jm2kdOXxqM0hnImElBlTNO8iJPgXuOE4fRbQW5IBMy8Bu/cP7B9jEYXZguEK6+lUIaR0 MlcSA+Q8XMQa7PZLMxBcZ7hVWx5hRLnueXwmOXbb9Bc3ECDN5Wzgq6PpN0GBgu5A37Dp sF4w== X-Gm-Message-State: AOJu0YzAlCoS4E4nZvbXzNkdExVGXMYig334n3C1MLWw8g/cpshc7Caj HRdnyV71Kx39zoQ2/1YrhuhmZd34p1eya8hlJq0a65EXwShh4ABfvURyFbg8EtQ+QEKHkHqOyqv 52zyXYwM= X-Gm-Gg: AeBDieuO+/Z9OnWsaa9oosUo0W7LcMumF+JZfdCwoEl01Grh76HpffgJXKZQuWgV+id PP6fSt46GiftEsfTzNHNZGQv5bk0oeNNxsgXo+5TjEF/ag4xRsaH8pzL9Nq2J6+mdlbjq1qjYre +Qscd+xg4qosXpaX9uFtPyow+MORETgk8S443HNFnCZMoHjM7b0ADDsJygfHR/u9hqhr1Qq8y8J evlio1BwnocCFeekEhWqFDHfmOWxHnUCcD/zGazmq2YItoLfJeLsbxTsddTDIoj8Ut0OfCeEIdM 3jthn/3gVxAiymebiLXhABgQdU6BNbCOJprylUdVUUck0pGgvf3RMs/FuIWuOC9Vbb0f86Cg9Ht 0ezL7jOsktOytwf07qw7sYlRzJIJljG1GTJg1aj+jcQJVRFMhao4f0RVCLISCm/CBhk6ZyrmVS8 uXCBtUG0/jnVoE32VJzZDa4w6Xv6wnLhLFIQbU43FtXKfF X-Received: by 2002:a17:902:ee94:b0:2ae:cb0e:fd59 with SMTP id d9443c01a7336-2b2d591d25amr107701775ad.8.1776121383093; Mon, 13 Apr 2026 16:03:03 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 2/3] linux-user/arm/nwfpe: Replace user_registers with current_cpu Date: Tue, 14 Apr 2026 09:02:50 +1000 Message-ID: <20260413230251.22537-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260413230251.22537-1-richard.henderson@linaro.org> References: <20260413230251.22537-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2607:f8b0:4864:20::536; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x536.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 @linaro.org) X-ZM-MESSAGEID: 1776121435824154100 Content-Type: text/plain; charset="utf-8" Use the thread-local variable current_cpu instead of a global variable to access the general registers. This also means we don't need to pass env to EmulateAll. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- linux-user/arm/nwfpe/fpa11.h | 23 +++++++---------------- linux-user/arm/cpu_loop.c | 2 +- linux-user/arm/nwfpe/fpa11.c | 9 +-------- 3 files changed, 9 insertions(+), 25 deletions(-) diff --git a/linux-user/arm/nwfpe/fpa11.h b/linux-user/arm/nwfpe/fpa11.h index d459c5da02..20f9d2eb81 100644 --- a/linux-user/arm/nwfpe/fpa11.h +++ b/linux-user/arm/nwfpe/fpa11.h @@ -25,15 +25,6 @@ =20 #define GET_FPA11() (qemufpa) =20 -/* - * The processes registers are always at the very top of the 8K - * stack+task struct. Use the same method as 'current' uses to - * reach them. - */ -extern CPUARMState *user_registers; - -#define GET_USERREG() (user_registers) - /* Need task_struct */ //#include =20 @@ -91,25 +82,25 @@ void SetRoundingPrecision(const unsigned int); =20 static inline unsigned int readRegister(unsigned int reg) { - return (user_registers->regs[(reg)]); + CPUARMState *env =3D cpu_env(current_cpu); + return env->regs[reg]; } =20 static inline void writeRegister(unsigned int x, unsigned int y) { -#if 0 - printf("writing %d to r%d\n",y,x); -#endif - user_registers->regs[(x)]=3D(y); + CPUARMState *env =3D cpu_env(current_cpu); + env->regs[x] =3D y; } =20 static inline void writeConditionCodes(unsigned int x) { - cpsr_write(user_registers, x, CPSR_NZCV, CPSRWriteByInstr); + CPUARMState *env =3D cpu_env(current_cpu); + cpsr_write(env, x, CPSR_NZCV, CPSRWriteByInstr); } =20 #define ARM_REG_PC 15 =20 -unsigned int EmulateAll(unsigned int opcode, FPA11* qfpa, CPUARMState* qre= gs); +unsigned int EmulateAll(unsigned int opcode, FPA11* qfpa); =20 unsigned int EmulateCPDO(const unsigned int); unsigned int EmulateCPDT(const unsigned int); diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c index 19874f4c72..262ab5cc41 100644 --- a/linux-user/arm/cpu_loop.c +++ b/linux-user/arm/cpu_loop.c @@ -215,7 +215,7 @@ static bool insn_is_linux_bkpt(uint32_t opcode, bool is= _thumb) static bool emulate_arm_fpa11(CPUARMState *env, uint32_t opcode) { TaskState *ts =3D get_task_state(env_cpu(env)); - int rc =3D EmulateAll(opcode, &ts->fpa, env); + int rc =3D EmulateAll(opcode, &ts->fpa); int raise, enabled; =20 if (rc =3D=3D 0) { diff --git a/linux-user/arm/nwfpe/fpa11.c b/linux-user/arm/nwfpe/fpa11.c index 0f1afbd91d..44783934b2 100644 --- a/linux-user/arm/nwfpe/fpa11.c +++ b/linux-user/arm/nwfpe/fpa11.c @@ -30,7 +30,6 @@ =20 =20 FPA11* qemufpa =3D NULL; -CPUARMState* user_registers; =20 /* Reset the FPA11 chip. Called to initialize and reset the emulator. */ void resetFPA11(void) @@ -156,7 +155,7 @@ void SetRoundingPrecision(const unsigned int opcode) =20 /* Emulate the instruction in the opcode. */ /* ??? This is not thread safe. */ -unsigned int EmulateAll(unsigned int opcode, FPA11* qfpa, CPUARMState* qre= gs) +unsigned int EmulateAll(unsigned int opcode, FPA11* qfpa) { unsigned int nRc =3D 0; // unsigned long flags; @@ -173,12 +172,6 @@ unsigned int EmulateAll(unsigned int opcode, FPA11* qf= pa, CPUARMState* qregs) } =20 qemufpa=3Dqfpa; - user_registers=3Dqregs; - -#if 0 - fprintf(stderr,"emulating FP insn 0x%08x, PC=3D0x%08x\n", - opcode, qregs[ARM_REG_PC]); -#endif fpa11 =3D GET_FPA11(); =20 if (fpa11->initflag =3D=3D 0) /* good place for __builtin_expect */ --=20 2.43.0 From nobody Thu Apr 30 00:42:21 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1776121442; cv=none; d=zohomail.com; s=zohoarc; b=fwc6JWwAve+23E4dJ/wt9BGOtn2zRn2hposfN7dzYGrgAJwVVfUWSr2NzUnNNIMHHORHRcKGyLI8EuzyYPq2ov9l8mC0+O/NL7GEmOzZG/ppsSlKBql9pxgQMF47b2WGohnFe4d90zG4vqbtxajRHjcqzHFrxDoEJLaeP+B+lyU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776121442; 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=xNSiu+7tUjOH0CH3gFe97LNdkln+koLOCxAi0WmfcA0=; b=bvAsykO5eFze4N0ln5DI1jvV85qzTyejbYwXv2lUGkUSid6ZYpLit+RYwW4oplsqPHuTfGg3CfREDjq2DPjz7sFqCUIrxQAr4BHTykoTVp+Df3xhbjDPgkm4nhu2gbz2R4nRO3aY9tRXEjb34/JXASj1/EZn5/wxXzL4kxiiu9I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1776121442153565.2190400175235; Mon, 13 Apr 2026 16:04:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wCQJD-0005Ks-OO; Mon, 13 Apr 2026 19:03:11 -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 1wCQJB-0005K5-Ub for qemu-devel@nongnu.org; Mon, 13 Apr 2026 19:03:10 -0400 Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wCQJ9-0005BU-TN for qemu-devel@nongnu.org; Mon, 13 Apr 2026 19:03:09 -0400 Received: by mail-pj1-x102c.google.com with SMTP id 98e67ed59e1d1-35f9ab079bdso1099724a91.2 for ; Mon, 13 Apr 2026 16:03:07 -0700 (PDT) Received: from stoup.. ([2401:d002:dc0f:2100:377f:61ec:6edd:e205]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b2d4db008esm120507675ad.16.2026.04.13.16.03.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Apr 2026 16:03:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1776121386; x=1776726186; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xNSiu+7tUjOH0CH3gFe97LNdkln+koLOCxAi0WmfcA0=; b=x9HF+85XEf/XTuNhzIV8bvui5twAeAJmRyCAXZ3UqMM6Ymh2LMeMqkhKP0t48/ZeQX CYnOSyHd9Q7/ZduJMEyukxy3cT2H4CSqNSMs1dDhKWGNPJyH9gRWRFxjhuEJLmGDq/Md CddCmQ2RT0Qtw8G0paaojIGOMVgak7yIWMFb2mLoD+JYYILcG8pR3KrkWVHF9ysYYmgm Ut3Jq6mlsWXO/7mg/jDqvPTH9J7o1h1KOh9jA9HUMTKDIWc73lDVTzm67RwAUvTq1Pub MA/Vm8zSRunxC7y3XuJ/KBJcJd4uPBYLsC4+qG96uVuCzF16qljaHP2ZZ+QpDziI18hE h4pQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776121386; x=1776726186; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=xNSiu+7tUjOH0CH3gFe97LNdkln+koLOCxAi0WmfcA0=; b=KL1uI7Rzowa7tpfUFBed28jsPSPpRg2eaNN/rhCRioVwCpNKRSEeTyricYVW2DtqzO xbA7VvkpBuQQeqJxtAl0L2Li0C6Q8VfR8K7fgDTg2UngX3RJK4QIPjsrmWh73qRJLizk Xl1yqMlxaGALwK/FX7tFyBYbbQ0sg/WMmZwxWjcSXtabTwcWYp+C+u6LuOOIz9lSyIez kEYLc269v0uojWhjk1jFQ2+y4dcgaif7nOzZG88SMC7QK3NgFu4Mg4fzOR9KtX1P5mHY B+YDwPDDIMu2AtEAifvrTgql6JYkNhq1hQquf8QJl8zANxR/Bf4lYwl4VVdQHA56iZsL PH8g== X-Gm-Message-State: AOJu0YyIp0dL2ux79CbWS5y8fGCQszBkidlGVqaneL7SRbohhRYhUJLb kXbu7cG6Teli+uVt/osD4lFOdCMQAOBA0mGsBgXi6ALVDH3jy8ViAvRjPmlTHb0SC/gvXY6BQ1U 6S+y0vvQ= X-Gm-Gg: AeBDieuUoNXTVX/CJDjnlQKTrG2KMKXtxSwkKvvRwSKT+rLwN7mE+/92PAdqdIFdNSo a+eCmIige1SU2696oc+dlQ3Wbt5CS325igVSRQLo+dQKqT/I+3GfXWxdJR37+5iAf7kzCEdZoAB slq7mXrSkl17Z0mZullsCMjkp3HoKq5IG+bS34EMpg+7s0qBEsim/6oRdEpc0oWRDRt4DEfTaqr o7XDYsKzOhtJZo1dS3g9rYOuznTkd9LTJ0qFU89/szfZl0I14pSSDX85OfIt+AuN52kcweHEfUB XsYQSL1VXMvQ+imYqbapbe9/zEEgS/zntxGHEZCgvA9rZIox0uoWRvG237+4oSDdIsT4zST8ur1 eqZUqXesebomtwPqAhzjce5dWboFIwV2QMRoG1KGkuvYxD/1baHPoXR7WSs1fNNhR3JeZ7rXHL3 GI9ikUqpGXlkUc2zd8Uls3tJgSSZnI2K0InQ== X-Received: by 2002:a17:90b:5185:b0:359:8dfd:64c8 with SMTP id 98e67ed59e1d1-35e4284178dmr15560642a91.24.1776121385573; Mon, 13 Apr 2026 16:03:05 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 3/3] linux-user/arm/nwfpe: Use thread-local storage for qemufpa Date: Tue, 14 Apr 2026 09:02:51 +1000 Message-ID: <20260413230251.22537-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260413230251.22537-1-richard.henderson@linaro.org> References: <20260413230251.22537-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2607:f8b0:4864:20::102c; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x102c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 @linaro.org) X-ZM-MESSAGEID: 1776121444370158500 Content-Type: text/plain; charset="utf-8" Fix the thread safety of the emulation by not storing a pointer in global storage. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- linux-user/arm/nwfpe/fpa11.h | 2 +- linux-user/arm/nwfpe/fpa11.c | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/linux-user/arm/nwfpe/fpa11.h b/linux-user/arm/nwfpe/fpa11.h index 20f9d2eb81..659d38ae3a 100644 --- a/linux-user/arm/nwfpe/fpa11.h +++ b/linux-user/arm/nwfpe/fpa11.h @@ -74,7 +74,7 @@ typedef struct tagFPA11 { float_status fp_status; /* QEMU float emulator status */ } FPA11; =20 -extern FPA11* qemufpa; +extern __thread FPA11* qemufpa; =20 void resetFPA11(void); void SetRoundingMode(const unsigned int); diff --git a/linux-user/arm/nwfpe/fpa11.c b/linux-user/arm/nwfpe/fpa11.c index 44783934b2..15888463f7 100644 --- a/linux-user/arm/nwfpe/fpa11.c +++ b/linux-user/arm/nwfpe/fpa11.c @@ -29,7 +29,7 @@ //#include =20 =20 -FPA11* qemufpa =3D NULL; +__thread FPA11* qemufpa =3D NULL; =20 /* Reset the FPA11 chip. Called to initialize and reset the emulator. */ void resetFPA11(void) @@ -154,7 +154,6 @@ void SetRoundingPrecision(const unsigned int opcode) } =20 /* Emulate the instruction in the opcode. */ -/* ??? This is not thread safe. */ unsigned int EmulateAll(unsigned int opcode, FPA11* qfpa) { unsigned int nRc =3D 0; --=20 2.43.0