Re: [PATCH] tty: hvc: restrict HVC_DCC to ARMv6+ and ARM64

Greg Kroah-Hartman <[email protected]>
Newsgroups org.kernel.vger.linux-serial,org.kernel.vger.linux-kernel
Message-ID <2026071743-number-headfirst-bcca@gregkh>
On Fri, Jul 17, 2026 at 09:16:16AM +0200, Karl Mehltretter wrote:
> hvc_dcc drives the JTAG DCC via the ARMv6/v7 CP14 debug registers
> (mrc/mcr p14, 0, rX, c0, c1/c5, 0 in asm/dcc.h). That encoding is
> undefined on older ARM cores, and also on ARMv7-M, but HVC_DCC only
> depends on ARM, so it can be enabled on e.g. ARM926 (ARCH_MULTI_V5),
> where hvc_dcc_console_init() runs __dcc_putchar() at boot and takes an
> undefined-instruction trap before the console is up:
> 
>   Internal error: Oops - undefined instruction: 0 [#1] ARM
>   PC is at hvc_dcc_check+0x50/0x8c
>    hvc_dcc_check from hvc_dcc_console_init+0x18/0x48
>    hvc_dcc_console_init from console_init+0x58/0x170
>   Kernel panic - not syncing: Fatal exception
> 
> Restrict HVC_DCC to the CPUs where that encoding is valid: the
> CPU_V6 || CPU_V6K || CPU_V7 set that arch/arm/include/debug/icedcc.S
> guards it with, plus ARM64.
> 
> Fixes: 16c63f8ea49c ("drivers: char: hvc: add arm JTAG DCC console support")
> Signed-off-by: Karl Mehltretter <[email protected]>
> ---
>  drivers/tty/hvc/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/tty/hvc/Kconfig b/drivers/tty/hvc/Kconfig
> index c2a4e88b328f..5866195de26a 100644
> --- a/drivers/tty/hvc/Kconfig
> +++ b/drivers/tty/hvc/Kconfig
> @@ -79,7 +79,7 @@ config HVC_UDBG
>  
>  config HVC_DCC
>  	bool "ARM JTAG DCC console"
> -	depends on ARM || ARM64
> +	depends on (ARM && (CPU_V6 || CPU_V6K || CPU_V7)) || ARM64

What about testing builds?

thanks,

greg k-h
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.