public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH 1/1] riscv: enable CONFIG_DEBUG_UART by default
@ 2023-09-22 23:35 Heinrich Schuchardt
  2023-09-26  7:03 ` Leo Liang
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Heinrich Schuchardt @ 2023-09-22 23:35 UTC (permalink / raw)
  To: Rick Chen, Leo; +Cc: u-boot, Heinrich Schuchardt

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@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
 	help
 	  Choose this option to build U-Boot for RISC-V S-Mode.
 
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] riscv: enable CONFIG_DEBUG_UART by default
  2023-09-22 23:35 [PATCH 1/1] riscv: enable CONFIG_DEBUG_UART by default Heinrich Schuchardt
@ 2023-09-26  7:03 ` Leo Liang
  2023-09-26  7:53 ` Leo Liang
       [not found] ` <SEZPR03MB80642D16D9A52EE66C34D730C1D2A@SEZPR03MB8064.apcprd03.prod.outlook.com>
  2 siblings, 0 replies; 6+ messages in thread
From: Leo Liang @ 2023-09-26  7:03 UTC (permalink / raw)
  To: Heinrich Schuchardt; +Cc: Rick Chen, u-boot

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@canonical.com>
> ---
>  arch/riscv/Kconfig | 1 +
>  1 file changed, 1 insertion(+)

Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] riscv: enable CONFIG_DEBUG_UART by default
  2023-09-22 23:35 [PATCH 1/1] riscv: enable CONFIG_DEBUG_UART by default Heinrich Schuchardt
  2023-09-26  7:03 ` Leo Liang
@ 2023-09-26  7:53 ` Leo Liang
  2023-09-26  8:38   ` Heinrich Schuchardt
       [not found] ` <SEZPR03MB80642D16D9A52EE66C34D730C1D2A@SEZPR03MB8064.apcprd03.prod.outlook.com>
  2 siblings, 1 reply; 6+ messages in thread
From: Leo Liang @ 2023-09-26  7:53 UTC (permalink / raw)
  To: Heinrich Schuchardt; +Cc: Rick Chen, u-boot

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@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
#

u-boot$ make ARCH_FLAGS="-march=rv64imafdc" -j`nproc`
scripts/kconfig/conf  --syncconfig Kconfig
.config:78:warning: symbol value '' invalid for DEBUG_UART_BASE
.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
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] riscv: enable CONFIG_DEBUG_UART by default
  2023-09-26  7:53 ` Leo Liang
@ 2023-09-26  8:38   ` Heinrich Schuchardt
  2023-09-27  2:44     ` Leo Liang
  0 siblings, 1 reply; 6+ messages in thread
From: Heinrich Schuchardt @ 2023-09-26  8:38 UTC (permalink / raw)
  To: Leo Liang; +Cc: Rick Chen, u-boot

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@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
>>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] riscv: enable CONFIG_DEBUG_UART by default
  2023-09-26  8:38   ` Heinrich Schuchardt
@ 2023-09-27  2:44     ` Leo Liang
  0 siblings, 0 replies; 6+ messages in thread
From: Leo Liang @ 2023-09-27  2:44 UTC (permalink / raw)
  To: Heinrich Schuchardt; +Cc: Rick Chen, u-boot

Hi Heinrich,

On Tue, Sep 26, 2023 at 10:38:48AM +0200, Heinrich Schuchardt wrote:
> 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@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

Totally Got it! Thanks for the detailed explanation!

Best regards,
Leo

> 
> > .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
> > > 
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] riscv: enable CONFIG_DEBUG_UART by default
       [not found] ` <SEZPR03MB80642D16D9A52EE66C34D730C1D2A@SEZPR03MB8064.apcprd03.prod.outlook.com>
@ 2023-10-13  8:56   ` Rick Chen
  0 siblings, 0 replies; 6+ messages in thread
From: Rick Chen @ 2023-10-13  8:56 UTC (permalink / raw)
  To: Heinrich Schuchardt, rick, Leo Liang; +Cc: U-Boot Mailing List

> From: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> Sent: Saturday, September 23, 2023 7:35 AM
> To: Rick Jian-Zhi Chen(陳建志) <rick@andestech.com>; Leo Yu-Chi Liang(梁育齊) <ycliang@andestech.com>
> Cc: u-boot@lists.denx.de; Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> Subject: [PATCH 1/1] riscv: enable CONFIG_DEBUG_UART by default
>
> 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@canonical.com>
> ---
>  arch/riscv/Kconfig | 1 +
>  1 file changed, 1 insertion(+)

Reviewed-by: Rick Chen <rick@andestech.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-10-13  8:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-22 23:35 [PATCH 1/1] riscv: enable CONFIG_DEBUG_UART by default Heinrich Schuchardt
2023-09-26  7:03 ` Leo Liang
2023-09-26  7:53 ` Leo Liang
2023-09-26  8:38   ` Heinrich Schuchardt
2023-09-27  2:44     ` Leo Liang
     [not found] ` <SEZPR03MB80642D16D9A52EE66C34D730C1D2A@SEZPR03MB8064.apcprd03.prod.outlook.com>
2023-10-13  8:56   ` Rick Chen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox