Re: Testing the recent RISC-V DT patchsets

Anup Patel
2019-06-04T06:12:30Z

On Tue, Jun 4, 2019 at 1:47 AM Troy Benjegerdes
<troy.benjegerdes@sifive.com> wrote:
>
>
>
> > On Jun 3, 2019, at 4:49 AM, Loys Ollivier <lollivier@baylibre.com> wrote:
> >
> > On Wed 29 May 2019 at 12:25, Troy Benjegerdes <troy.benjegerdes@sifive.com> wrote:
> >
> >>> On May 29, 2019, at 5:04 AM, Loys Ollivier <lollivier@baylibre.com> wrote:
> >>>
> >>> On Wed 29 May 2019 at 00:50, Atish Patra <atish.patra@wdc.com> wrote:
> >>>
> >>>> On 5/28/19 8:36 AM, Karsten Merker wrote:
> >>>>> On Tue, May 28, 2019 at 05:10:42PM +0200, Loys Ollivier wrote:
> >>>>>> On Tue 28 May 2019 at 01:32, Paul Walmsley <paul.walmsley@sifive.com> 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.
> >>>>> [...]
> >>>>>>> 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.
> >>>>>
> >>>>> Hello,
> >>>>>
> >>>>> I don't know which version of OpenSBI you are using, but there is
> >>>>> a problem with the combination of kernel 5.2-rc1 and OpenSBI
> >>>>> versions before commit
> >>>>>
> >>>>> https://github.com/riscv/opensbi/commit/4e2cd478208531c47343290f15b577d40c82649c
> >>>>>
> >>>>> that can result in a hang on executing init, so in case you
> >>>>> should be using an older OpenSBI build that might be the source
> >>>>> of the problem that you are experiencing.
> >>>>>
> >>>>> Regards,
> >>>>> Karsten
> >>>>>
> >>>>
> >>>> I verified the updated DT with upstream kernel for the boot flow OpenSBI
> >>>> + U-Boot + Linux or OpenSBI + Linux.
> >>>>
> >>>> OpenSBI should be compiled for sifive platform with following additional
> >>>> argument
> >>>>
> >>>> FW_PAYLOAD_FDT_PATH=<linux kernel
> >>>> source>/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dtb
> >>>>
> >>>> FYI: It will only work when kernel is given a payload to U-Boot/OpenSBI
> >>>> directly.
> >>>>
> >>>
> >>> Hum, I am surprised by this statement.
> >>> I was able to verify the latest DT patch serie from Paul with:
> >>> OpenSBI + U-Boot + Linux & DT.
> >>>
> >>> Following the OpenSBI documentation [0] with U-Boot payload:
> >>> FW_PAYLOAD_PATH=<u-boot_build_dir>/u-boot.bin
> >>>
> >>> I get an U-Boot prompt and then I can just load the linux kernel and
> >>> device tree from the network.
> >>>
> >>> [0]: https://github.com/riscv/opensbi/blob/master/docs/platform/sifive_fu540.md#building-sifive-fu540-platform
> >>>
> >>
> >> Could you confirm which git hash of U-boot you are building, and that the .config matches
> >> the defconfig (or send me the .config you used)?
> >
> > Sure,
> >
> > OpenSBI: a6395acd6cb2c35871481d3e4f0beaf449f8c0fd
> > U-Boot: (origin/master) 344a0e4367d0820b8eb2ea4a90132433e038095f
> > Kernel: from Paul from this thread [1]
> >
> > I use the sifive_fu540_defconfig of U-Boot with no additional changes.
> >
> > [1] https://github.com/sifive/riscv-linux/tree/dev/paulw/dts-v5.2-rc1-experimental
> >
> >>
> >> I’d like to get everything that’s working integrated in one place into a freedom-u-sdk test branch.
> >>
> >>
> >
> > Let me know the test branch when it's up :)
> >
> > Loys
>
> Please take a look at https://github.com/tmagik/freedom-u-sdk/tree/functional_test
>
> When I booted the original 4.19 vmlinux.bin, I got this:
>
> Booting kernel in
> 2
> 1
> 0
> ## Starting application at 0x80200000 ...
> [ 0.000000] Linux version 4.19.0-sifive-1+ (troyb@epsilon09) (gcc version 8.3.0 (Buildroot 29
> [ 0.000000] bootconsole [early0] enabled
>
> With the 5.2 kernel, I get know output, which I assume is expected behavior using the
> current DTS provided by the S-mode Uboot.
>
> Booting kernel in
> 2
> 1
> 0
> ## Starting application at 0x80200000 ...

The earlyprintk support has been removed from latest kernel. Instead of
earlyprintk we now use generic earlycon support.

To use earlycon, just add "earlycon=sbi" parameter in your kernel bootargs.

On U-Boot, kernel bootargs can be changed by changing "bootargs" U-Boot
environment variable.

Regards,
Anup