mbox series

[PULL] RISC-V Patches for 4.2-rc2

Message ID 20190719015811.14776-1-palmer@sifive.com
State New
Headers show
Series [PULL] RISC-V Patches for 4.2-rc2 | expand

Pull-request

git://github.com/palmer-dabbelt/qemu.git tags/riscv-for-master-4.1-rc2

Message

Palmer Dabbelt July 19, 2019, 1:58 a.m. UTC
The following changes since commit 0b18cfb8f1828c905139b54c8644b0d8f4aad879:

  Update version for v4.1.0-rc1 release (2019-07-16 18:01:28 +0100)

are available in the Git repository at:

  git://github.com/palmer-dabbelt/qemu.git tags/riscv-for-master-4.1-rc2

for you to fetch changes up to fdd1bda4b47cfbec61d0e63a516c614feea0b00b:

  hw/riscv: Load OpenSBI as the default firmware (2019-07-18 14:18:45 -0700)

----------------------------------------------------------------
RISC-V Patches for 4.2-rc2

This contains a pair of patches that add OpenSBI support to QEMU on
RISC-V targets.  The patches have been floating around for a bit, but
everything seems solid now.  These pass my standard test of booting
OpenEmbedded, and also works when I swap around the various command-line
arguments to use the new boot method.

----------------------------------------------------------------
Alistair Francis (2):
      roms: Add OpenSBI version 0.4
      hw/riscv: Load OpenSBI as the default firmware

 .gitmodules                                  |   3 ++
 LICENSE                                      |  21 +++++++----
 Makefile                                     |   5 ++-
 hw/riscv/boot.c                              |  54 +++++++++++++++++++++++++++
 hw/riscv/sifive_u.c                          |   7 ++--
 hw/riscv/virt.c                              |  11 ++++--
 include/hw/riscv/boot.h                      |   3 ++
 pc-bios/README                               |  11 ++++++
 pc-bios/opensbi-riscv32-virt-fw_jump.bin     | Bin 0 -> 36888 bytes
 pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin | Bin 0 -> 40968 bytes
 pc-bios/opensbi-riscv64-virt-fw_jump.bin     | Bin 0 -> 40968 bytes
 qemu-deprecated.texi                         |  20 ++++++++++
 roms/Makefile                                |  48 ++++++++++++++++++------
 roms/opensbi                                 |   1 +
 14 files changed, 157 insertions(+), 27 deletions(-)
 create mode 100755 pc-bios/opensbi-riscv32-virt-fw_jump.bin
 create mode 100755 pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin
 create mode 100755 pc-bios/opensbi-riscv64-virt-fw_jump.bin
 create mode 160000 roms/opensbi
From Palmer Dabbelt <palmer@sifive.com> # This line is ignored.
From: Palmer Dabbelt <palmer@sifive.com>
Reply-To: 
Subject: 
In-Reply-To:

Comments

Peter Maydell July 19, 2019, 11:03 a.m. UTC | #1
On Fri, 19 Jul 2019 at 02:58, Palmer Dabbelt <palmer@sifive.com> wrote:
>
> The following changes since commit 0b18cfb8f1828c905139b54c8644b0d8f4aad879:
>
>   Update version for v4.1.0-rc1 release (2019-07-16 18:01:28 +0100)
>
> are available in the Git repository at:
>
>   git://github.com/palmer-dabbelt/qemu.git tags/riscv-for-master-4.1-rc2
>
> for you to fetch changes up to fdd1bda4b47cfbec61d0e63a516c614feea0b00b:
>
>   hw/riscv: Load OpenSBI as the default firmware (2019-07-18 14:18:45 -0700)
>
> ----------------------------------------------------------------
> RISC-V Patches for 4.2-rc2
>
> This contains a pair of patches that add OpenSBI support to QEMU on
> RISC-V targets.  The patches have been floating around for a bit, but
> everything seems solid now.  These pass my standard test of booting
> OpenEmbedded, and also works when I swap around the various command-line
> arguments to use the new boot method.
>
> ----------------------------------------------------------------
> Alistair Francis (2):
>       roms: Add OpenSBI version 0.4
>       hw/riscv: Load OpenSBI as the default firmware

This passes the 'make check' tests but it prints out a lot
of warnings as it does so:

qemu-system-riscv64: warning: No -bios option specified. Not loading a firmware.
qemu-system-riscv64: warning: This default will change in QEMU 4.3.
Please use the -bios option to aviod breakages when this happens.
qemu-system-riscv64: warning: See QEMU's deprecation documentation for details

(repeated 7 or 8 times during the course of a test run)

Can we make the tests not trigger warnings, please?
(I have a filter where I search through for strings like
"warning" because warnings that shouldn't happen often don't
actually cause the tests to fail.)

Also, I notice that you have a typo: "aviod" should be "avoid".

