{"id":2196936,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2196936/?format=json","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/1.0/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":""},"msgid":"<20260216160349.3079657-3-peter.maydell@linaro.org>","date":"2026-02-16T16:03:49","name":"[2/2] target/arm: Don't require helper prototypes in helper.c","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"7c0ce08d0c1a68bb5554ad30d022a0d8ce16b125","submitter":{"id":5111,"url":"http://patchwork.ozlabs.org/api/1.0/people/5111/?format=json","name":"Peter Maydell","email":"peter.maydell@linaro.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260216160349.3079657-3-peter.maydell@linaro.org/mbox/","series":[{"id":492324,"url":"http://patchwork.ozlabs.org/api/1.0/series/492324/?format=json","date":"2026-02-16T16:03:48","name":"target/arm: Don't use HELPER_H in non-tcg files","version":1,"mbox":"http://patchwork.ozlabs.org/series/492324/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2196936/checks/","tags":{},"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=nj6GHOx8;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fF70D1pFrz1xxp\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 17 Feb 2026 03:05:16 +1100 (AEDT)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1vs14y-00028i-9T; Mon, 16 Feb 2026 11:04:08 -0500","from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <peter.maydell@linaro.org>)\n id 1vs14m-00027u-MN\n for qemu-devel@nongnu.org; Mon, 16 Feb 2026 11:03:56 -0500","from mail-wm1-x329.google.com ([2a00:1450:4864:20::329])\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 1vs14k-0005nL-VF\n for qemu-devel@nongnu.org; Mon, 16 Feb 2026 11:03:56 -0500","by mail-wm1-x329.google.com with SMTP id\n 5b1f17b1804b1-48334ee0aeaso26462275e9.1\n for <qemu-devel@nongnu.org>; Mon, 16 Feb 2026 08:03:54 -0800 (PST)","from lanath.. (wildly.archaic.org.uk. [81.2.115.145])\n by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-4835d92267bsm661713185e9.0.2026.02.16.08.03.52\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 16 Feb 2026 08:03:52 -0800 (PST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1771257833; x=1771862633; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=QbBuvUw9blZWZ8nku4XhCXzyBFDPHIgEib9kHdOYrNs=;\n b=nj6GHOx8HjFrsBgwYWFIfRLcefKUTzSaQMZxvtii47sgG/F1LrQz1tAMeINb7gs5Qy\n 8xibiTZQTCkwZCk/dqnTKU4TMm5LtYkGKAL0Qw9kkYQr0o9ri7g4k454kbaiA5vDMf+m\n Qf6TI8kMChIH922AtP0cTRDztDdSHfSM1B7yPOVXSoVpWDZ+4GD5P1B3Xxl+vyCrpXKG\n Ws548oRA0WwN0Zy4ooPhxEwK1+/aQd6bmGueJ5qWGo7t5hAEb24H9wxwuN/6chKrUjnX\n Gx73VkB192EJ1ZB10tc4QAEe9vR3Sosaq+6RHK2pooPKmPyvxQUCg52uEuk8JpIhgiJg\n 6tqQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1771257833; x=1771862633;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=QbBuvUw9blZWZ8nku4XhCXzyBFDPHIgEib9kHdOYrNs=;\n b=AOjf9o5HA9Yqd1m2O4u3UxUw8jOQg/5kcCfQpwky6PoLQ6M24WVQZ2lfBnpnnOHo2C\n mJltOYWMztvair/7cdig/5+HwHsj+eUaPbE04d4dDxZMLaRO6rWMgaB7EKY4OyqQ6Oc4\n ApUPyFLzWm/Kn+yc3C/MfbfMoNZZSHEXS2pPe2sB5TTTzk29m26lbNPdOmMhKasWOMJF\n FcXygnTEqPHUPZuQTTEqM7cQmMqbii5R5OLUZ2YZVwkTxTRbaWBZTI1HwkuLAaZIo1B2\n TY3ED0c39kpKkz6QRBDI79e+uqyYC9Vd3tJbA8b1uZV3MyutfPc9Rj3hw4MH+nHYOebu\n C3zA==","X-Forwarded-Encrypted":"i=1;\n AJvYcCURvIbpZWqJ+pUcU4FuPGcuGeiLu3uBPDx1YKaaRlaflfKInHYFwCNEWVNxXqp3XBARPHwQR6cY0BuC@nongnu.org","X-Gm-Message-State":"AOJu0Yy6/Pxq688O17WQRaLTawZYUWOqkDo6PMzu589JE6XR6Wt3PTs5\n duwsN4F28aF1Nx4RKC0gBlpE0XbcFHDCxq4iRsrQBubPv6hp3Xo1nb/7m3JeR8FzthuWGpRCiKC\n Ix9EQ","X-Gm-Gg":"AZuq6aImEO+MEJs7bsozWb5WcbiTDSloVfr8s0LGPNA8tP9tyBoLjnwsY3u1/lqDD9g\n E5sFjIUPGjqZmshsG9xUg7Sh8lspcXbXbaqQzW/S9VX3R6GIbbN1wB6AuOwUiaXrjw2EJqlCtaU\n YKVeay2LACaTbtZ8n3DQQNSaJ/ROufxPrYMWLUt1vmVboOmc4dbOXZcigVJp4xHo8rQ1dRwhz4M\n yfmuJW24jeFii7gS81tl1A8DevDO99HMfcki3twlrXhq0ZumwvSxuFTmctPPub880Ino6thiDqj\n zYGlpwNYA3WO2jH5gXFRzoJ8Arr4kEnAnjrUUL+WC0oJDXVA7bhACrYTd6MXLy5y+BZ4N6Osros\n sC50JttnBiJqNGDo/w+tVsQFLOUtYoTMp52soLNRLGV/+zjlI3yVjAFfuVAbgKs8TfQCkjEsfwM\n +Ofee4HxeFxV2tkcVGupOIV1NT5z1LNmtCGz4lgNP2uG/zVdiCaiAsWlBj7szBM0CO/pRf/p6v9\n uje38YqHZtDZhABpS2MHfxZqXMFNnw=","X-Received":"by 2002:a05:600c:1d24:b0:480:4a90:1b00 with SMTP id\n 5b1f17b1804b1-48373a5d80dmr194005935e9.20.1771257833319;\n Mon, 16 Feb 2026 08:03:53 -0800 (PST)","From":"Peter Maydell <peter.maydell@linaro.org>","To":"qemu-arm@nongnu.org,\n\tqemu-devel@nongnu.org","Cc":"Pierrick Bouvier <pierrick.bouvier@linaro.org>","Subject":"[PATCH 2/2] target/arm: Don't require helper prototypes in helper.c","Date":"Mon, 16 Feb 2026 16:03:49 +0000","Message-ID":"<20260216160349.3079657-3-peter.maydell@linaro.org>","X-Mailer":"git-send-email 2.43.0","In-Reply-To":"<20260216160349.3079657-1-peter.maydell@linaro.org>","References":"<20260216160349.3079657-1-peter.maydell@linaro.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=2a00:1450:4864:20::329;\n envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x329.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":"In arm_cpu_do_interrupt_aarch64() we call the TCG helper function\nhelper_rebuild_hflags_a64(), which requires helper.c to include the\nTCG helper function prototypes even when this file is being compiled\nwith TCG disabled.\n\nWe don't actually need to do this -- because we have already written\nthe new EL into pstate and updated env->aarch64, we can call\naarch64_rebuild_hflags() to achieve the same effect. This is the\nfunction we use everywhere else in this file to update hflags.\n\nSwitch to aarch64_rebuild_hflags() and drop the include of the\nTCG helper headers.\n\nSigned-off-by: Peter Maydell <peter.maydell@linaro.org>\n---\n target/arm/helper.c | 5 +----\n 1 file changed, 1 insertion(+), 4 deletions(-)","diff":"diff --git a/target/arm/helper.c b/target/arm/helper.c\nindex 8c5769477c..033baf7e71 100644\n--- a/target/arm/helper.c\n+++ b/target/arm/helper.c\n@@ -36,9 +36,6 @@\n #include \"target/arm/gtimer.h\"\n #include \"qemu/plugin.h\"\n \n-#define HELPER_H \"tcg/helper.h\"\n-#include \"exec/helper-proto.h.inc\"\n-\n static void switch_mode(CPUARMState *env, int mode);\n \n int compare_u64(const void *a, const void *b)\n@@ -9473,7 +9470,7 @@ static void arm_cpu_do_interrupt_aarch64(CPUState *cs)\n     aarch64_restore_sp(env, new_el);\n \n     if (tcg_enabled()) {\n-        helper_rebuild_hflags_a64(env, new_el);\n+        arm_rebuild_hflags(env);\n     }\n \n     env->pc = addr;\n","prefixes":["2/2"]}