Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Sep 2019 04:28:17 +0200
From:      Li-Wen Hsu <lwhsu@freebsd.org>
To:        Mitchell Horne <mhorne@freebsd.org>
Cc:        freebsd-riscv <freebsd-riscv@freebsd.org>, Muhammad Moinur Rahman <bofh@freebsd.org>
Subject:   Re: QEMU 4.1 and RISC-V
Message-ID:  <CAKBkRUxRW5v=FfuziXrrEHrz_ui4MjXrOOf32376HxVTH0bYDQ@mail.gmail.com>
In-Reply-To: <CADeAsy0uiLr7=8f9eSBJn-wCSTiZfXr6Ua37Ch7ffTwkSvegqw@mail.gmail.com>
References:  <CAKBkRUw%2BgGKOzU1_JWv_FUx5A9jBnuq0MvQh15Yy9NZ0PKYR9A@mail.gmail.com> <CADeAsy30gdZJa9S7easL6tTry4RrYzDBazx2u2cLtF8TrE9qMw@mail.gmail.com> <CAKBkRUz_V4Cz%2BHSxsazWJ-i4-J6%2B2qxfHZUgUcJi-bfoEhsSxg@mail.gmail.com> <CADeAsy0uiLr7=8f9eSBJn-wCSTiZfXr6Ua37Ch7ffTwkSvegqw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Sep 30, 2019 at 4:12 AM Mitchell Horne <mhorne@freebsd.org> wrote:
>
> On Sun, Sep 29, 2019 at 4:56 PM Li-Wen Hsu <lwhsu@freebsd.org> wrote:
> >
> > On Sun, Sep 29, 2019 at 10:48 PM Mitchell Horne <mhorne@freebsd.org> wrote:
> > >
> > >
> > > On Sun, Sep 29, 2019, 15:17 Li-Wen Hsu <lwhsu@freebsd.org> wrote:
> > >>
> > >> I found that RISC-V test started failing recently:
> > >> https://ci.freebsd.org/job/FreeBSD-head-riscv64-test/
> > >>
> > >> After some checking, I found the issue is our bbl image cannot boot
> > >> with this command:
> > >>
> > >> qemu-system-riscv64 -nographic -m 2048M -kernel ./bbl
> > >>
> > >> in QEMU 4.1, while 3.1 and 4.0 are fine.  I've switched the QEMU
> > >> version used in that job to 4.0, but I think it would be best if we
> > >> can find the root cause is in FreeBSD or QEMU.
> > >>
> > >> Can anyone also help on this?
> > >
> > >
> > > Hi Li-Wen,
> > >
> > > I can take a look in the coming week if you're okay with the workaround for the time being. Locally
> > > I've had no issue running bbl with qemu 4.1 but perhaps there's something more specific that the
> > > CI script is doing.
> > >
> > > I'm hoping we will soon be able to replace bbl with the more actively maintained OpenSBI firmware.
> > > I have some pending changes that will allow us to boot FreeBSD with it, and after that I'd like to
> > > create ports for both bootloaders, which I hope will make the CI setup a little simpler and less fragile
> > > than building bbl currently is.
> >
> > Thanks very much, Mitchell,
> >
> > Let's narrow down the scope, are you using the qemu-devel pkg from
> > official repository or building by yourself?
> >
>
> This was using qemu that I had built myself, but the executable from qemu-devel
> works for me as well.
>
> > And can you try this bbl image?
> > https://artifact.ci.freebsd.org/snapshot/head/r352870/riscv/riscv64/bbl.xz
>
> I had no issue booting this image with my self-built qemu or the one from
> pkg. The only observable difference from qemu 3.1 is that a warning is
> printed to stderr, but considering the CI script is timing out I don't think
> that is the issue.

What's your command line to launch qemu? The CI (and I) uses this:

qemu-system-riscv64 -nographic -m 2048M -kernel ./bbl

I also tried to build qemu locally, and result is the same. I also did
a git bisect:

0ac24d56c5e7d32423ea78ac58a06b444d1df04d is the first bad commit
commit 0ac24d56c5e7d32423ea78ac58a06b444d1df04d
Author: Alistair Francis <alistair.francis@wdc.com>
Date:   Mon Jun 24 15:11:49 2019 -0700

    hw/riscv: Split out the boot functions

    Split the common RISC-V boot functions into a seperate file. This allows
    us to share the common code.

    Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
    Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
    Tested-by: Bin Meng <bmeng.cn@gmail.com>
    Signed-off-by: Palmer Dabbelt <palmer@sifive.com>

 hw/riscv/Makefile.objs  |  1 +
 hw/riscv/boot.c         | 69 +++++++++++++++++++++++++++++++++++++++++++++++++
 hw/riscv/sifive_e.c     | 17 ++----------
 hw/riscv/sifive_u.c     | 17 ++----------
 hw/riscv/spike.c        | 21 +++------------
 hw/riscv/virt.c         | 51 ++++--------------------------------
 include/hw/riscv/boot.h | 27 +++++++++++++++++++
 7 files changed, 110 insertions(+), 93 deletions(-)
 create mode 100644 hw/riscv/boot.c
 create mode 100644 include/hw/riscv/boot.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAKBkRUxRW5v=FfuziXrrEHrz_ui4MjXrOOf32376HxVTH0bYDQ>