Lines Matching refs:packet
181 struct intel_pt_pkt packet; member
506 static uint64_t intel_pt_calc_ip(const struct intel_pt_pkt *packet, in intel_pt_calc_ip() argument
511 switch (packet->count) { in intel_pt_calc_ip()
514 packet->payload; in intel_pt_calc_ip()
518 packet->payload; in intel_pt_calc_ip()
521 ip = packet->payload; in intel_pt_calc_ip()
528 packet->payload; in intel_pt_calc_ip()
531 ip = packet->payload; in intel_pt_calc_ip()
542 decoder->last_ip = intel_pt_calc_ip(&decoder->packet, decoder->last_ip); in intel_pt_set_last_ip()
554 intel_pt_log_packet(&decoder->packet, decoder->pkt_len, decoder->pos, in intel_pt_decoder_log_packet()
572 decoder->tx_flags = decoder->packet.payload & INTEL_PT_IN_TX; in intel_pt_update_in_tx()
577 decoder->pip_payload = decoder->packet.payload; in intel_pt_update_pip()
692 ret = intel_pt_get_packet(buf, len, &decoder->packet, &decoder->pkt_ctx); in intel_pt_get_split_packet()
712 struct intel_pt_pkt packet; member
746 ret = intel_pt_get_packet(buf, len, &pkt_info.packet, in intel_pt_pkt_lookahead()
754 } while (pkt_info.packet.type == INTEL_PT_PAD); in intel_pt_pkt_lookahead()
760 pkt_info.last_packet_type = pkt_info.packet.type; in intel_pt_pkt_lookahead()
807 switch (pkt_info->packet.type) { in intel_pt_calc_cyc_cb()
835 mtc = pkt_info->packet.payload; in intel_pt_calc_cyc_cb()
875 timestamp = pkt_info->packet.payload | in intel_pt_calc_cyc_cb()
898 ctc = pkt_info->packet.payload; in intel_pt_calc_cyc_cb()
899 fc = pkt_info->packet.count; in intel_pt_calc_cyc_cb()
920 data->cycle_cnt += pkt_info->packet.payload; in intel_pt_calc_cyc_cb()
924 cbr = pkt_info->packet.payload; in intel_pt_calc_cyc_cb()
1007 decoder->last_packet_type = decoder->packet.type; in intel_pt_get_next_packet()
1022 &decoder->packet, &decoder->pkt_ctx); in intel_pt_get_next_packet()
1035 } while (decoder->packet.type == INTEL_PT_PAD); in intel_pt_get_next_packet()
1366 if (decoder->packet.count == 0) { in intel_pt_walk_tip()
1376 if (decoder->packet.count == 0) { in intel_pt_walk_tip()
1422 switch (pkt_info->packet.type) { in intel_pt_eptw_lookahead_cb()
1455 if (nr_bits > pkt_info->packet.count) in intel_pt_eptw_lookahead_cb()
1456 nr_bits = pkt_info->packet.count; in intel_pt_eptw_lookahead_cb()
1458 data->payload |= pkt_info->packet.payload >> (64 - nr_bits); in intel_pt_eptw_lookahead_cb()
1551 if (decoder->packet.type != INTEL_PT_TIP || in intel_pt_walk_tnt()
1552 decoder->packet.count == 0) { in intel_pt_walk_tnt()
1609 fup_tx_flags = decoder->packet.payload & in intel_pt_mode_tsx()
1614 if (decoder->packet.type == INTEL_PT_FUP) { in intel_pt_mode_tsx()
1664 timestamp = intel_pt_8b_tsc(decoder->packet.payload, in intel_pt_calc_tsc_timestamp()
1671 timestamp = decoder->packet.payload | in intel_pt_calc_tsc_timestamp()
1768 uint32_t ctc = decoder->packet.payload; in intel_pt_calc_tma()
1769 uint32_t fc = decoder->packet.count; in intel_pt_calc_tma()
1805 mtc = decoder->packet.payload; in intel_pt_calc_mtc_timestamp()
1853 unsigned int cbr = decoder->packet.payload & 0xff; in intel_pt_calc_cbr()
1855 decoder->cbr_payload = decoder->packet.payload; in intel_pt_calc_cbr()
1874 decoder->cycle_cnt += decoder->packet.payload; in intel_pt_calc_cyc_timestamp()
1876 decoder->tot_cyc_cnt += decoder->packet.payload; in intel_pt_calc_cyc_timestamp()
1906 decoder->blk_type = decoder->packet.payload; in intel_pt_bbp()
1909 decoder->state.items.is_32_bit = decoder->packet.count; in intel_pt_bbp()
1921 uint32_t id = decoder->packet.count; in intel_pt_bip()
1937 decoder->state.items.val[pos][id] = decoder->packet.payload; in intel_pt_bip()
1952 switch (decoder->packet.type) { in intel_pt_walk_psbend()
2000 decoder->exec_mode = decoder->packet.payload; in intel_pt_walk_psbend()
2009 if (decoder->packet.count) { in intel_pt_walk_psbend()
2059 switch (decoder->packet.type) { in intel_pt_walk_fup_tip()
2097 if (decoder->packet.count == 0) { in intel_pt_walk_fup_tip()
2114 if (decoder->packet.count == 0) { in intel_pt_walk_fup_tip()
2127 if (decoder->packet.count == 0) { in intel_pt_walk_fup_tip()
2151 decoder->exec_mode = decoder->packet.payload; in intel_pt_walk_fup_tip()
2189 switch (pkt_info->packet.type) { in intel_pt_vm_psb_lookahead_cb()
2205 data->tma_packet = pkt_info->packet; in intel_pt_vm_psb_lookahead_cb()
2210 data->pip_packet = pkt_info->packet; in intel_pt_vm_psb_lookahead_cb()
2215 data->vmcs_packet = pkt_info->packet; in intel_pt_vm_psb_lookahead_cb()
2262 if (pkt_info->packet.type == INTEL_PT_CYC || in intel_pt_ovf_fup_lookahead_cb()
2263 pkt_info->packet.type == INTEL_PT_MTC || in intel_pt_ovf_fup_lookahead_cb()
2264 pkt_info->packet.type == INTEL_PT_TSC) in intel_pt_ovf_fup_lookahead_cb()
2266 data->found = pkt_info->packet.type == INTEL_PT_FUP; in intel_pt_ovf_fup_lookahead_cb()
2286 if (pkt_info->packet.type == INTEL_PT_CYC || in intel_pt_tma_lookahead_cb()
2287 pkt_info->packet.type == INTEL_PT_MTC) in intel_pt_tma_lookahead_cb()
2290 if (pkt_info->packet.type == INTEL_PT_TMA) { in intel_pt_tma_lookahead_cb()
2291 data->tma_packet = pkt_info->packet; in intel_pt_tma_lookahead_cb()
2360 uint64_t payload = decoder->packet.payload; in intel_pt_translate_vm_tsc()
2363 decoder->packet.payload -= vmcs_info->tsc_offset; in intel_pt_translate_vm_tsc()
2365 decoder->packet.payload &= SEVEN_BYTES; in intel_pt_translate_vm_tsc()
2372 memcpy((void *)decoder->buf + 1, &decoder->packet.payload, 7); in intel_pt_translate_vm_tsc()
2376 payload, decoder->packet.payload, vmcs_info->vmcs, in intel_pt_translate_vm_tsc()
2494 host_tsc = intel_pt_8b_tsc(decoder->packet.payload, ref_timestamp); in intel_pt_vm_tm_corr_tsc()
2609 uint64_t host_tsc = decoder->packet.payload; in intel_pt_vm_tm_corr_pebs_tsc()
2610 uint64_t guest_tsc = decoder->packet.payload; in intel_pt_vm_tm_corr_pebs_tsc()
2653 decoder->packet.payload = host_tsc; in intel_pt_vm_tm_corr_pebs_tsc()
2675 switch (decoder->packet.type) { in intel_pt_vm_time_correlation()
2713 decoder->pip_payload = decoder->packet.payload; in intel_pt_vm_time_correlation()
2745 if (decoder->packet.payload != NO_VMCS) in intel_pt_vm_time_correlation()
2746 decoder->vmcs = decoder->packet.payload; in intel_pt_vm_time_correlation()
2750 decoder->blk_type = decoder->packet.payload; in intel_pt_vm_time_correlation()
2755 decoder->packet.count == 2) in intel_pt_vm_time_correlation()
2800 if (decoder->leap && !decoder->in_psb && decoder->packet.type != INTEL_PT_PSB) { in intel_pt_hop_trace()
2806 switch (decoder->packet.type) { in intel_pt_hop_trace()
2812 if (!decoder->packet.count) { in intel_pt_hop_trace()
2824 if (!decoder->packet.count) { in intel_pt_hop_trace()
2836 if (!decoder->packet.count) in intel_pt_hop_trace()
2922 switch (pkt_info->packet.type) { in intel_pt_psb_lookahead_cb()
2944 if (data->fup || pkt_info->packet.count == 0) in intel_pt_psb_lookahead_cb()
2946 data->fup_packet = pkt_info->packet; in intel_pt_psb_lookahead_cb()
3047 decoder->packet = data.fup_packet; in intel_pt_psb_with_fup()
3071 last_packet_type = decoder->packet.type; in intel_pt_walk_trace()
3087 switch (decoder->packet.type) { in intel_pt_walk_trace()
3089 if (!decoder->packet.count) in intel_pt_walk_trace()
3091 decoder->tnt = decoder->packet; in intel_pt_walk_trace()
3099 if (decoder->packet.count != 0) in intel_pt_walk_trace()
3109 if (decoder->packet.count == 0) { in intel_pt_walk_trace()
3131 if (decoder->packet.count != 0) in intel_pt_walk_trace()
3137 if (decoder->packet.count == 0) { in intel_pt_walk_trace()
3228 decoder->exec_mode = decoder->packet.payload; in intel_pt_walk_trace()
3252 decoder->fup_ptw_payload = decoder->packet.payload; in intel_pt_walk_trace()
3256 if (decoder->packet.type == INTEL_PT_FUP) { in intel_pt_walk_trace()
3269 decoder->state.ptw_payload = decoder->packet.payload; in intel_pt_walk_trace()
3273 decoder->fup_mwait_payload = decoder->packet.payload; in intel_pt_walk_trace()
3280 decoder->packet.payload; in intel_pt_walk_trace()
3287 decoder->state.pwrx_payload = decoder->packet.payload; in intel_pt_walk_trace()
3294 if (decoder->packet.type == INTEL_PT_FUP) { in intel_pt_walk_trace()
3313 decoder->state.pwrx_payload = decoder->packet.payload; in intel_pt_walk_trace()
3334 if (decoder->packet.type == INTEL_PT_FUP) { in intel_pt_walk_trace()
3356 return decoder->packet.count && in intel_pt_have_ip()
3357 (decoder->have_last_ip || decoder->packet.count == 3 || in intel_pt_have_ip()
3358 decoder->packet.count == 6); in intel_pt_have_ip()
3373 switch (decoder->packet.type) { in intel_pt_walk_psb()
3435 decoder->exec_mode = decoder->packet.payload; in intel_pt_walk_psb()
3493 switch (decoder->packet.type) { in intel_pt_walk_to_ip()
3554 decoder->exec_mode = decoder->packet.payload; in intel_pt_walk_to_ip()
4008 struct intel_pt_pkt packet; in intel_pt_next_tsc() local
4012 ret = intel_pt_get_packet(buf, len, &packet, &ctx); in intel_pt_next_tsc()
4015 if (packet.type == INTEL_PT_TSC) { in intel_pt_next_tsc()
4016 *tsc = packet.payload; in intel_pt_next_tsc()
4020 if (packet.type == INTEL_PT_PSBEND) in intel_pt_next_tsc()