Complete irq tracing support for ARM
[platform/kernel/linux-starfive.git] / arch / arm / kernel / entry-armv.S
index fc8af43..792abd0 100644 (file)
@@ -151,6 +151,8 @@ ENDPROC(__und_invalid)
        @  r4 - orig_r0 (see pt_regs definition in ptrace.h)
        @
        stmia   r5, {r0 - r4}
+
+       asm_trace_hardirqs_off
        .endm
 
        .align  5
@@ -206,9 +208,6 @@ ENDPROC(__dabt_svc)
 __irq_svc:
        svc_entry
 
-#ifdef CONFIG_TRACE_IRQFLAGS
-       bl      trace_hardirqs_off
-#endif
 #ifdef CONFIG_PREEMPT
        get_thread_info tsk
        ldr     r8, [tsk, #TI_PREEMPT]          @ get preempt count
@@ -383,6 +382,8 @@ ENDPROC(__pabt_svc)
        @ Clear FP to mark the first stack frame
        @
        zero_fp
+
+       asm_trace_hardirqs_off
        .endm
 
        .macro  kuser_cmpxchg_check
@@ -437,9 +438,6 @@ __irq_usr:
        usr_entry
        kuser_cmpxchg_check
 
-#ifdef CONFIG_TRACE_IRQFLAGS
-       bl      trace_hardirqs_off
-#endif
        get_thread_info tsk
 #ifdef CONFIG_PREEMPT
        ldr     r8, [tsk, #TI_PREEMPT]          @ get preempt count