]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: 9050/1: Kconfig: Select ARCH_HAVE_NMI_SAFE_CMPXCHG where possible
authorDaniel Thompson <daniel.thompson@linaro.org>
Fri, 15 Jan 2021 12:21:10 +0000 (13:21 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Mon, 1 Feb 2021 19:47:59 +0000 (19:47 +0000)
commit3526c33e3e59ec0a8d69ab56d896894af870c396
tree867d65fc79036cdc56097ed29532ec36e482b4ae
parent119755997bce7a4067922800974802912f2b4ac1
ARM: 9050/1: Kconfig: Select ARCH_HAVE_NMI_SAFE_CMPXCHG where possible

Currently ARCH_HAVE_NMI_SAFE_CMPXCHG is not set on Arm systems and this
makes it impossible to enable features such as ftrace histogram triggers
on Arm platforms.

Most Arm systems are NMI safe simply because there is no NMI but this isn't
universally true meaning we cannot set ARCH_HAVE_NMI_SAFE_CMPXCHG for all
Arm devices. However the load/store exclusive implementation of cmpxchg is
NMI-safe and this implementation is used ARMv6k and later. Let's select
ARCH_HAVE_NMI_SAFE_CMPXCHG for these systems.

Note that ARMv6 uses load/store exclusive for 32-bit cmpxchg but relies on
interrupt masking for 8- and 16-bit operations. This patch is conservative
and does not change behaviour for CPU_V6.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/Kconfig