| #ifndef _LINUX_CORESIGHT_STM_H |
| #define _LINUX_CORESIGHT_STM_H |
| |
| enum { |
| 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_DIAG = 0xEE, |
| OST_ENTITY_QVIEW = 0xFE, |
| OST_ENTITY_MAX = 0xFF, |
| }; |
| |
| enum { |
| STM_OPTION_NONE = 0x0, |
| STM_OPTION_TIMESTAMPED = 0x08, |
| STM_OPTION_GUARANTEED = 0x80, |
| }; |
| |
| #ifdef __KERNEL__ |
| #define stm_log_inv(entity_id, proto_id, data, size) \ |
| stm_trace(STM_OPTION_NONE, entity_id, proto_id, data, size) |
| |
| #define stm_log_inv_ts(entity_id, proto_id, data, size) \ |
| stm_trace(STM_OPTION_TIMESTAMPED, entity_id, proto_id, \ |
| data, size) |
| |
| #define stm_log_gtd(entity_id, proto_id, data, size) \ |
| stm_trace(STM_OPTION_GUARANTEED, entity_id, proto_id, \ |
| data, size) |
| |
| #define stm_log_gtd_ts(entity_id, proto_id, data, size) \ |
| stm_trace(STM_OPTION_GUARANTEED | STM_OPTION_TIMESTAMPED, \ |
| entity_id, proto_id, data, size) |
| |
| #define stm_log(entity_id, data, size) \ |
| stm_log_inv_ts(entity_id, 0, data, size) |
| |
| #ifdef CONFIG_CORESIGHT_STM |
| extern int stm_trace(uint32_t options, uint8_t entity_id, uint8_t proto_id, |
| const void *data, uint32_t size); |
| #else |
| static inline int stm_trace(uint32_t options, uint8_t entity_id, |
| uint8_t proto_id, const void *data, uint32_t size) |
| { |
| return 0; |
| } |
| #endif |
| #endif /* __KERNEL__ */ |
| |
| #endif |