From nobody Sat May 30 17:44:11 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=1778655332; cv=none; d=zohomail.com; s=zohoarc; b=n8eGta1MX8glUVEVDKK+W+ofOxsEkScX2QMQf/LnTprRhhBp57o3m4CE4q6L0lg1XVzYj+gdMHTTvZhkk4C5qoiCUni74VcmqXlK87gZqpu9EdpvPV0FzV3BN+TCcY5uEY92gcf04M4CWtWqf9VQ1oFWBZ+OinsQtITwmJtG6Q8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778655332; 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=lJhG/leGyEu4X7ZgF/toa9YsGjYWyYzU+Flph+7d1Hw=; b=e3FvefGYniVlsJG0Mqkxb9oWS5EEDfEmrvER/9GUFWuIquq4FtueCUqw+CiVh7xPFWh6GOth0jSUOngmhsgl8RjtxtR+ALW/3uNSc8SxpFaa8XzPzqO1ieSLH3WsMrQsvQd2B53CZPYhOoUesJZO2ixoy4eUK6MR70/2/L4yDJ8= 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 177865533290452.00316426024983; Tue, 12 May 2026 23:55:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wN3Ub-0002RU-Bg; Wed, 13 May 2026 02:54:53 -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 1wN3Ua-0002R2-Br for qemu-devel@nongnu.org; Wed, 13 May 2026 02:54:52 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wN3UX-00039S-NM for qemu-devel@nongnu.org; Wed, 13 May 2026 02:54:52 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-48a563e4ef7so57995675e9.0 for ; Tue, 12 May 2026 23:54:49 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48fce37b308sm50275325e9.10.2026.05.12.23.54.46 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 12 May 2026 23:54:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1778655288; x=1779260088; 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=lJhG/leGyEu4X7ZgF/toa9YsGjYWyYzU+Flph+7d1Hw=; b=YOAw3gF1EMOy6A+zxoIjHPyiMn6QIKJrPoYaZ5m4d1qITiHqZPLeoH1zTcfvwrxK/8 11w1McfXUUY1oJc0ZAKRAp3fJYneKaksWkvcvrt9ek329yFureo050VG3d0b0nzX+CCF iEWHRLxj7LtekH/Xfg+lHXql5OF364Ry/NiZATOdbKvRoU4dycIcXJAumYzccjaGVk4u 7lxNQE9t2WDNPtwupAXTEcYkGLZsJ9Pbxt8JznWZ2d/dQDh2kBeYsj1BH4SUpSSe0D8P 9hnWB5GAqWZ7pAYt2JNXiKTRNTZqhuEPQB/fFBOXCFbvpODvNTD/Lb8R9p8oroHx9kaZ OE5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778655288; x=1779260088; 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=lJhG/leGyEu4X7ZgF/toa9YsGjYWyYzU+Flph+7d1Hw=; b=RPu8Kr6BxRIeI8TcoGaPZFklqshyRf0MNI23ZdKMm+jWRNlCXbF3Utx+hniN5Sf1QB 6iEWVSqhnP1Gu8c7nPVgxkdk0ywiv2FhTYEL/IlfoiKBeS8Io8Tp5U6C0zePSiDnQeLk R5Igw8tDDPM/vB5l2PBwDu3U2TXk1Bksns1LWop/Jzs/SB8QReKfMcF2+nz6twwFPlFw fYLN3/Zg4EVmib6To3XrpqvDW5by7MyGGw/C4iBki+7vH4gCBOr5wixiHljiAmos8/XE C1GBeGg0edVUBCRTOfvtdxbn5CBJ4bYFPB+jkk6YcHVheqgPEecrIo6mzVsijRu1LkJ9 BREw== X-Gm-Message-State: AOJu0YzlgEAzWaGTV+9G/y44np+QIt/b0Py/L/lAK6RifWYeTcT7SJDf nhBicj/WsJN+ryyRIu8ymx9bm6ZnvovAah6q0U+oix+KC/1UCX25MrZ6PVkKarMM6XKqddxIsIf qSDGL5qI= X-Gm-Gg: Acq92OF1Ui/wwbCAC2KFNGbP37/gq6dcj2Sw31v9auEf/bdPFaUbhbwWr4tr+DS+LFp 62/dfWenF4KFaSyEzpjhmVc3DE2WT9xFeF83nJr18Lk9kTHUscSbzQzURIokYGGXIAJ6r+ayG8U X/OurBGtKIi5pd2a8FZ9oK5NmCHr/rC6kqwTYp+YzjSBolcA9rhZj4BmnplUMvqK30rgf9zRPyf uZch/MbNoeOyL71HlGsMds2hhQZxPT+SRFJDHtIWhPPN2oJCVUPTV/EY+WEoy1i3SDc7VCCcvLN LCfQLZ30XUtNW2U6L0+m+ZguDxE2PRfKnCQLNtPs41JxGWzcIL53+/ecXfrOjH1K5tFzqqAx6Nx X77DyhsICk7QgnFeaJMj000f7XcH/eoV/nQlr6llnmUBLvkNKbJlVXIEx5Pl9wzjVNpIBEXFrHZ b9VvMRDXTsuL1GScDLp2REqDxI4Q0D2C3CUoOufy+6xIyYBY0rZg+yYX6JDjf0nYBmpuV3BDuG X-Received: by 2002:a05:600c:4f14:b0:48a:5546:61a1 with SMTP id 5b1f17b1804b1-48fc9a32cd8mr30903995e9.15.1778655287923; Tue, 12 May 2026 23:54:47 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yoshinori Sato , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-stable@nongnu.org, Guenter Roeck Subject: [PATCH 1/3] target/sh4: Re-allow unaligned access on system emulation Date: Wed, 13 May 2026 08:54:35 +0200 Message-ID: <20260513065438.8680-2-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260513065438.8680-1-philmd@linaro.org> References: <20260513065438.8680-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=2a00:1450:4864:20::332; envelope-from=philmd@linaro.org; helo=mail-wm1-x332.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: 1778655334898154100 The change 0 -> MO_ALIGN in commit eb978e50e42 ("target/sh4: Use MO_ALIGN for system UNALIGN()") would have been correct if it was merged before commit 1fceff9c3ca ("tcg: Remove TARGET_ALIGNED_ONLY") which defined MO_UNALN -> 0. What we really want here now is MO_UNALN (MO_ALIGN is dealt with in commit 03a0d87e8dd "target/sh4: Use MO_ALIGN where required"). Use the correct definition, otherwise we get when booting Linux: ok 14 bitfields KTAP version 1 # Subtest: blackholedev # module: blackhole_dev_kunit 1..1 delay-slot-insn faulting in handle_unaligned_delayslot: 0000 [#1] Modules linked in: CPU: 0 UID: 0 PID: 298 Comm: kunit_try_catch Tainted: G N 6.17.0-12907-g8765f467912f #1 NONE Tainted: [N]=3DTEST PC is at test_blackholedev+0xc6/0x1c8 PR is at test_blackholedev+0xca/0x1c8 PC : 8c228d16 SP : 8d40bed0 SR : 40008001 TEA : 8cce4026 R0 : 00000000 R1 : 00000000 R2 : 000000d2 R3 : 8cc77b80 R4 : 8cc77b40 R5 : 0000000e R6 : 8c228cea R7 : 8cce400e R8 : 8cc77b40 R9 : 8cc77bbc R10 : 8cc77bbe R11 : 8c4b46b0 R12 : 8c78310c R13 : 8cc29cf4 R14 : 8c6e3a88 MACH: 0000d80d MACL: e554cb0f GBR : 00000000 PR : 8c228d1a Call trace: [<8c05b378>] pick_next_task_fair+0x94/0x164 [<8c5c2bce>] __schedule+0x306/0x6ec [<8c21fa68>] kunit_try_run_case+0x58/0x174 ... Cc: qemu-stable@nongnu.org Fixes: eb978e50e42 ("target/sh4: Use MO_ALIGN for system UNALIGN()") Reported-by: Guenter Roeck Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/sh4/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/sh4/translate.c b/target/sh4/translate.c index 5adf650744c..3ddd4f612e4 100644 --- a/target/sh4/translate.c +++ b/target/sh4/translate.c @@ -54,7 +54,7 @@ typedef struct DisasContext { #define UNALIGN(C) (ctx->tbflags & TB_FLAG_UNALIGN ? MO_UNALN : MO_ALIGN) #else #define IS_USER(ctx) (!(ctx->tbflags & (1u << SR_MD))) -#define UNALIGN(C) MO_ALIGN +#define UNALIGN(C) MO_UNALN #endif =20 /* Target-specific values for ctx->base.is_jmp. */ --=20 2.53.0 From nobody Sat May 30 17:44:11 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=1778655331; cv=none; d=zohomail.com; s=zohoarc; b=eBaAtSg9uripwvGYG2n3WzmO66dL715TUDotSodJANxezP5LlmkHvJ+AFH+YUCPhoisX9DJlPfTUCgT5t15ADE29cPIQDv1ImqafYOMawh9i5QTZ49v7BYnWA4ZuCLOY4UrAKzbw+TcTDKxbx1K9UnyLfhH1lkRY2sXn+dfELbk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778655331; 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=/4bOQuqHp18KRI9+SeXYv9W+Vz0oAIFVkyuXucZjK/s=; b=WKEzZ5uIVxslg36VbXG9ZtMlb9qi5iRsTBi9q9GDOG/4pEawXT5dIqZ6RygpSS5EfzSLyNJ2YTPEqK7CzSJC9E8LZe6KkwLU24JrgjNFZ7SnCYhqCed+urivCYwkYQC6DheXfOoDgC7e4wfesh+VSyOdB1TgUvimS4yn15bSMgI= 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 1778655331530816.373336225361; Tue, 12 May 2026 23:55:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wN3Uh-0002SO-Um; Wed, 13 May 2026 02:54: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 1wN3Ug-0002S6-6o for qemu-devel@nongnu.org; Wed, 13 May 2026 02:54:58 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wN3Ue-0003Aq-MX for qemu-devel@nongnu.org; Wed, 13 May 2026 02:54:57 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-4891e5b9c1fso58602515e9.2 for ; Tue, 12 May 2026 23:54:56 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48fce06ca2csm23688085e9.8.2026.05.12.23.54.53 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 12 May 2026 23:54:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1778655295; x=1779260095; 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=/4bOQuqHp18KRI9+SeXYv9W+Vz0oAIFVkyuXucZjK/s=; b=mGcB7BW1Fu9Ek9+sknr0qOYsHqLFte5GeuyN46qd87tI9+uCJH8Z2l9hwXqH4vjSL4 L3u4aR6gwAUPOBjzd01dNc1uZvNaER1RPSIMPCB0n+NZh9OWv92y+LUOk0/Ad4XkRHT7 pTBaoLVcxC30uZoYMv1vy3cmmAG63WVQx7SEQy82RfDK9qjZWincn7XkLtOY5sC1YnQz zcES0MbtkKpEB2FsZeAo2L4H+v87L91RfgzYE168nO+pu4IzwbyLJoA03y/p0pJBxDvq vbQbxOf9mFU+qzy116MKh5slhPVAGs5eO3FVbYSlKsi9Gf1Jde48xKjYGlKXQwwUeUSS YZTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778655295; x=1779260095; 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=/4bOQuqHp18KRI9+SeXYv9W+Vz0oAIFVkyuXucZjK/s=; b=rzpa66onvlhj1yfz924GAE8y7P03Lu7mRoIYYcY/lKNKsWpbrtfjLI7yUrCOzzb+SY Nc+r+By3tCNmlTxB3QF5CWRXDD1Bsn8thBZGavfeJGbhcmz5AON3J1yeWkxxJaR8hkzp JzEPaG8nouqsnERELDtuFZyuIwhQRFiy/JgHwvF/uh/MVvvu1XGyLxAoTEyVkKFmyuCS eIqBgNCkyx6u6J5YcmefTyFDnRKu4IEtELD6/Wzw7/OJqy0VH1YISyGMFtrK0cecKKzw SqqX50laBoLhLfkHdxI82jRUPMwzWqbGpUyJSljMozVJmG2hj3yb628Wt4dMhXNshDR7 Uj6Q== X-Gm-Message-State: AOJu0Yynqwo4/c0yfcLQs/KfKDfPZh2aoqS85/c5ANQ80SQwz/42RsnC GVkEZWmnklagJQFmtkfPbZyS9VEXO4ZEPVok2xXm4O8tOPZ0bDcAl2gGjHRPddTEjnc9EaCEPTR FtJVBT7A= X-Gm-Gg: Acq92OE1EkpLGNAxiTLtaY9OuWxPxGku3PJXGgOyIp+zyhq4oEanJiIsjKjVnV17UAT RcbksW0rGB9uADL99ilBpVRwAAuFIhS79Z06pm4qvd+PO3qCOFyop0tFpObpID8nhtHiavTDZJh sNNsVcVbU5/4GtqKfCc9/l4JZCRGpZ24y8HjcuRkpotZAUN7dH7C3FEB5FnITJDdX4a//OPXSqQ W9MPWdjT3IJZWO7dK68Os1lP7TCESg2QvisKkUP/bXoKoLGncVYshScLlVjx8P4Pd/AVUroUGVU Y/sxT0zMWccysxvF8pbtRDY6yzzleomLjiqzFt6KanV8lizeIhVK7BRY6Ew6s1gAJ+0RlvB+ccF hI26ozkS67UbsrAkqCYQz8pvvuuCIWxEZtfmu2oNh8XyuPkIcmNgUYtTy3IT3sYzCnFQKUg0sOi 33Rl2QJB6Q8+vPyY2E48b0GSliKjBC4TXHxl7QebNo4UzImmKLhBP+DcHQT1Q0xS0uiOpTwrvpP S1mMcE3xAY= X-Received: by 2002:a05:600c:4f54:b0:488:ab1d:dcc5 with SMTP id 5b1f17b1804b1-48fc9a4b276mr26766155e9.27.1778655294567; Tue, 12 May 2026 23:54:54 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yoshinori Sato , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 2/3] target/sh4: Hold alignment as DisasContext::mo_align Date: Wed, 13 May 2026 08:54:36 +0200 Message-ID: <20260513065438.8680-3-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260513065438.8680-1-philmd@linaro.org> References: <20260513065438.8680-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=2a00:1450:4864:20::32d; envelope-from=philmd@linaro.org; helo=mail-wm1-x32d.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: 1778655333123154100 Hold the alignment in DisasContext::mo_align, initializing it once in TranslatorOps::init_disas_context(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/sh4/translate.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/target/sh4/translate.c b/target/sh4/translate.c index 3ddd4f612e4..5957f294c22 100644 --- a/target/sh4/translate.c +++ b/target/sh4/translate.c @@ -39,6 +39,7 @@ typedef struct DisasContext { uint32_t tbflags; /* should stay unmodified during the TB translation= */ uint32_t envflags; /* should stay in sync with env->flags using TCG op= s */ int memidx; + MemOp mo_align; int gbank; int fbank; uint32_t delayed_pc; @@ -51,10 +52,10 @@ typedef struct DisasContext { =20 #if defined(CONFIG_USER_ONLY) #define IS_USER(ctx) 1 -#define UNALIGN(C) (ctx->tbflags & TB_FLAG_UNALIGN ? MO_UNALN : MO_ALIGN) +#define UNALIGN(C) ctx->mo_align #else #define IS_USER(ctx) (!(ctx->tbflags & (1u << SR_MD))) -#define UNALIGN(C) MO_UNALN +#define UNALIGN(C) ctx->mo_align #endif =20 /* Target-specific values for ctx->base.is_jmp. */ @@ -2225,6 +2226,9 @@ static void sh4_tr_init_disas_context(DisasContextBas= e *dcbase, CPUState *cs) return; } } + ctx->mo_align =3D (ctx->tbflags & TB_FLAG_UNALIGN) ? MO_UNALN : MO_ALI= GN; +#else /* !CONFIG_USER_ONLY */ + ctx->mo_align =3D MO_UNALN; #endif =20 /* Since the ISA is fixed-width, we can bound by the number --=20 2.53.0 From nobody Sat May 30 17:44:11 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=1778655335; cv=none; d=zohomail.com; s=zohoarc; b=f8ZZ3LCWznOKNH261H2SnAYVx7ojtqCZcfqhtRbc2GciV1D+iz6rVehwoat8qAOMfphhnMJo/naY9xULxUuxDoMtWTiO04vCccqgMQuurokzLjY50WfuTsMlqhkaBMjfjSU3wrfOfOvsmnSc6P6tNo9iMD8z2vMsgwDp9oYBVFM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778655335; 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=yBbv/+eHBcJpfhxrbNsVNbeCA22jBDQvgzFDX2g7zEg=; b=Jvx7SAVyBVrFJxn7q8SSEt/UGXQFEz1g0L5EAGXayj7ZmWz3Dg+npklOroLv2B73RB3T0qZNGU+0gargsM18GDMibA2AAz4SiaZPGw0tm6k6X0ul2uIy+jkhw/lorgqUKNIcmpEoxuTKKEQ0wFNlMNnx6HXYhEMSZIbYaZnwsAc= 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 1778655335128775.6898125635716; Tue, 12 May 2026 23:55:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wN3Uo-0002Tz-FY; Wed, 13 May 2026 02:55: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 1wN3Un-0002Tc-T3 for qemu-devel@nongnu.org; Wed, 13 May 2026 02:55:05 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wN3Ul-0003CB-AW for qemu-devel@nongnu.org; Wed, 13 May 2026 02:55:05 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-449d6c68ed8so5448723f8f.0 for ; Tue, 12 May 2026 23:55:02 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45c7f27762csm2940603f8f.31.2026.05.12.23.55.00 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 12 May 2026 23:55:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1778655301; x=1779260101; 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=yBbv/+eHBcJpfhxrbNsVNbeCA22jBDQvgzFDX2g7zEg=; b=Ze/DXBysuTvOZCeDGg/ZsKFFbJMhY2iNG78xrFakiZ9HEoeY6VRFRvanBcMxpnB35l lZdy2GOzZOU5AXD3VYWY3kyAsWKtAjMgfNsGNGm7M/Euo82I74q5Z1N/Us0q9wR/1pPa TuDQslY7dYK5uyaFIN1sXAy3du7CQjnePjmIWrieAWTxmzOgG+kJUvTJfzJZkrkHkyMM 6nzJYEXhR9RwFnlrTSb9S6weeYqksNOeR7H5QhEz6Kktul8Pd4iBbMNc8lo6+6Bj5VbS b8UeR71CI7gfJ4TcVL+8H41/V/xUtkyUoNuDbzQelXwE6L5OgqFx0xx51G5MlXz5mNAY nE0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778655301; x=1779260101; 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=yBbv/+eHBcJpfhxrbNsVNbeCA22jBDQvgzFDX2g7zEg=; b=WiTgP/iWA+gVmVecsH+UFILBZi/HZ6xUtiRgCM143P/XpoVH4mxKYa/SH53BSwF1l0 Lta4Mo1dV1XvzxxmessATvF6F3DZYkV6/SscbqFE435PpGV3GGEFmqu/tMKHNEh2zGzl ATlUm1mecds60jrB47GFrEC6aTBOaXf+N0ryZAdUDlvnrpcri2JJ6SPKSjtHVHKgj0a+ RiqSCkgM8dmRlvY999c1GhZlq+6DnitEfc1fqkyZaPdmPlWXE6CigmyWSbCg9BtVygbt rq3lJSSI7AUwS+0Q/mHpkKzFB+Gtid/kxKmpDaxKa9xbRCaqb1g7LTQ7k2i59Bjs/S4/ SqRA== X-Gm-Message-State: AOJu0Yywm+CKhr/B6pkXkljo/sO+G87VBGNhmSpdhJIYYDo79YA6xxe6 0rrBdIDT3A7PVbzQ/c/v8oesiWLHtbxjEmna9dmkoL5o6sN9So54rWdxsUEQRXhHad9LLm/CssU teTdIWz0= X-Gm-Gg: Acq92OGhmeaJa9obgFZOgNsqnD4qh35O4xYX9YiFgVovRY09mOFP8YuOnAJZFd1n9eA Fc5Vtq+qRArqyHoBMylWd8d4773WU8QyNBVUEoXZpTIbyzjrn5ZfP+gQm1r24F/uKkedgrgkWnk vbnUSfmg6Z1G8kZ+EXCuD5iXtP3bTwL9tu+RFaU/sIUv43+23v6RPCdYdkI5Cky6ikm/bJRLuPG z5gF//BaqFJG8C28UWhzyfYKFRjlBckTE+kSEhrmNQvLNL7AzyJnlHSQMtEwMGja8C455GJQCPa fwHwfA8s930kV8v0ItxV5EBMeSV+Mz267n/Vw7N+aCf+bAr5xKFPygbrxMrD0/cjYpDXuj1WIJc vSWNA7cvoqDRZndDZyDBj0bxpPK3iRplv49Vo89C4HDNonAMV0sPZW2+h8O6HPgIpmiphYybwNA jy+ZhogG5OzM/j7QK0va/p9xhSy6RruDX+gROzoylrfKcmg7g3nipIT27clvF6MszsmYekseAD X-Received: by 2002:a05:6000:240d:b0:44a:247e:67b1 with SMTP id ffacd0b85a97d-45c57edf923mr2786956f8f.5.1778655301275; Tue, 12 May 2026 23:55:01 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yoshinori Sato , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 3/3] target/sh4: Inline UNALIGN() macro Date: Wed, 13 May 2026 08:54:37 +0200 Message-ID: <20260513065438.8680-4-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260513065438.8680-1-philmd@linaro.org> References: <20260513065438.8680-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=2a00:1450:4864:20::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.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: 1778655336745154100 Directly access DisasContext::mo_align in place. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/sh4/translate.c | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/target/sh4/translate.c b/target/sh4/translate.c index 5957f294c22..dfe7330d95d 100644 --- a/target/sh4/translate.c +++ b/target/sh4/translate.c @@ -52,10 +52,8 @@ typedef struct DisasContext { =20 #if defined(CONFIG_USER_ONLY) #define IS_USER(ctx) 1 -#define UNALIGN(C) ctx->mo_align #else #define IS_USER(ctx) (!(ctx->tbflags & (1u << SR_MD))) -#define UNALIGN(C) ctx->mo_align #endif =20 /* Target-specific values for ctx->base.is_jmp. */ @@ -496,7 +494,7 @@ static void _decode_opc(DisasContext * ctx) TCGv addr =3D tcg_temp_new(); tcg_gen_addi_i32(addr, REG(B11_8), B3_0 * 4); tcg_gen_qemu_st_i32(REG(B7_4), addr, ctx->memidx, - MO_TEUL | UNALIGN(ctx)); + MO_TEUL | ctx->mo_align); } return; case 0x5000: /* mov.l @(disp,Rm),Rn */ @@ -504,7 +502,7 @@ static void _decode_opc(DisasContext * ctx) TCGv addr =3D tcg_temp_new(); tcg_gen_addi_i32(addr, REG(B7_4), B3_0 * 4); tcg_gen_qemu_ld_i32(REG(B11_8), addr, ctx->memidx, - MO_TESL | UNALIGN(ctx)); + MO_TESL | ctx->mo_align); } return; case 0xe000: /* mov #imm,Rn */ @@ -564,22 +562,22 @@ static void _decode_opc(DisasContext * ctx) return; case 0x2001: /* mov.w Rm,@Rn */ tcg_gen_qemu_st_i32(REG(B7_4), REG(B11_8), ctx->memidx, - MO_TEUW | UNALIGN(ctx)); + MO_TEUW | ctx->mo_align); return; case 0x2002: /* mov.l Rm,@Rn */ tcg_gen_qemu_st_i32(REG(B7_4), REG(B11_8), ctx->memidx, - MO_TEUL | UNALIGN(ctx)); + MO_TEUL | ctx->mo_align); return; case 0x6000: /* mov.b @Rm,Rn */ tcg_gen_qemu_ld_i32(REG(B11_8), REG(B7_4), ctx->memidx, MO_SB); return; case 0x6001: /* mov.w @Rm,Rn */ tcg_gen_qemu_ld_i32(REG(B11_8), REG(B7_4), ctx->memidx, - MO_TESW | UNALIGN(ctx)); + MO_TESW | ctx->mo_align); return; case 0x6002: /* mov.l @Rm,Rn */ tcg_gen_qemu_ld_i32(REG(B11_8), REG(B7_4), ctx->memidx, - MO_TESL | UNALIGN(ctx)); + MO_TESL | ctx->mo_align); return; case 0x2004: /* mov.b Rm,@-Rn */ { @@ -595,7 +593,7 @@ static void _decode_opc(DisasContext * ctx) TCGv addr =3D tcg_temp_new(); tcg_gen_subi_i32(addr, REG(B11_8), 2); tcg_gen_qemu_st_i32(REG(B7_4), addr, ctx->memidx, - MO_TEUW | UNALIGN(ctx)); + MO_TEUW | ctx->mo_align); tcg_gen_mov_i32(REG(B11_8), addr); } return; @@ -604,7 +602,7 @@ static void _decode_opc(DisasContext * ctx) TCGv addr =3D tcg_temp_new(); tcg_gen_subi_i32(addr, REG(B11_8), 4); tcg_gen_qemu_st_i32(REG(B7_4), addr, ctx->memidx, - MO_TEUL | UNALIGN(ctx)); + MO_TEUL | ctx->mo_align); tcg_gen_mov_i32(REG(B11_8), addr); } return; @@ -615,13 +613,13 @@ static void _decode_opc(DisasContext * ctx) return; case 0x6005: /* mov.w @Rm+,Rn */ tcg_gen_qemu_ld_i32(REG(B11_8), REG(B7_4), ctx->memidx, - MO_TESW | UNALIGN(ctx)); + MO_TESW | ctx->mo_align); if ( B11_8 !=3D B7_4 ) tcg_gen_addi_i32(REG(B7_4), REG(B7_4), 2); return; case 0x6006: /* mov.l @Rm+,Rn */ tcg_gen_qemu_ld_i32(REG(B11_8), REG(B7_4), ctx->memidx, - MO_TESL | UNALIGN(ctx)); + MO_TESL | ctx->mo_align); if ( B11_8 !=3D B7_4 ) tcg_gen_addi_i32(REG(B7_4), REG(B7_4), 4); return; @@ -637,7 +635,7 @@ static void _decode_opc(DisasContext * ctx) TCGv addr =3D tcg_temp_new(); tcg_gen_add_i32(addr, REG(B11_8), REG(0)); tcg_gen_qemu_st_i32(REG(B7_4), addr, ctx->memidx, - MO_TEUW | UNALIGN(ctx)); + MO_TEUW | ctx->mo_align); } return; case 0x0006: /* mov.l Rm,@(R0,Rn) */ @@ -645,7 +643,7 @@ static void _decode_opc(DisasContext * ctx) TCGv addr =3D tcg_temp_new(); tcg_gen_add_i32(addr, REG(B11_8), REG(0)); tcg_gen_qemu_st_i32(REG(B7_4), addr, ctx->memidx, - MO_TEUL | UNALIGN(ctx)); + MO_TEUL | ctx->mo_align); } return; case 0x000c: /* mov.b @(R0,Rm),Rn */ @@ -660,7 +658,7 @@ static void _decode_opc(DisasContext * ctx) TCGv addr =3D tcg_temp_new(); tcg_gen_add_i32(addr, REG(B7_4), REG(0)); tcg_gen_qemu_ld_i32(REG(B11_8), addr, ctx->memidx, - MO_TESW | UNALIGN(ctx)); + MO_TESW | ctx->mo_align); } return; case 0x000e: /* mov.l @(R0,Rm),Rn */ @@ -668,7 +666,7 @@ static void _decode_opc(DisasContext * ctx) TCGv addr =3D tcg_temp_new(); tcg_gen_add_i32(addr, REG(B7_4), REG(0)); tcg_gen_qemu_ld_i32(REG(B11_8), addr, ctx->memidx, - MO_TESL | UNALIGN(ctx)); + MO_TESL | ctx->mo_align); } return; case 0x6008: /* swap.b Rm,Rn */ @@ -1222,7 +1220,7 @@ static void _decode_opc(DisasContext * ctx) TCGv addr =3D tcg_temp_new(); tcg_gen_addi_i32(addr, REG(B7_4), B3_0 * 2); tcg_gen_qemu_st_i32(REG(0), addr, ctx->memidx, - MO_TEUW | UNALIGN(ctx)); + MO_TEUW | ctx->mo_align); } return; case 0x8400: /* mov.b @(disp,Rn),R0 */ @@ -1237,7 +1235,7 @@ static void _decode_opc(DisasContext * ctx) TCGv addr =3D tcg_temp_new(); tcg_gen_addi_i32(addr, REG(B7_4), B3_0 * 2); tcg_gen_qemu_ld_i32(REG(0), addr, ctx->memidx, - MO_TESW | UNALIGN(ctx)); + MO_TESW | ctx->mo_align); } return; case 0xc700: /* mova @(disp,PC),R0 */ --=20 2.53.0