coresight: enable stm logging for ftrace events and printk
Dup ftrace event traffic (including writes to trace_marker file from
userspace) to STM. Also dup printk traffic to STM. This allows Linux
tracing and log data to be correlated with other data transported over
STM.
Change-Id: Ieb0b856447f7667eb0005a6a884211dc46f50217
Signed-off-by: Pratik Patel <pratikp@codeaurora.org>
diff --git a/include/linux/coresight-stm.h b/include/linux/coresight-stm.h
index 20c4963..56a6cdf 100644
--- a/include/linux/coresight-stm.h
+++ b/include/linux/coresight-stm.h
@@ -14,12 +14,13 @@
#define __MACH_STM_H
enum {
- OST_ENTITY_NONE = 0x0,
- OST_ENTITY_FTRACE_EVENTS = 0x1,
- OST_ENTITY_TRACE_PRINTK = 0x2,
- OST_ENTITY_TRACE_MARKER = 0x4,
- OST_ENTITY_DEV_NODE = 0x8,
- OST_ENTITY_ALL = 0xF,
+ OST_ENTITY_NONE = 0x00,
+ OST_ENTITY_FTRACE_EVENTS = 0x01,
+ OST_ENTITY_TRACE_PRINTK = 0x02,
+ OST_ENTITY_TRACE_MARKER = 0x04,
+ OST_ENTITY_DEV_NODE = 0x08,
+ OST_ENTITY_PRINTK = 0x10,
+ OST_ENTITY_ALL = 0x1F,
};
enum {
diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h
index 7697249..5d675a7 100644
--- a/include/trace/ftrace.h
+++ b/include/trace/ftrace.h
@@ -17,6 +17,7 @@
*/
#include <linux/ftrace_event.h>
+#include <linux/coresight-stm.h>
/*
* DECLARE_EVENT_CLASS can be used to add a generic function
@@ -544,9 +545,12 @@
\
{ assign; } \
\
- if (!filter_current_check_discard(buffer, event_call, entry, event)) \
+ if (!filter_current_check_discard(buffer, event_call, entry, event)) { \
+ stm_log(OST_ENTITY_FTRACE_EVENTS, entry, \
+ sizeof(*entry) + __data_size); \
trace_nowake_buffer_unlock_commit(buffer, \
event, irq_flags, pc); \
+ } \
}
/*
* The ftrace_test_probe is compiled out, it is only here as a build time check