From: Nathan Chancellor <nathan@kernel.org>
To: Richard Henderson <richard.henderson@linaro.org>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
qemu-arm@nongnu.org, llvm@lists.linux.dev
Subject: Re: [PATCH v5 17/31] target/arm: Enforce alignment for LDM/STM
Date: Mon, 30 Aug 2021 17:51:44 -0700 [thread overview]
Message-ID: <YS19IBEGrIUnUT2p@Ryzen-9-3900X.localdomain> (raw)
In-Reply-To: <20210419202257.161730-18-richard.henderson@linaro.org>
Hi Richard,
On Mon, Apr 19, 2021 at 01:22:43PM -0700, Richard Henderson wrote:
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> target/arm/translate.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/target/arm/translate.c b/target/arm/translate.c
> index 29fbbb84b2..f58ac4f018 100644
> --- a/target/arm/translate.c
> +++ b/target/arm/translate.c
> @@ -7868,7 +7868,7 @@ static bool op_stm(DisasContext *s, arg_ldst_block *a, int min_n)
> } else {
> tmp = load_reg(s, i);
> }
> - gen_aa32_st32(s, tmp, addr, mem_idx);
> + gen_aa32_st_i32(s, tmp, addr, mem_idx, MO_UL | MO_ALIGN);
> tcg_temp_free_i32(tmp);
>
> /* No need to add after the last transfer. */
> @@ -7943,7 +7943,7 @@ static bool do_ldm(DisasContext *s, arg_ldst_block *a, int min_n)
> }
>
> tmp = tcg_temp_new_i32();
> - gen_aa32_ld32u(s, tmp, addr, mem_idx);
> + gen_aa32_ld_i32(s, tmp, addr, mem_idx, MO_UL | MO_ALIGN);
> if (user) {
> tmp2 = tcg_const_i32(i);
> gen_helper_set_user_reg(cpu_env, tmp2, tmp);
> --
> 2.25.1
I just bisected a boot hang with an LLVM-built multi_v7_defconfig +
CONFIG_THUMB2_KERNEL=y kernel down to this commit. I do not see the same
hang when the kernel is compiled with GCC 11.2.0 and binutils 2.37 nor
do I see a hang with multi_v7_defconfig by itself. Is there something
that LLVM is doing wrong when compiling/assembling/linking the kernel or
is there something wrong/too aggressive with this commit? I can
reproduce this with current QEMU HEAD (ad22d05833).
My QEMU invocation is:
$ qemu-system-arm \
-append "console=ttyAMA0 earlycon" \
-display none \
-initrd rootfs.cpio \
-kernel zImage \
-M virt \
-m 512m \
-nodefaults \
-no-reboot \
-serial mon:stdio
and the rootfs.cpio and zImage files can be found here:
https://github.com/nathanchance/bug-files/tree/15c1fd6e44622a3c27823d2c5c3083dfc7246146/qemu-2e1f39e29bf9a6b28eaee9fc0949aab50dbad94a
Cheers,
Nathan
next parent reply other threads:[~2021-08-31 0:51 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20210419202257.161730-1-richard.henderson@linaro.org>
[not found] ` <20210419202257.161730-18-richard.henderson@linaro.org>
2021-08-31 0:51 ` Nathan Chancellor [this message]
2021-09-07 13:44 ` [PATCH v5 17/31] target/arm: Enforce alignment for LDM/STM Richard Henderson
2021-09-15 1:13 ` Nick Desaulniers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YS19IBEGrIUnUT2p@Ryzen-9-3900X.localdomain \
--to=nathan@kernel.org \
--cc=llvm@lists.linux.dev \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).