cs_etm_queue
cs_etm_decoder__do_soft_timestamp(struct cs_etm_queue *etmq,
cs_etm_decoder__do_hard_timestamp(struct cs_etm_queue *etmq,
cs_etm_decoder__buffer_packet(struct cs_etm_queue *etmq,
cs_etm_decoder__buffer_range(struct cs_etm_queue *etmq,
cs_etm_decoder__buffer_discontinuity(struct cs_etm_queue *etmq,
cs_etm_decoder__buffer_exception(struct cs_etm_queue *etmq,
cs_etm_decoder__buffer_exception_ret(struct cs_etm_queue *etmq,
cs_etm_decoder__set_tid(struct cs_etm_queue *etmq,
struct cs_etm_queue *etmq = decoder->data;
struct cs_etm_queue;
typedef u32 (*cs_etm_mem_cb_type)(struct cs_etm_queue *, u8, u64, size_t, u8 *,
static struct machine *cs_etm__get_machine(struct cs_etm_queue *etmq,
static u8 cs_etm__cpu_mode(struct cs_etm_queue *etmq, u64 address,
static u32 __cs_etm__mem_access(struct cs_etm_queue *etmq,
static u32 cs_etm__frontend_mem_access(struct cs_etm_queue *etmq,
static u32 cs_etm__decoder_mem_access(struct cs_etm_queue *etmq, u8 trace_chan_id,
static struct cs_etm_queue *cs_etm__alloc_queue(void)
struct cs_etm_queue *etmq = zalloc(sizeof(*etmq));
struct cs_etm_queue *etmq = queue->priv;
struct cs_etm_queue *etmq,
void cs_etm__copy_last_branch_rb(struct cs_etm_queue *etmq,
static inline int cs_etm__t32_instr_size(struct cs_etm_queue *etmq,
static int cs_etm__get_data_block(struct cs_etm_queue *etmq);
static int cs_etm__decode_data_block(struct cs_etm_queue *etmq);
static inline u64 cs_etm__instr_addr(struct cs_etm_queue *etmq,
static void cs_etm__update_last_branch_rb(struct cs_etm_queue *etmq,
cs_etm__get_trace(struct cs_etm_queue *etmq)
static int cs_etm__etmq_update_thread(struct cs_etm_queue *etmq,
int cs_etm__etmq_update_decode_context(struct cs_etm_queue *etmq,
bool cs_etm__etmq_is_timeless(struct cs_etm_queue *etmq)
static void cs_etm__copy_insn(struct cs_etm_queue *etmq,
u64 cs_etm__convert_sample_time(struct cs_etm_queue *etmq, u64 cs_timestamp)
static inline u64 cs_etm__resolve_sample_time(struct cs_etm_queue *etmq,
static int cs_etm__synth_instruction_sample(struct cs_etm_queue *etmq,
static int cs_etm__synth_branch_sample(struct cs_etm_queue *etmq,
static int cs_etm__get_magic(struct cs_etm_queue *etmq, u8 trace_chan_id, u64 *magic)
int cs_etm__get_cpu(struct cs_etm_queue *etmq, u8 trace_chan_id, int *cpu)
static int cs_etm__sample(struct cs_etm_queue *etmq,
static int cs_etm__flush(struct cs_etm_queue *etmq,
static int cs_etm__end_block(struct cs_etm_queue *etmq,
static int cs_etm__get_data_block(struct cs_etm_queue *etmq)
static bool cs_etm__is_svc_instr(struct cs_etm_queue *etmq,
static bool cs_etm__is_syscall(struct cs_etm_queue *etmq,
static bool cs_etm__is_sync_exception(struct cs_etm_queue *etmq,
static int cs_etm__set_sample_flags(struct cs_etm_queue *etmq,
enum cs_etm_pid_fmt cs_etm__get_pid_fmt(struct cs_etm_queue *etmq)
static int cs_etm__insert_trace_id_node(struct cs_etm_queue *etmq,
static int cs_etm__decode_data_block(struct cs_etm_queue *etmq)
static int cs_etm__process_traceid_queue(struct cs_etm_queue *etmq,
static void cs_etm__clear_all_traceid_queues(struct cs_etm_queue *etmq)
static int cs_etm__run_per_thread_timeless_decoder(struct cs_etm_queue *etmq)
static int cs_etm__run_per_cpu_timeless_decoder(struct cs_etm_queue *etmq)
struct cs_etm_queue *etmq = queue->priv;
struct cs_etm_queue *etmq;
static struct cs_etm_queue *cs_etm__get_queue(struct cs_etm_auxtrace *etm, int cpu)
struct cs_etm_queue *etmq;
struct cs_etm_queue *etmq = cs_etm__get_queue(etm, auxtrace_event->cpu);
static int cs_etm__create_queue_decoders(struct cs_etm_queue *etmq)
struct cs_etm_queue *etmq = queues->queue_array[i].priv;
struct cs_etm_queue *etmq = cs_etm__get_queue(etm, cpu);
struct cs_etm_queue *other_etmq = etm->queues.queue_array[i].priv;
void cs_etm__etmq_set_traceid_queue_timestamp(struct cs_etm_queue *etmq,
static u64 cs_etm__etmq_get_timestamp(struct cs_etm_queue *etmq,
static void cs_etm__clear_all_packet_queues(struct cs_etm_queue *etmq)
static int cs_etm__init_traceid_queue(struct cs_etm_queue *etmq,
*cs_etm__etmq_get_traceid_queue(struct cs_etm_queue *etmq, u8 trace_chan_id)
*cs_etm__etmq_get_packet_queue(struct cs_etm_queue *etmq, u8 trace_chan_id)
struct cs_etm_queue *etmq = data;
struct cs_etm_queue *etmq)
struct cs_etm_queue *etmq,
static void cs_etm__dump_event(struct cs_etm_queue *etmq,
static void cs_etm__free_traceid_queues(struct cs_etm_queue *etmq)
struct cs_etm_queue *etmq = priv;
struct cs_etm_queue;
int cs_etm__get_cpu(struct cs_etm_queue *etmq, u8 trace_chan_id, int *cpu);
enum cs_etm_pid_fmt cs_etm__get_pid_fmt(struct cs_etm_queue *etmq);
int cs_etm__etmq_update_decode_context(struct cs_etm_queue *etmq,
bool cs_etm__etmq_is_timeless(struct cs_etm_queue *etmq);
void cs_etm__etmq_set_traceid_queue_timestamp(struct cs_etm_queue *etmq,
*cs_etm__etmq_get_packet_queue(struct cs_etm_queue *etmq, u8 trace_chan_id);
u64 cs_etm__convert_sample_time(struct cs_etm_queue *etmq, u64 cs_timestamp);