{"id":2222661,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2222661/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260413103754.45745-1-peter.maydell@linaro.org/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/1.2/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260413103754.45745-1-peter.maydell@linaro.org>","list_archive_url":null,"date":"2026-04-13T10:37:54","name":"[for-11.0,?] docs: Deprecate Arm OABI and NWFPE support","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"134d54187361bd376e6cb1382785e62e210b5963","submitter":{"id":5111,"url":"http://patchwork.ozlabs.org/api/1.2/people/5111/?format=json","name":"Peter Maydell","email":"peter.maydell@linaro.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260413103754.45745-1-peter.maydell@linaro.org/mbox/","series":[{"id":499679,"url":"http://patchwork.ozlabs.org/api/1.2/series/499679/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=499679","date":"2026-04-13T10:37:54","name":"[for-11.0,?] docs: Deprecate Arm OABI and NWFPE support","version":1,"mbox":"http://patchwork.ozlabs.org/series/499679/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2222661/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2222661/checks/","tags":{},"related":[],"headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=LNt2gAR/;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fvP570zygz1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 13 Apr 2026 20:38:19 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wCEg6-0000Z3-Lg; Mon, 13 Apr 2026 06:38:02 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <peter.maydell@linaro.org>)\n id 1wCEg4-0000YW-I6\n for qemu-devel@nongnu.org; Mon, 13 Apr 2026 06:38:00 -0400","from mail-wm1-x334.google.com ([2a00:1450:4864:20::334])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <peter.maydell@linaro.org>)\n id 1wCEg1-0001mv-5h\n for qemu-devel@nongnu.org; Mon, 13 Apr 2026 06:37:58 -0400","by mail-wm1-x334.google.com with SMTP id\n 5b1f17b1804b1-488b8efed61so40117035e9.1\n for <qemu-devel@nongnu.org>; Mon, 13 Apr 2026 03:37:56 -0700 (PDT)","from lanath.. (wildly.archaic.org.uk. [81.2.115.145])\n by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-43d63e46713sm32893051f8f.21.2026.04.13.03.37.54\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 13 Apr 2026 03:37:54 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1776076675; x=1776681475; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=/gRv9RLfF/F+lj385yyoTJLt207V/mbUmBgkzmiVuuw=;\n b=LNt2gAR/dlr21TUCevbumLhYgrg4sk+C2jLRYKumROvX1b40Asz/XVUNYg8Enk480x\n HRzhCg9cIejpdgxwslkGPSwHGIj9Ou/XQE4JYIeed4TQv1wiHZCNzuwjBoNCmYNqqO8j\n Aa//y5DE4eAhhIqruOO7oc13whBUaX61Uqe2FjBUo45Qlewg2JQVRb+b4c4rUEO9xjmu\n NkIMPuidp8sBzgtqBGZyF5aII1EBIaYcbwtb0et/krHakhzOiDzBQuNRBAEKIZpe/pHk\n 0p+w1LU0mfRcwxMSlctJS/XQ32L0pi8ucH28H5Oqc6bTP+gCiMkl7rxpDYSoE7wopGyR\n 1AeA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776076675; x=1776681475;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=/gRv9RLfF/F+lj385yyoTJLt207V/mbUmBgkzmiVuuw=;\n b=K3p1b7yCx7+ijEhRtsTXBim2WNCJ9/3v+Xs6aDDYVMKL9JPpKLHDiTQLNbEKkrIyh4\n rLsX3mq1ekOnHc3O4xvbd96ngdLW7P6JjLAPis3qrsHqp5x/bi1uMP4CW5VcxT1ZXxWQ\n OdDgaKJYsuqqh+AXPyemBdzVnCA26LgrQrl6L2KMHLrMdp+TqWug93kZ6R/rldilngfC\n F93VGLQQ+7Waqc4BaO4XOqqKek+L9DZN9Rgsqh/uzTVlzXwZjbOzQTx4Kv3gTEgX3FH8\n B+0YDrqrEMc0WhOuAd1HR5TDcx3bV9Rmz3BVfeY9IWtpVwVADJ+YIM5sHglIsP1B28aC\n ZIIg==","X-Forwarded-Encrypted":"i=1;\n AFNElJ/QjiubEg2bYrnCCAWZFvmFAgZ7Zhv8TU3v9sGvGSY7yn5smXRWZXMfhdqP2CSdBRFBWjK98eyD9zCd@nongnu.org","X-Gm-Message-State":"AOJu0YzP4rMVdIWjnN4axVCbWXwzjhuigZ0Jcqs1dyx4CaUiJgpRnLg9\n lYug+xViC2gJvKsiHmhdDRa9m4Olwcrr7TqiHEu6yEx33MlwmT5frCDwzbWaLvUPWyI=","X-Gm-Gg":"AeBDieua70ZcBiq7MPpcxfJMQrnJsOyTA1XHWf5t/8sKXUzMyNG/kquu4BTNK0oIASa\n LgKD+f9LbeQmIHJtpYcrne4CGLtTo5t01FjC3bucgjokqvZNaa5AbybyX/vwLbJo9OiHt19owDS\n 24n85mQZpG90GpXXAS+kkRhjuq/H6NVOLSIivKDGdAyw0DKTnjcFzuMi6B29yodUmcAZBV1hAZl\n H8TCc9YMSOB0LfIC6Y69F828DhGkjKgrGn8R3g2HVLXsWCYy83FuBSJNAlRPmVirUr9ssaJQoMh\n oqigjYVlThsNAmx9qVQX8R+UOVMYN3jTwOKYTca8I+hgXvt24WpK4MnlkwKzL6kH3ll/6JigLsa\n bzLYu9NUE8fP9n9tfbQYM9CLMSJ/waSjorb46rIUMXq7adcSRtMMuhr/1j7l5jOv50O8NfT1aLP\n QAh1gBybh0yhjzjwZGWt/pq8uwGC3fklFTp3SHoFEsQeP7umbxn6yGy1xTC0KJy8UEpRpgX5QIB\n rfpKKC0J9ywe9uivbKfl/1sVyub7XIK7x1VX17r2Q==","X-Received":"by 2002:a05:600c:440f:b0:488:84b1:b216 with SMTP id\n 5b1f17b1804b1-488cd58011dmr160933685e9.9.1776076675363;\n Mon, 13 Apr 2026 03:37:55 -0700 (PDT)","From":"Peter Maydell <peter.maydell@linaro.org>","To":"qemu-arm@nongnu.org,\n\tqemu-devel@nongnu.org","Cc":"Richard Henderson <richard.henderson@linaro.org>","Subject":"[PATCH for-11.0 ?] docs: Deprecate Arm OABI and NWFPE support","Date":"Mon, 13 Apr 2026 11:37:54 +0100","Message-ID":"<20260413103754.45745-1-peter.maydell@linaro.org>","X-Mailer":"git-send-email 2.43.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=2a00:1450:4864:20::334;\n envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x334.google.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"},"content":"Linux for 32-bit Arm has had two major ABIs: the original OABI and\nthe more modern EABI.  OABI support was marked as obsolete in GCC 4.7\nand dropped in GCC 4.8.  In the Linux kernel, compatibility handling\nfor OABI (OABI_COMPAT) is not generally enabled by default and is not\ncompatible with building a Thumb2 kernel.  Distros dropped OABI\nsupport fifteen years or more ago.\n\nNWFPE floating-point emulation handles the ancient FPA11 coprocessor,\nwhich is only needed/supported with OABI.  Our implementation is old,\nuntested and not thread-safe.\n\nMark OABI and NWFPE support as deprecated so we can remove it in a\nfuture release.  Our main motivation here is to be able to drop the\n2500+ lines of NWFPE emulation code.\n\nSigned-off-by: Peter Maydell <peter.maydell@linaro.org>\n---\nThis just came up today; it's tempting to squeeze the deprecation\nnotice into 11.0 so we don't have an extra three months before\nwe can delete it, but we could just deprecate in 11.1 instead.\n\n docs/about/deprecated.rst | 25 +++++++++++++++++++++++++\n 1 file changed, 25 insertions(+)","diff":"diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst\nindex a6d6a71326..10de10dc23 100644\n--- a/docs/about/deprecated.rst\n+++ b/docs/about/deprecated.rst\n@@ -452,6 +452,31 @@ It was implemented as a no-op instruction in TCG up to QEMU 9.0, but\n only with ``-cpu max`` (which does not guarantee migration compatibility\n across versions).\n \n+linux-user mode CPUs\n+--------------------\n+\n+OABI and NWFPE support for Arm CPUs\n+'''''''''''''''''''''''''''''''''''\n+\n+Linux for 32-bit Arm has had two major ABIs: the original OABI and the\n+more modern EABI. OABI support was marked as obsolete in GCC 4.7 and\n+dropped in GCC 4.8 (released in 2013). In the Linux kernel,\n+compatibility handling for OABI (OABI_COMPAT) is not generally enabled\n+by default and is not compatible with building a Thumb2\n+kernel. Distros dropped OABI support fifteen years or more ago.\n+\n+The original floating-point coprocessor for 32-bit Arm was the\n+FPA11. This was not present in many CPUs but did get baked into the\n+OABI for how to pass floating point arguments, and so the Linux kernel\n+has support for emulating it via the config option FPE_NWFPE; QEMU\n+follows that. FPA11 support was also removed from GCC in GCC 4.8.\n+\n+QEMU's NWFPE code is old and untested and not thread-safe; the OABI\n+ABI is long-obsolete. We are therefore deprecating both OABI support\n+and NWFPE emulation, and they will be removed in a future QEMU\n+release.\n+\n+\n Backwards compatibility\n -----------------------\n \n","prefixes":["for-11.0","?"]}