PS: something in your pull-request creation process seems to
add this junk at the bottom of the pullreq emails, though
since it doesn't appear in the merge commit it's harmless:

> From Palmer Dabbelt <palmer@sifive.com> # This line is ignored.
> From: Palmer Dabbelt <palmer@sifive.com>
> Reply-To:
> Subject:
> In-Reply-To:

thanks
-- PMM
Peter Maydell July 19, 2019, 11:11 a.m. UTC | #2
On Fri, 19 Jul 2019 at 12:03, Peter Maydell <peter.maydell@linaro.org> wrote:
> This passes the 'make check' tests but it prints out a lot
> of warnings as it does so:
>
> qemu-system-riscv64: warning: No -bios option specified. Not loading a firmware.
> qemu-system-riscv64: warning: This default will change in QEMU 4.3.
> Please use the -bios option to aviod breakages when this happens.
> qemu-system-riscv64: warning: See QEMU's deprecation documentation for details
>
> (repeated 7 or 8 times during the course of a test run)
>
> Can we make the tests not trigger warnings, please?
> (I have a filter where I search through for strings like
> "warning" because warnings that shouldn't happen often don't
> actually cause the tests to fail.)

Forgot to mention, but a common way to do this is to say
"don't print the warnings about bios image loading if
qtest_enabled(), because with qtest we never execute any
guest code anyway". That will probably fix the warnings here.

> Also, I notice that you have a typo: "aviod" should be "avoid".

Also also, the warning message mentions "QEMU 4.3", but our
versioning system bumps the major version every year, so
the pending release is 4.1, the next one will be 4.2, and
then the release after that will be 5.0 because it will be the
first release in 2020.

(Plus, your merge commit message says this pullreq is
for 4.2-rc2, which is a typo for 4.1-rc2 I assume.)

Since this pullreq does pass the tests, and rc2 is not far off
now (Tuesday), I think my suggestion is that I'll apply this
as-is, and we should fix up the issues with the warning messages
as a followup patch. I think that's better than holding this
out of master and making it risk missing rc2.

thanks
-- PMM
Peter Maydell July 19, 2019, 11:52 a.m. UTC | #3
On Fri, 19 Jul 2019 at 12:11, Peter Maydell <peter.maydell@linaro.org> wrote>
> Since this pullreq does pass the tests, and rc2 is not far off
> now (Tuesday), I think my suggestion is that I'll apply this
> as-is, and we should fix up the issues with the warning messages
> as a followup patch. I think that's better than holding this
> out of master and making it risk missing rc2.

...and so I have applied it to master.
Please update the changelog at https://wiki.qemu.org/ChangeLog/4.1
for any user-visible changes, and please also submit a patch to
fix up the warning issues.

thanks
-- PMM
Alistair Francis July 19, 2019, 4:16 p.m. UTC | #4
On Fri, Jul 19, 2019 at 4:11 AM Peter Maydell <peter.maydell@linaro.org> wrote:
>
> On Fri, 19 Jul 2019 at 12:03, Peter Maydell <peter.maydell@linaro.org> wrote:
> > This passes the 'make check' tests but it prints out a lot
> > of warnings as it does so:
> >
> > qemu-system-riscv64: warning: No -bios option specified. Not loading a firmware.
> > qemu-system-riscv64: warning: This default will change in QEMU 4.3.
> > Please use the -bios option to aviod breakages when this happens.
> > qemu-system-riscv64: warning: See QEMU's deprecation documentation for details
> >
> > (repeated 7 or 8 times during the course of a test run)
> >
> > Can we make the tests not trigger warnings, please?
> > (I have a filter where I search through for strings like
> > "warning" because warnings that shouldn't happen often don't
> > actually cause the tests to fail.)
>
> Forgot to mention, but a common way to do this is to say
> "don't print the warnings about bios image loading if
> qtest_enabled(), because with qtest we never execute any
> guest code anyway". That will probably fix the warnings here.

Testing my patch now, I'll send it out today.

>
> > Also, I notice that you have a typo: "aviod" should be "avoid".

Fixed.

>
> Also also, the warning message mentions "QEMU 4.3", but our
> versioning system bumps the major version every year, so
> the pending release is 4.1, the next one will be 4.2, and
> then the release after that will be 5.0 because it will be the
> first release in 2020.

I just dropped the version number in the warning message.

Alistair

>
> (Plus, your merge commit message says this pullreq is
> for 4.2-rc2, which is a typo for 4.1-rc2 I assume.)
>
> Since this pullreq does pass the tests, and rc2 is not far off
> now (Tuesday), I think my suggestion is that I'll apply this
> as-is, and we should fix up the issues with the warning messages
> as a followup patch. I think that's better than holding this
> out of master and making it risk missing rc2.
>
> thanks
> -- PMM