Re: Testing the recent RISC-V DT patchsets

From: Troy Benjegerdes
Date: Mon Jun 03 2019 - 11:43:58 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
>


Have a look at https://github.com/tmagik/freedom-u-sdk/tree/dev/u-boot

I need to fill in the makefiles (and set up our lab TFTP server) so
âmake testâ builds and runs everything.

The first time I tried I got an endless string of exceptions, and how I get this:

OpenSBI v0.3 (Jun 3 2019 08:04:44)
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|____/_____|
| |
|_|

Platform Name : SiFive Freedom U540
Platform HART Features : RV64ACDFIMSU
Platform Max HARTs : 5
Current Hart : 4
Firmware Base : 0x80000000
Firmware Size : 92 KB
Runtime SBI Version : 0.1

PMP0: 0x0000000080000000-0x000000008001ffff (A)
PMP1: 0x0000000000000000-0x0000007fffffffff (A,R,W,X)


U-Boot 2019.07-rc3-00047-ga8a796e (Jun 03 2019 - 07:54:59 -0700)

CPU: rv64imafdc
Model: sifive,hifive-unleashed-a00
DRAM: 8 GiB
In: serial@10010000
Out: serial@10010000
Err: serial@10010000
Net:




>>>> Network booting is still not working as the clock driver probe doesn't
>>>> happen because of the updated DT.
>>>>
>>>> --
>>>> Regards,
>>>> Atish
>>>
>>> _______________________________________________
>>> linux-riscv mailing list
>>> linux-riscv@xxxxxxxxxxxxxxxxxxx
>>> http://lists.infradead.org/mailman/listinfo/linux-riscv