Re: Testing the recent RISC-V DT patchsets
From: Troy Benjegerdes
Date: Mon Jun 03 2019 - 16:21:41 EST
> On Jun 3, 2019, at 4:49 AM, Loys Ollivier <lollivier@xxxxxxxxxxxx> wrote:
>
> On Wed 29 May 2019 at 12:25, Troy Benjegerdes <troy.benjegerdes@xxxxxxxxxx> wrote:
>
>>> On May 29, 2019, at 5:04 AM, Loys Ollivier <lollivier@xxxxxxxxxxxx> wrote:
>>>
>>> On Wed 29 May 2019 at 00:50, Atish Patra <atish.patra@xxxxxxx> 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@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.
>>>>> [...]
>>>>>>> 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 ...