[PATCH 1/1] riscv: enable CONFIG_DEBUG_UART by default

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Tue Sep 26 10:38:48 CEST 2023


On 9/26/23 09:53, Leo Liang wrote:
> Hi Heinrich,
> 
> On Sat, Sep 23, 2023 at 01:35:26AM +0200, Heinrich Schuchardt wrote:
>> Most boards don't enable the pre-console buffer. So we will not see any
>> early messages. OpenSBI 1.3 provides us with the debug console extension
>> that can fill this gap.
>>
>> For S-Mode U-Boot enable CONFIG_DEBUG_UART by default.
>>
>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
>> ---
>>   arch/riscv/Kconfig | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
>> index 1c62c2345b..06fae7ebe8 100644
>> --- a/arch/riscv/Kconfig
>> +++ b/arch/riscv/Kconfig
>> @@ -141,6 +141,7 @@ config RISCV_MMODE
>>   
>>   config RISCV_SMODE
>>   	bool "Supervisor"
>> +	imply DEBUG_UART
> 
> This patch will cause the following compilation warnings.
> Could you take a look at them ?
> 
> It seems that some configuration values will not be set
> if we imply DEBUG_UART.
> 
> u-boot$ make qemu-riscv64_spl_defconfig
>    HOSTCC  scripts/basic/fixdep
>    HOSTCC  scripts/kconfig/conf.o
>    YACC    scripts/kconfig/zconf.tab.c
>    LEX     scripts/kconfig/zconf.lex.c
>    HOSTCC  scripts/kconfig/zconf.tab.o
>    HOSTLD  scripts/kconfig/conf
> #
> # configuration written to .config
> #
> 

Hello Leo,

thanks for testing.

> u-boot$ make ARCH_FLAGS="-march=rv64imafdc" -j`nproc`

This does not work with a current gcc.
arch/riscv/lib/cache.c:12: Error: unrecognized opcode `fence.i', 
extension `zifencei' required

> scripts/kconfig/conf  --syncconfig Kconfig
> .config:78:warning: symbol value '' invalid for DEBUG_UART_BASE

Please, observe:

origin/next lacks these patches

d14222e7c152 ("risc-v: implement DBCN write byte")
dfe08374943c ("risc-v: implement DBCN based debug console")

You must add these when testing the current patch.

On Ubuntu 23.10 I have been running

export CROSS_COMPILE=riscv64-linux-gnu-
make clean
make qemu-riscv64_spl_defconfig
make -j8

for origin/master and the current patch. I did not see any warning.

Same for origin/next and all three patches applied.

We have

config DEBUG_UART_BASE
         hex "Base address of UART"
         depends on DEBUG_UART
         default 0 if DEBUG_SBI_CONSOLE

since 41f7be73344.

I don't see any issues in
https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/17882
(origin/master + this patch).

Best regards

Heinrich

> .config:79:warning: symbol value '' invalid for DEBUG_UART_CLOCK
> .config:1347:warning: symbol value '' invalid for SPL_DEBUG_UART_BASE
> ...
> 
> Best regards,
> Leo
> 
>>   	help
>>   	  Choose this option to build U-Boot for RISC-V S-Mode.
>>   
>> -- 
>> 2.40.1
>>



More information about the U-Boot mailing list