Re: [PATCH] tty: hvc: restrict HVC_DCC to ARMv6+ and ARM64
From: Greg Kroah-Hartman
Date: Fri Jul 17 2026 - 03:26:04 EST
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 <kmehltretter@xxxxxxxxx>
> ---
> 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