linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] tty: hvc: Don't enable the RISC-V SBI console by default
@ 2024-02-14 15:34 Palmer Dabbelt
  2024-02-14 15:44 ` Paul Walmsley
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Palmer Dabbelt @ 2024-02-14 15:34 UTC (permalink / raw)
  To: linux-riscv
  Cc: apatel, Emil Renner Berthing, Greg KH, Atish Patra, linuxppc-dev,
	Palmer Dabbelt, linux-kernel, linux-serial, jirislaby, ajones

From: Palmer Dabbelt <palmer@rivosinc.com>

The new SBI console has the same problem as the old one: there's only
one shared backing hardware and no synchronization, so the two drivers
end up stepping on each other.  This was the same issue the old SBI-0.1
console drivers had, but that was disabled by default when SBI-0.1 was.

So just mark the new driver as nonportable.

Reported-by: Emil Renner Berthing <kernel@esmil.dk>
Fixes: 88ead68e764c ("tty: Add SBI debug console support to HVC SBI driver")
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
---
 drivers/tty/hvc/Kconfig | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/tty/hvc/Kconfig b/drivers/tty/hvc/Kconfig
index 6e05c5c7bca1..c2a4e88b328f 100644
--- a/drivers/tty/hvc/Kconfig
+++ b/drivers/tty/hvc/Kconfig
@@ -108,13 +108,15 @@ config HVC_DCC_SERIALIZE_SMP
 
 config HVC_RISCV_SBI
 	bool "RISC-V SBI console support"
-	depends on RISCV_SBI
+	depends on RISCV_SBI && NONPORTABLE
 	select HVC_DRIVER
 	help
 	  This enables support for console output via RISC-V SBI calls, which
-	  is normally used only during boot to output printk.
+	  is normally used only during boot to output printk.  This driver
+	  conflicts with real console drivers and should not be enabled on
+	  systems that directly access the console.
 
-	  If you don't know what do to here, say Y.
+	  If you don't know what do to here, say N.
 
 config HVCS
 	tristate "IBM Hypervisor Virtual Console Server support"
-- 
2.43.0


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

* Re: [PATCH] tty: hvc: Don't enable the RISC-V SBI console by default
  2024-02-14 15:34 [PATCH] tty: hvc: Don't enable the RISC-V SBI console by default Palmer Dabbelt
@ 2024-02-14 15:44 ` Paul Walmsley
  2024-02-14 15:50 ` Anup Patel
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Paul Walmsley @ 2024-02-14 15:44 UTC (permalink / raw)
  To: Palmer Dabbelt
  Cc: apatel, Emil Renner Berthing, Greg KH, Atish Patra, linuxppc-dev,
	linux-kernel, linux-serial, linux-riscv, jirislaby, ajones

On Wed, 14 Feb 2024, Palmer Dabbelt wrote:

> From: Palmer Dabbelt <palmer@rivosinc.com>
> 
> The new SBI console has the same problem as the old one: there's only
> one shared backing hardware and no synchronization, so the two drivers
> end up stepping on each other.  This was the same issue the old SBI-0.1
> console drivers had, but that was disabled by default when SBI-0.1 was.
> 
> So just mark the new driver as nonportable.
> 
> Reported-by: Emil Renner Berthing <kernel@esmil.dk>
> Fixes: 88ead68e764c ("tty: Add SBI debug console support to HVC SBI driver")
> Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

Reviewed-by: Paul Walmsley <paul.walmsley@sifive.com>


- Paul

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

* Re: [PATCH] tty: hvc: Don't enable the RISC-V SBI console by default
  2024-02-14 15:34 [PATCH] tty: hvc: Don't enable the RISC-V SBI console by default Palmer Dabbelt
  2024-02-14 15:44 ` Paul Walmsley
