/linux/tools/perf/util/intel-pt-decoder/ |
H A D | intel-pt-insn-decoder.c | 29 struct intel_pt_insn *intel_pt_insn) in intel_pt_insn_decoder() argument 35 intel_pt_insn->rel = 0; in intel_pt_insn_decoder() 36 intel_pt_insn->emulated_ptwrite = false; in intel_pt_insn_decoder() 39 intel_pt_insn->op = INTEL_PT_OP_OTHER; in intel_pt_insn_decoder() 40 intel_pt_insn->branch = INTEL_PT_BR_NO_BRANCH; in intel_pt_insn_decoder() 41 intel_pt_insn->length = insn->length; in intel_pt_insn_decoder() 97 intel_pt_insn->op = INTEL_PT_OP_JMP; in intel_pt_insn_decoder() 99 intel_pt_insn->branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder() 100 intel_pt_insn->length = insn->length; in intel_pt_insn_decoder() 165 intel_pt_insn->op = op; in intel_pt_insn_decoder() [all …]
|
H A D | intel-pt-insn-decoder.h | 39 struct intel_pt_insn { struct 49 struct intel_pt_insn *intel_pt_insn); argument 53 int intel_pt_insn_desc(const struct intel_pt_insn *intel_pt_insn, char *buf,
|
H A D | intel-pt-log.h | 25 struct intel_pt_insn; 27 void __intel_pt_log_insn(struct intel_pt_insn *intel_pt_insn, uint64_t ip); 28 void __intel_pt_log_insn_no_data(struct intel_pt_insn *intel_pt_insn,
|
H A D | intel-pt-log.c | 225 void __intel_pt_log_insn(struct intel_pt_insn *intel_pt_insn, uint64_t ip) in __intel_pt_log_insn() argument 228 size_t len = intel_pt_insn->length; in __intel_pt_log_insn() 235 intel_pt_print_data(intel_pt_insn->buf, len, ip, 8); in __intel_pt_log_insn() 236 if (intel_pt_insn_desc(intel_pt_insn, desc, INTEL_PT_INSN_DESC_MAX) > 0) in __intel_pt_log_insn() 242 void __intel_pt_log_insn_no_data(struct intel_pt_insn *intel_pt_insn, in __intel_pt_log_insn_no_data() argument 251 if (intel_pt_insn_desc(intel_pt_insn, desc, INTEL_PT_INSN_DESC_MAX) > 0) in __intel_pt_log_insn_no_data()
|
H A D | intel-pt-decoder.c | 119 int (*walk_insn)(struct intel_pt_insn *intel_pt_insn, 1118 struct intel_pt_insn intel_pt_insn; in intel_pt_sample_fup_insn() local 1136 err = decoder->walk_insn(&intel_pt_insn, &insn_cnt, &decoder->ip, in intel_pt_sample_fup_insn() 1142 if (intel_pt_insn.branch != INTEL_PT_BR_NO_BRANCH) { in intel_pt_sample_fup_insn() 1155 decoder->ip += intel_pt_insn.length; in intel_pt_sample_fup_insn() 1159 struct intel_pt_insn *intel_pt_insn, uint64_t ip) in intel_pt_walk_insn() argument 1169 err = decoder->walk_insn(intel_pt_insn, in intel_pt_walk_insn() 1411 intel_pt_fup_with_nlip(struct intel_pt_decoder * decoder,struct intel_pt_insn * intel_pt_insn,uint64_t ip,int err) intel_pt_fup_with_nlip() argument 1421 struct intel_pt_insn intel_pt_insn; intel_pt_walk_fup() local 1464 struct intel_pt_insn intel_pt_insn; intel_pt_walk_tip() local 1629 struct intel_pt_insn intel_pt_insn; intel_pt_walk_tnt() local [all...] |
H A D | intel-pt-decoder.h | 261 struct intel_pt_insn; 275 int (*walk_insn)(struct intel_pt_insn *intel_pt_insn,
|
/linux/tools/perf/arch/x86/tests/ |
H A D | insn-x86.c | 102 struct intel_pt_insn intel_pt_insn; in test_data_item() local 122 if (intel_pt_get_insn(dat->data, MAX_INSN_SIZE, x86_64, &intel_pt_insn)) { in test_data_item() 127 if ((int)intel_pt_insn.op != op) { in test_data_item() 129 intel_pt_insn.op, op, dat->asm_rep); in test_data_item() 133 if ((int)intel_pt_insn.branch != branch) { in test_data_item() 135 intel_pt_insn.branch, branch, dat->asm_rep); in test_data_item() 139 if (intel_pt_insn.rel != dat->expected_rel) { in test_data_item() 141 intel_pt_insn.rel, dat->expected_rel, dat->asm_rep); in test_data_item()
|
/linux/tools/perf/util/ |
H A D | intel-bts.c | 76 struct intel_pt_insn intel_pt_insn; member 294 sample.insn_len = btsq->intel_pt_insn.length; in intel_bts_synth_branch_sample() 295 memcpy(sample.insn, btsq->intel_pt_insn.buf, INTEL_PT_INSN_BUF_SZ); in intel_bts_synth_branch_sample() 335 if (intel_pt_get_insn(buf, len, x86_64, &btsq->intel_pt_insn)) in intel_bts_get_next_insn() 373 btsq->intel_pt_insn.length = 0; in intel_bts_get_branch_type() 377 btsq->intel_pt_insn.length = 0; in intel_bts_get_branch_type() 382 btsq->intel_pt_insn.length = 0; in intel_bts_get_branch_type() 390 btsq->sample_flags = intel_pt_insn_type(btsq->intel_pt_insn.op); in intel_bts_get_branch_type() 434 btsq->intel_pt_insn.length, in intel_bts_process_buffer()
|
H A D | intel-pt.c | 616 struct intel_pt_insn *intel_pt_insn) in intel_pt_cache_add() argument 631 e->op = intel_pt_insn->op; in intel_pt_cache_add() 632 e->branch = intel_pt_insn->branch; in intel_pt_cache_add() 633 e->emulated_ptwrite = intel_pt_insn->emulated_ptwrite; in intel_pt_cache_add() 634 e->length = intel_pt_insn->length; in intel_pt_cache_add() 635 e->rel = intel_pt_insn->rel; in intel_pt_cache_add() 636 memcpy(e->insn, intel_pt_insn->buf, INTEL_PT_INSN_BUF_SZ); in intel_pt_cache_add() 724 static inline bool intel_pt_jmp_16(struct intel_pt_insn *intel_pt_insn) in intel_pt_jmp_16() argument 726 return intel_pt_insn->rel == 16 && intel_pt_insn->branch == INTEL_PT_BR_UNCONDITIONAL; in intel_pt_jmp_16() 746 static int intel_pt_walk_next_insn(struct intel_pt_insn *intel_pt_insn, in intel_pt_walk_next_insn() argument [all …]
|