]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-blackfin/trace.h
signals: set_restore_sigmask TIF_SIGPENDING
[linux-2.6-omap-h63xx.git] / include / asm-blackfin / trace.h
index 6313aace9d5915991aa55c438fa45914a561e809..312b596b9731f477ac1c2238ef7ad92478c626dd 100644 (file)
@@ -46,42 +46,47 @@ extern unsigned long software_trace_buff[];
 
 #ifdef CONFIG_DEBUG_BFIN_HWTRACE_ON
 
-#define TRACE_BUFFER_START(preg, dreg) trace_buffer_start(preg, dreg)
-#define TRACE_BUFFER_STOP(preg, dreg)  trace_buffer_stop(preg, dreg)
-
 #define trace_buffer_stop(preg, dreg)  \
        preg.L = LO(TBUFCTL);           \
        preg.H = HI(TBUFCTL);           \
        dreg = 0x1;                     \
        [preg] = dreg;
 
-#define trace_buffer_start(preg, dreg) \
-       preg.L = LO(TBUFCTL);           \
-       preg.H = HI(TBUFCTL);           \
-       dreg = BFIN_TRACE_ON;           \
-       [preg] = dreg;
-
 #define trace_buffer_init(preg, dreg) \
        preg.L = LO(TBUFCTL);         \
        preg.H = HI(TBUFCTL);         \
        dreg = BFIN_TRACE_INIT;       \
        [preg] = dreg;
 
+#define trace_buffer_save(preg, dreg) \
+       preg.L = LO(TBUFCTL); \
+       preg.H = HI(TBUFCTL); \
+       dreg = [preg]; \
+       [--sp] = dreg; \
+       dreg = 0x1; \
+       [preg] = dreg;
+
+#define trace_buffer_restore(preg, dreg) \
+       preg.L = LO(TBUFCTL); \
+       preg.H = HI(TBUFCTL); \
+       dreg = [sp++]; \
+       [preg] = dreg;
+
 #else /* CONFIG_DEBUG_BFIN_HWTRACE_ON */
 
 #define trace_buffer_stop(preg, dreg)
-#define trace_buffer_start(preg, dreg)
 #define trace_buffer_init(preg, dreg)
+#define trace_buffer_save(preg, dreg)
+#define trace_buffer_restore(preg, dreg)
 
 #endif /* CONFIG_DEBUG_BFIN_HWTRACE_ON */
 
 #ifdef CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE
-# define DEBUG_START_HWTRACE(preg, dreg) trace_buffer_start(preg, dreg)
-# define DEBUG_STOP_HWTRACE(preg, dreg) trace_buffer_stop(preg, dreg)
-
+# define DEBUG_HWTRACE_SAVE(preg, dreg)    trace_buffer_save(preg, dreg)
+# define DEBUG_HWTRACE_RESTORE(preg, dreg) trace_buffer_restore(preg, dreg)
 #else
-# define DEBUG_START_HWTRACE(preg, dreg)
-# define DEBUG_STOP_HWTRACE(preg, dreg)
+# define DEBUG_HWTRACE_SAVE(preg, dreg)
+# define DEBUG_HWTRACE_RESTORE(preg, dreg)
 #endif
 
 #endif /* __ASSEMBLY__ */