[PATCH 08/11] csky: Enable LOCKDEP_SUPPORT

From: guoren
Date: Fri Apr 03 2020 - 00:42:24 EST


From: Guo Ren <guoren@xxxxxxxxxxxxxxxxx>

Lockdep is needed by proving the spinlocks and rwlocks. Currently,
we only put trace_hardirqs_on/off with csky_irq and
ret_from_exception.

Signed-off-by: Guo Ren <guoren@xxxxxxxxxxxxxxxxx>
---
arch/csky/Kconfig | 3 +++
arch/csky/kernel/entry.S | 11 +++++++++++
2 files changed, 14 insertions(+)

diff --git a/arch/csky/Kconfig b/arch/csky/Kconfig
index a75b8e1fef1d..998188f44fd7 100644
--- a/arch/csky/Kconfig
+++ b/arch/csky/Kconfig
@@ -69,6 +69,9 @@ config CSKY
select PCI_SYSCALL if PCI
select PCI_MSI if PCI

+config LOCKDEP_SUPPORT
+ def_bool y
+
config CPU_HAS_CACHEV2
bool

diff --git a/arch/csky/kernel/entry.S b/arch/csky/kernel/entry.S
index 0bde1d9fd277..8b040a1b11d0 100644
--- a/arch/csky/kernel/entry.S
+++ b/arch/csky/kernel/entry.S
@@ -225,6 +225,13 @@ ret_from_exception:
cmpnei r12, 0
bt exit_work
1:
+#ifdef CONFIG_TRACE_IRQFLAGS
+ ld r10, (sp, LSAVE_PSR)
+ btsti r10, 6
+ bf 2f
+ jbsr trace_hardirqs_on
+2:
+#endif
RESTORE_ALL

exit_work:
@@ -280,6 +287,10 @@ ENTRY(csky_irq)
zero_fp
psrset ee

+#ifdef CONFIG_TRACE_IRQFLAGS
+ jbsr trace_hardirqs_off
+#endif
+
#ifdef CONFIG_PREEMPTION
mov r9, sp /* Get current stack pointer */
bmaski r10, THREAD_SHIFT
--
2.17.0