[U-Boot] [PATCH 12/12] riscv: Add QEMU virt board support

Auer, Lukas lukas.auer at aisec.fraunhofer.de
Wed Sep 5 09:34:58 UTC 2018


On Wed, 2018-09-05 at 09:28 +0800, Rick Chen wrote:
>  > > From: Auer, Lukas [mailto:lukas.auer at aisec.fraunhofer.de]
>  > > Sent: Wednesday, September 05, 2018 5:53 AM
>  > > To: bmeng.cn at gmail.com
>  > > Cc: Rick Jian-Zhi Chen(陳建志); u-boot at lists.denx.de
>  > > Subject: Re: [U-Boot] [PATCH 12/12] riscv: Add QEMU virt board
> support
>  > >
>  > > On Tue, 2018-09-04 at 17:31 +0800, Bin Meng wrote:
>  > > > Hi Lukas,
>  > > >
>  > > > On Tue, Sep 4, 2018 at 5:39 AM Auer, Lukas
>  > > > <lukas.auer at aisec.fraunhofer.de> wrote:
>  > > > >
>  > > > > On Thu, 2018-08-30 at 00:54 -0700, Bin Meng wrote:
>  > > > > > This adds QEMU RISC-V 'virt' board target support, with
> the hope
>  > > > > > of helping people easily test U-Boot on RISC-V.
>  > > > > >
>  > > > > > The QEMU virt machine models a generic RISC-V virtual
> machine
>  > > > > > with support for the VirtIO standard networking and block
>  > > > > > storage devices.
>  > > > > > It has CLINT, PLIC, 16550A UART devices in addition to
> VirtIO
>  > > > > > and it also uses device-tree to pass configuration
> information
>  > > > > > to guest software. It implements RISC-V privileged
> architecture
>  > > > > > spec v1.10.
>  > > > > >
>  > > > > > Both 32-bit and 64-bit builds are supported. Support is
> pretty
>  > > > > > much preliminary, only booting to U-Boot shell with the
> UART
>  > > > > > driver on a single core. Booting Linux is not supported
> yet.
>  > > > > >
>  > > > >
>  > > > > For your information and to avoid duplicate work, I am
> working on
>  > > > > a patch set that improves RISC-V support in u-boot. I am
> currently
>  > > > > able to boot Linux on a multi-core setup in QEMU, but they
> are not
>  > > > > quite ready to submit yet.
>  > > > >
>  > > >
>  > > > This is great! My next step is to work on virtio driver
> support in
>  > > > U-Boot as qemu-riscv virt machine has these devices but we
> don't
>  > > > have corresponding drivers in U-Boot. Then I will try to boot
> Linux
>  > > > after that. Good to hear you already boot Linux with qemu-
> riscv!
>  > > > Have you already supported virtio drivers in your port? If
> yes, I
>  > > > will just hold on and wait for your patch series :-)
>  > > >
>  > >
>  > > Hi Bin,
>  > >
>  > > Support for the virtio devices would be great! I don't support
> them in
>  > > my port, I can only boot a kernel image from RAM.
>  > > I only have a driver for the clint0 (core local interrupt
> controller),
>  > > which I need for software interrupts to other cores and as a
> timer.
>  > > Software interrupts also work over the supervisor binary
> interface
>  > > (SBI), which allows u-boot to run in supervisor mode with bbl
> running
>  > > in machine mode to handle the SBI calls.
>  > >
> 
> Hi Bin and Auer
> 
> I have already boot bbl run in S-mode and riscv-linux in M-mode via
> u-boot from SD card or FLASH.
> It mean after booting riscv-linux, u-boot will be dead. And no matter
> about kernel.
> Please refer to doc/README.ae350
> 
> May I figure out more clearly what are you going to do ?
> What are you going to do is let u-boot run in S-mode and boot bbl and
> riscv-linux in M-mode, right ?
> It mean after booting bbl and riscv-linux, u-boot will still alive
> and
> handle SBI calls and somethings in S-mode.
> 
> Or u-boot is going to replace the role of bbl ?
> 
> Rick
> 

Hi Rick,

Not exactly, my current boot flow is as follows.

1. u-boot SPL starts in machine mode and jumps to bbl
2. bbl starts u-boot proper in supervisor mode
3. u-boot boots the kernel

bbl is still active once Linux has booted and is used there for its SBI
implementation. Hope this helps.

Thanks,
Lukas

> 
> 
>  > > > > Thank you for your patches, it's great to see better support
> for
>  > > > > RISC-V in u-boot! I will add a few comments based on what I
> have
>  > > > > learned so far from working with u-boot on RISC-V.
>  > > > >
>  > > >
>  > > > It's a good start. RISC-V is pretty new and needs more
> developers
>  > > > :-)
>  > > >
>  > >
>  > > Exactly :)
>  > >
>  > > Thanks,
>  > > Lukas


More information about the U-Boot mailing list