@ 2024-02-14 15:50 ` Anup Patel
  2024-02-14 15:54 ` Conor Dooley
  2024-02-21 19:50 ` patchwork-bot+linux-riscv
  3 siblings, 0 replies; 5+ messages in thread
From: Anup Patel @ 2024-02-14 15:50 UTC (permalink / raw)
  To: Palmer Dabbelt
  Cc: apatel, Emil Renner Berthing, Greg KH, Atish Patra, linuxppc-dev,
	linux-kernel, linux-serial, linux-riscv, jirislaby, ajones

On Wed, Feb 14, 2024 at 9:06 PM Palmer Dabbelt <palmer@rivosinc.com> wrote:
>
> From: Palmer Dabbelt <palmer@rivosinc.com>
>
> The new SBI console has the same problem as the old one: there's only
> one shared backing hardware and no synchronization, so the two drivers
> end up stepping on each other.  This was the same issue the old SBI-0.1
> console drivers had, but that was disabled by default when SBI-0.1 was.
>
> So just mark the new driver as nonportable.
>
> Reported-by: Emil Renner Berthing <kernel@esmil.dk>
> Fixes: 88ead68e764c ("tty: Add SBI debug console support to HVC SBI driver")
> Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

LTGM.

Reviewed-by: Anup Patel <anup@brainfault.org>

Regards,
Anup

> ---
>  drivers/tty/hvc/Kconfig | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/tty/hvc/Kconfig b/drivers/tty/hvc/Kconfig
> index 6e05c5c7bca1..c2a4e88b328f 100644
> --- a/drivers/tty/hvc/Kconfig
> +++ b/drivers/tty/hvc/Kconfig
> @@ -108,13 +108,15 @@ config HVC_DCC_SERIALIZE_SMP
>
>  config HVC_RISCV_SBI
>         bool "RISC-V SBI console support"
> -       depends on RISCV_SBI
> +       depends on RISCV_SBI && NONPORTABLE
>         select HVC_DRIVER
>         help
>           This enables support for console output via RISC-V SBI calls, which
> -         is normally used only during boot to output printk.
> +         is normally used only during boot to output printk.  This driver
> +         conflicts with real console drivers and should not be enabled on
> +         systems that directly access the console.
>
> -         If you don't know what do to here, say Y.
> +         If you don't know what do to here, say N.
>
>  config HVCS
>         tristate "IBM Hypervisor Virtual Console Server support"
> --
> 2.43.0
>
>

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

* Re: [PATCH] tty: hvc: Don't enable the RISC-V SBI console by default
  2024-02-14 15:34 [PATCH] tty: hvc: Don't enable the RISC-V SBI console by default Palmer Dabbelt
  2024-02-14 15:44 ` Paul Walmsley
  2024-02-14 15:50 ` Anup Patel
@ 2024-02-14 15:54 ` Conor Dooley
  2024-02-21 19:50 ` patchwork-bot+linux-riscv
  3 siblings, 0 replies; 5+ messages in thread
From: Conor Dooley @ 2024-02-14 15:54 UTC (permalink / raw)
  To: Palmer Dabbelt
  Cc: apatel, Emil Renner Berthing, Greg KH, Atish Patra, linuxppc-dev,
	linux-kernel, linux-serial, linux-riscv, jirislaby, ajones

[-- Attachment #1: Type: text/plain, Size: 2345 bytes --]

On Wed, Feb 14, 2024 at 07:34:30AM -0800, Palmer Dabbelt wrote:
> From: Palmer Dabbelt <palmer@rivosinc.com>
> 
> The new SBI console has the same problem as the old one: there's only
> one shared backing hardware and no synchronization, so the two drivers
> end up stepping on each other.  This was the same issue the old SBI-0.1
> console drivers had, but that was disabled by default when SBI-0.1 was.
> 
> So just mark the new driver as nonportable.
> 
> Reported-by: Emil Renner Berthing <kernel@esmil.dk>
> Fixes: 88ead68e764c ("tty: Add SBI debug console support to HVC SBI driver")
> Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

As was brought up when we covered this earlier today, if you're going to
probe a driver based on an ecall, the same hardware should not remain
enabled in the DT passed to the kernel.
If you want to enable this driver in a multiplatform kernel alongside
"real" drivers, then the solution is simple, firmware needs implementation
needs to patch the DT and, at least, mark the uart as reserved if it is
using it to provide the debug console. Marking this nonportable so that
people only walk into this with their eyes open seems like a reasonable
action to me.

Reviewed-by: Conor Dooley <conor.dooley@microchip.com>

Cheers,
Conor.

> ---
>  drivers/tty/hvc/Kconfig | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/tty/hvc/Kconfig b/drivers/tty/hvc/Kconfig
> index 6e05c5c7bca1..c2a4e88b328f 100644
> --- a/drivers/tty/hvc/Kconfig
> +++ b/drivers/tty/hvc/Kconfig
> @@ -108,13 +108,15 @@ config HVC_DCC_SERIALIZE_SMP
>  
>  config HVC_RISCV_SBI
>  	bool "RISC-V SBI console support"
> -	depends on RISCV_SBI
> +	depends on RISCV_SBI && NONPORTABLE
>  	select HVC_DRIVER
>  	help
>  	  This enables support for console output via RISC-V SBI calls, which
> -	  is normally used only during boot to output printk.
> +	  is normally used only during boot to output printk.  This driver
> +	  conflicts with real console drivers and should not be enabled on
> +	  systems that directly access the console.
>  
> -	  If you don't know what do to here, say Y.
> +	  If you don't know what do to here, say N.
>  
>  config HVCS
>  	tristate "IBM Hypervisor Virtual Console Server support"
> -- 
> 2.43.0
> 
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

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

* Re: [PATCH] tty: hvc: Don't enable the RISC-V SBI console by default
  2024-02-14 15:34 [PATCH] tty: hvc: Don't enable the RISC-V SBI console by default Palmer Dabbelt
                   ` (2 preceding siblings ...)
  2024-02-14 15:54 ` Conor Dooley
@ 2024-02-21 19:50 ` patchwork-bot+linux-riscv
  3 siblings, 0 replies; 5+ messages in thread
From: patchwork-bot+linux-riscv @ 2024-02-21 19:50 UTC (permalink / raw)
  To: Palmer Dabbelt
  Cc: apatel, kernel, gregkh, atishp, linuxppc-dev, linux-kernel,
	linux-serial, linux-riscv, jirislaby, ajones

Hello:

This patch was applied to riscv/linux.git (fixes)
by Palmer Dabbelt <palmer@rivosinc.com>:

On Wed, 14 Feb 2024 07:34:30 -0800 you wrote:
> From: Palmer Dabbelt <palmer@rivosinc.com>
> 
> The new SBI console has the same problem as the old one: there's only
> one shared backing hardware and no synchronization, so the two drivers
> end up stepping on each other.  This was the same issue the old SBI-0.1
> console drivers had, but that was disabled by default when SBI-0.1 was.
> 
> [...]

Here is the summary with links:
  - tty: hvc: Don't enable the RISC-V SBI console by default
    https://git.kernel.org/riscv/c/481860974faa

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



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

end of thread, other threads:[~2024-02-21 19:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-14 15:34 [PATCH] tty: hvc: Don't enable the RISC-V SBI console by default Palmer Dabbelt
2024-02-14 15:44 ` Paul Walmsley
2024-02-14 15:50 ` Anup Patel
2024-02-14 15:54 ` Conor Dooley
2024-02-21 19:50 ` patchwork-bot+linux-riscv

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).