Home
last modified time | relevance | path

Searched refs:intel_pt_insn (Results 1 – 9 of 9) sorted by relevance

/linux-6.1.9/tools/perf/util/intel-pt-decoder/
Dintel-pt-insn-decoder.c28 struct intel_pt_insn *intel_pt_insn) in intel_pt_insn_decoder() argument
34 intel_pt_insn->rel = 0; in intel_pt_insn_decoder()
35 intel_pt_insn->emulated_ptwrite = false; in intel_pt_insn_decoder()
38 intel_pt_insn->op = INTEL_PT_OP_OTHER; in intel_pt_insn_decoder()
39 intel_pt_insn->branch = INTEL_PT_BR_NO_BRANCH; in intel_pt_insn_decoder()
40 intel_pt_insn->length = insn->length; in intel_pt_insn_decoder()
141 intel_pt_insn->op = op; in intel_pt_insn_decoder()
142 intel_pt_insn->branch = branch; in intel_pt_insn_decoder()
143 intel_pt_insn->length = insn->length; in intel_pt_insn_decoder()
150 intel_pt_insn->rel = insn->immediate.value; in intel_pt_insn_decoder()
[all …]
Dintel-pt-insn-decoder.h37 struct intel_pt_insn { struct
47 struct intel_pt_insn *intel_pt_insn); argument
51 int intel_pt_insn_desc(const struct intel_pt_insn *intel_pt_insn, char *buf,
Dintel-pt-log.h25 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,
Dintel-pt-log.c225 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()
Dintel-pt-decoder.c119 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, &insn_cnt, &decoder->ip, ip, in intel_pt_walk_insn()
1195 if (intel_pt_insn->branch == INTEL_PT_BR_NO_BRANCH) { in intel_pt_walk_insn()
1199 decoder->ip += intel_pt_insn->length; in intel_pt_walk_insn()
1204 if (intel_pt_insn->op == INTEL_PT_OP_CALL) { in intel_pt_walk_insn()
[all …]
Dintel-pt-decoder.h261 struct intel_pt_insn;
275 int (*walk_insn)(struct intel_pt_insn *intel_pt_insn,
/linux-6.1.9/tools/perf/arch/x86/tests/
Dinsn-x86.c98 struct intel_pt_insn intel_pt_insn; in test_data_item() local
118 if (intel_pt_get_insn(dat->data, MAX_INSN_SIZE, x86_64, &intel_pt_insn)) { in test_data_item()
123 if ((int)intel_pt_insn.op != op) { in test_data_item()
125 intel_pt_insn.op, op, dat->asm_rep); in test_data_item()
129 if ((int)intel_pt_insn.branch != branch) { in test_data_item()
131 intel_pt_insn.branch, branch, dat->asm_rep); in test_data_item()
135 if (intel_pt_insn.rel != dat->expected_rel) { in test_data_item()
137 intel_pt_insn.rel, dat->expected_rel, dat->asm_rep); in test_data_item()
/linux-6.1.9/tools/perf/util/
Dintel-bts.c76 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()
Dintel-pt.c609 struct intel_pt_insn *intel_pt_insn) in intel_pt_cache_add() argument
624 e->op = intel_pt_insn->op; in intel_pt_cache_add()
625 e->branch = intel_pt_insn->branch; in intel_pt_cache_add()
626 e->emulated_ptwrite = intel_pt_insn->emulated_ptwrite; in intel_pt_cache_add()
627 e->length = intel_pt_insn->length; in intel_pt_cache_add()
628 e->rel = intel_pt_insn->rel; in intel_pt_cache_add()
629 memcpy(e->insn, intel_pt_insn->buf, INTEL_PT_INSN_BUF_SZ); in intel_pt_cache_add()
717 static inline bool intel_pt_jmp_16(struct intel_pt_insn *intel_pt_insn) in intel_pt_jmp_16() argument
719 return intel_pt_insn->rel == 16 && intel_pt_insn->branch == INTEL_PT_BR_UNCONDITIONAL; in intel_pt_jmp_16()
739 static int intel_pt_walk_next_insn(struct intel_pt_insn *intel_pt_insn, in intel_pt_walk_next_insn() argument
[all …]