Lines Matching refs:insn

103 		flags->variant.insn.keep_tcal_on_ovf;  in pt_insn_init_qry_flags()
269 if (decoder->flags.variant.insn.enable_tick_events) { in pt_insn_indirect_branch()
293 if (decoder->flags.variant.insn.enable_tick_events) { in pt_insn_cond_branch()
470 struct pt_insn insn; in check_erratum_skd022() local
476 insn.mode = decoder->mode; in check_erratum_skd022()
477 insn.ip = decoder->ip; in check_erratum_skd022()
479 errcode = pt_insn_decode(&insn, &iext, decoder->image, &decoder->asid); in check_erratum_skd022()
520 const struct pt_insn *insn, in pt_insn_proceed() argument
523 if (!decoder || !insn || !iext) in pt_insn_proceed()
527 decoder->ip += insn->size; in pt_insn_proceed()
535 switch (insn->iclass) { in pt_insn_proceed()
624 const struct pt_insn *insn, in pt_insn_at_skl014() argument
631 if (!ev || !insn || !iext || !config) in pt_insn_at_skl014()
637 switch (insn->iclass) { in pt_insn_at_skl014()
645 ip = insn->ip; in pt_insn_at_skl014()
646 ip += insn->size; in pt_insn_at_skl014()
666 const struct pt_insn *insn, in pt_insn_at_disabled_event() argument
670 if (!ev || !insn || !iext || !config) in pt_insn_at_disabled_event()
674 if (pt_insn_is_far_branch(insn, iext) || in pt_insn_at_disabled_event()
675 pt_insn_changes_cpl(insn, iext) || in pt_insn_at_disabled_event()
676 pt_insn_changes_cr3(insn, iext)) in pt_insn_at_disabled_event()
686 pt_insn_at_skl014(ev, insn, iext, config)) in pt_insn_at_disabled_event()
689 switch (insn->iclass) { in pt_insn_at_disabled_event()
702 ip = insn->ip; in pt_insn_at_disabled_event()
703 ip += insn->size; in pt_insn_at_disabled_event()
736 const struct pt_insn *insn, in pt_insn_postpone() argument
739 if (!decoder || !insn || !iext) in pt_insn_postpone()
744 decoder->insn = *insn; in pt_insn_postpone()
786 status = pt_insn_proceed(decoder, &decoder->insn, &decoder->iext); in pt_insn_proceed_postponed()
809 const struct pt_insn *insn, in pt_insn_check_insn_event() argument
844 status = pt_insn_at_disabled_event(ev, insn, iext, in pt_insn_check_insn_event()
853 status = pt_insn_next_ip(&decoder->ip, insn, iext); in pt_insn_check_insn_event()
869 switch (insn->iclass) { in pt_insn_check_insn_event()
872 decoder->ip = insn->ip + insn->size; in pt_insn_check_insn_event()
887 if (!pt_insn_binds_to_pip(insn, iext)) in pt_insn_check_insn_event()
895 return pt_insn_postpone(decoder, insn, iext); in pt_insn_check_insn_event()
902 if (!pt_insn_binds_to_vmcs(insn, iext)) in pt_insn_check_insn_event()
910 return pt_insn_postpone(decoder, insn, iext); in pt_insn_check_insn_event()
918 if (!pt_insn_is_ptwrite(insn, iext)) in pt_insn_check_insn_event()
943 return pt_insn_postpone(decoder, insn, iext); in pt_insn_check_insn_event()
967 const struct pt_insn *insn, in handle_erratum_bdm64() argument
972 if (!decoder || !ev || !insn || !iext) in handle_erratum_bdm64()
980 if (!pt_insn_is_branch(insn, iext)) in handle_erratum_bdm64()
1014 const struct pt_insn *insn, in pt_insn_postpone_tsx() argument
1026 if (insn && iext && decoder->query.config.errata.bdm64) { in pt_insn_postpone_tsx()
1027 status = handle_erratum_bdm64(decoder, ev, insn, iext); in pt_insn_postpone_tsx()
1047 const struct pt_insn *insn, in pt_insn_check_ip_event() argument
1095 status = pt_insn_postpone_tsx(decoder, insn, iext, ev); in pt_insn_check_ip_event()
1194 const struct pt_insn *insn) in insn_to_user() argument
1196 if (!uinsn || !insn) in insn_to_user()
1199 if (uinsn == insn) in insn_to_user()
1203 if (sizeof(*insn) < size) { in insn_to_user()
1204 memset(uinsn + sizeof(*insn), 0, size - sizeof(*insn)); in insn_to_user()
1206 size = sizeof(*insn); in insn_to_user()
1209 memcpy(uinsn, insn, size); in insn_to_user()
1216 struct pt_insn *insn, struct pt_insn_ext *iext) in pt_insn_decode_cached() argument
1220 if (!decoder || !insn || !iext) in pt_insn_decode_cached()
1232 return pt_insn_decode(insn, iext, decoder->image, in pt_insn_decode_cached()
1235 status = pt_msec_read(msec, insn->raw, sizeof(insn->raw), insn->ip); in pt_insn_decode_cached()
1240 return pt_insn_decode(insn, iext, decoder->image, in pt_insn_decode_cached()
1247 insn->size = (uint8_t) status; in pt_insn_decode_cached()
1249 status = pt_ild_decode(insn, iext); in pt_insn_decode_cached()
1254 return pt_insn_decode(insn, iext, decoder->image, in pt_insn_decode_cached()
1293 struct pt_insn insn, *pinsn; in pt_insn_next() local
1311 pinsn = size == sizeof(insn) ? uinsn : &insn; in pt_insn_next()
1750 status = pt_insn_check_insn_event(decoder, &decoder->insn, in pt_insn_event()