Re: Testing the recent RISC-V DT patchsets

From: Loys Ollivier
Date: Tue May 28 2019 - 11:14:08 EST


On Tue 28 May 2019 at 01:32, Paul Walmsley <paul.walmsley@xxxxxxxxxx> wrote:

> An update for those testing RISC-V patches: here's a new branch of
> riscv-pk/bbl that doesn't try to read or modify the DT data at all, which
> should be useful until U-Boot settles down. This new riscv-pk version
> should be easier to use than the previous version for those testing
> upstream-bound kernel DT data on SiFive hardware:
>
> https://github.com/sifive/riscv-pk/tree/dev/paulw/configurable-machine-data-methods-v1
>
> To build a BBL that doesn't touch the DT data, use the
> "--with-config-method=hifive_unleashed" switch for the "configure" script.
> As before, this version of riscv-pk can take a DTB that can be passed
> along to the kernel. But this time the path to the DTB can be specified
> on the "configure" script command line.
>
> Below is an example of how to configure it. (The directory structure
> should be familiar to those using the v1_0 tag of freedom-u-sdk, with the
> kernel source in ./linux, riscv-pk source in ./riscv-pk, and build trees
> in work/{linux,riscv-pk}.)
>
> cd work/riscv-pk
> CC=/opt/rv64gc-mmu-linux-8.2.0/bin/riscv64-unknown-linux-gnu-gcc ../../riscv-pk/configure \
> --host=riscv64-unknown-linux-gnu \
> --with-payload=../../work/linux/vmlinux-stripped \
> --with-config-method=hifive_unleashed \
> --enable-dtb \
> --with-dtb-path=../../work/linux/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dtb
>
>
> Here is an Linux kernel branch with updated DT data that can be booted
> with the above bootloader:
>
> https://github.com/sifive/riscv-linux/tree/dev/paulw/dts-v5.2-rc1-experimental
>
> A sample boot log follows, using a 'defconfig' build from that branch.

Thanks Paul, I can confirm that it works.

Something is still unclear to myself.
Using FSBL + riscv-pk/bbl the linux kernel + device tree boots.
Neither FSBL nor riscv-pk/bbl are modifying the DT.

Using FSBL + OpenSBI + U-Boot the same kernel + device tree hangs on
running /init.

Would you have any pointer on what riscv-pk does that OpenSBI/U-boot doesn't ?
Or maybe it is the other way around - OpenSBI/U-boot does something that
extra that should not happen.

Thanks,

Loys