summaryrefslogtreecommitdiff
path: root/include/uapi
diff options
context:
space:
mode:
authorKarl Mehltretter <kmehltretter@gmail.com>2026-07-17 09:16:16 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-07-17 13:03:42 +0200
commit782f4dbd1794b4f30dc116a7ca42c5962c409be8 (patch)
tree722ce23ce63726aa97a5f61dc7e20bb73ed366e9 /include/uapi
parenta5ef89f7a8cda4c58bbe3dc68a475d446e5422bc (diff)
downloadlinux-782f4dbd1794b4f30dc116a7ca42c5962c409be8.tar.gz
linux-782f4dbd1794b4f30dc116a7ca42c5962c409be8.zip
tty: hvc: restrict HVC_DCC to ARMv6+ and ARM64
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@gmail.com> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Link: https://patch.msgid.link/20260717071616.91423-1-kmehltretter@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/uapi')
0 files changed, 0 insertions, 0 deletions