From: Aleksandar Markovic <aleksandar.m.mail@gmail.com>
To: Richard Henderson <richard.henderson@linaro.org>,
QEMU Developers <qemu-devel@nongnu.org>,
Peter Maydell <peter.maydell@linaro.org>
Subject: Re: [Qemu-devel] [BUG] nanoMIPS support problem related to extract2 support for i386 TCG target
Date: Fri, 12 Jul 2019 21:07:31 +0200 [thread overview]
Message-ID: <CAL1e-=iaSHtcMzuXPc-=7TsPpKOWQ9cHsa_50t=bQQDo_AFbcA@mail.gmail.com> (raw)
In-Reply-To: <CAL1e-=h83cwAvzEna1Tg3CShLV9DthbtS2Exh3JcOAtqCYHWrw@mail.gmail.com>
On Fri, Jul 12, 2019 at 8:19 PM Aleksandar Markovic
<aleksandar.m.mail@gmail.com> wrote:
>
> On Fri, Jul 12, 2019 at 8:09 PM Aleksandar Markovic
> <aleksandar.m.mail@gmail.com> wrote:
> >
> > Hello, Richard, Peter, and others.
> >
> > As a part of activities before 4.1 release, I tested nanoMIPS support
> > in QEMU (which was officially fully integrated in 4.0, is currently
> > limited to system mode only, and was tested in a similar fashion right
> > prior to 4.0).
> >
> > This support appears to be broken now. Following command line works in
> > 4.0, but results in kernel panic for the current tip of the tree:
> >
> > ~/Build/qemu-test-revert-c6fb8c0cf704/mipsel-softmmu/qemu-system-mipsel
> > -cpu I7200 -kernel generic_nano32r6el_page4k -M malta -serial stdio -m
> > 1G -hda nanomips32r6_le_sf_2017.05-03-59-gf5595d6.ext4 -append
> > "mem=256m@0x0 rw console=ttyS0 vga=cirrus vesa=0x111 root=/dev/sda"
> >
> > (kernel and rootfs image files used in this commend line can be
> > downloaded from the locations mentioned in our user guide)
> >
> > The quick bisect points to the commit:
> >
> > commit c6fb8c0cf704c4a1a48c3e99e995ad4c58150dab
> > Author: Richard Henderson <richard.henderson@linaro.org>
> > Date: Mon Feb 25 11:42:35 2019 -0800
> >
> > tcg/i386: Support INDEX_op_extract2_{i32,i64}
> >
> > Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> >
> > Please advise on further actions.
> >
>
> Just to add a data point:
>
> If the following change is applied:
>
> diff --git a/tcg/i386/tcg-target.h b/tcg/i386/tcg-target.h
> index 928e8b8..b6a4cf2 100644
> --- a/tcg/i386/tcg-target.h
> +++ b/tcg/i386/tcg-target.h
> @@ -124,7 +124,7 @@ extern bool have_avx2;
> #define TCG_TARGET_HAS_deposit_i32 1
> #define TCG_TARGET_HAS_extract_i32 1
> #define TCG_TARGET_HAS_sextract_i32 1
> -#define TCG_TARGET_HAS_extract2_i32 1
> +#define TCG_TARGET_HAS_extract2_i32 0
> #define TCG_TARGET_HAS_movcond_i32 1
> #define TCG_TARGET_HAS_add2_i32 1
> #define TCG_TARGET_HAS_sub2_i32 1
> @@ -163,7 +163,7 @@ extern bool have_avx2;
> #define TCG_TARGET_HAS_deposit_i64 1
> #define TCG_TARGET_HAS_extract_i64 1
> #define TCG_TARGET_HAS_sextract_i64 0
> -#define TCG_TARGET_HAS_extract2_i64 1
> +#define TCG_TARGET_HAS_extract2_i64 0
> #define TCG_TARGET_HAS_movcond_i64 1
> #define TCG_TARGET_HAS_add2_i64 1
> #define TCG_TARGET_HAS_sub2_i64 1
>
> ... the problem disappears.
>
It looks the problem is in this code segment in of tcg_gen_deposit_i32():
if (ofs == 0) {
tcg_gen_extract2_i32(ret, arg1, arg2, len);
tcg_gen_rotli_i32(ret, ret, len);
goto done;
}
)
If that code segment is deleted altogether (which effectively forces
usage of "fallback" part of tcg_gen_deposit_i32()), the problem also
vanishes (without changes from my previous mail).
>
> > Yours,
> > Aleksandar
next prev parent reply other threads:[~2019-07-12 19:07 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-12 18:09 [Qemu-devel] [BUG] nanoMIPS support problem related to extract2 support for i386 TCG target Aleksandar Markovic
2019-07-12 18:19 ` Aleksandar Markovic
2019-07-12 19:07 ` Aleksandar Markovic [this message]
2019-07-13 7:21 ` Alex Bennée
2019-07-15 19:48 ` Aleksandar Markovic
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='CAL1e-=iaSHtcMzuXPc-=7TsPpKOWQ9cHsa_50t=bQQDo_AFbcA@mail.gmail.com' \
--to=aleksandar.m.mail@gmail.com \
--cc=peter.maydell@linaro.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).