Lines Matching refs:pkt_info
728 typedef int (*intel_pt_pkt_cb_t)(struct intel_pt_pkt_info *pkt_info);
734 struct intel_pt_pkt_info pkt_info;
740 pkt_info.decoder = decoder;
741 pkt_info.pos = decoder->pos;
742 pkt_info.pkt_len = decoder->pkt_step;
743 pkt_info.last_packet_type = decoder->last_packet_type;
744 pkt_info.data = data;
748 pkt_info.pos += pkt_info.pkt_len;
749 buf += pkt_info.pkt_len;
750 len -= pkt_info.pkt_len;
755 ret = intel_pt_get_packet(buf, len, &pkt_info.packet,
762 pkt_info.pkt_len = ret;
763 } while (pkt_info.packet.type == INTEL_PT_PAD);
765 ret = cb(&pkt_info);
769 pkt_info.last_packet_type = pkt_info.packet.type;
807 static int intel_pt_calc_cyc_cb(struct intel_pt_pkt_info *pkt_info)
809 struct intel_pt_decoder *decoder = pkt_info->decoder;
810 struct intel_pt_calc_cyc_to_tsc_info *data = pkt_info->data;
816 switch (pkt_info->packet.type) {
844 mtc = pkt_info->packet.payload;
870 if (pkt_info->last_packet_type != INTEL_PT_CYC) {
884 timestamp = pkt_info->packet.payload |
891 if (pkt_info->last_packet_type != INTEL_PT_CYC) {
907 ctc = pkt_info->packet.payload;
908 fc = pkt_info->packet.count;
929 data->cycle_cnt += pkt_info->packet.payload;
933 cbr = pkt_info->packet.payload;
966 cyc_to_tsc, data->cbr_cyc_to_tsc, pkt_info->pos);
975 cyc_to_tsc, data->cbr_cyc_to_tsc, pkt_info->pos);
978 cyc_to_tsc, pkt_info->pos);
1547 static int intel_pt_eptw_lookahead_cb(struct intel_pt_pkt_info *pkt_info)
1549 struct eptw_data *data = pkt_info->data;
1552 switch (pkt_info->packet.type) {
1585 if (nr_bits > pkt_info->packet.count)
1586 nr_bits = pkt_info->packet.count;
1588 data->payload |= pkt_info->packet.payload >> (64 - nr_bits);
2325 static int intel_pt_vm_psb_lookahead_cb(struct intel_pt_pkt_info *pkt_info)
2327 struct intel_pt_vm_tsc_info *data = pkt_info->data;
2329 switch (pkt_info->packet.type) {
2345 data->tma_packet = pkt_info->packet;
2350 data->pip_packet = pkt_info->packet;
2355 data->vmcs_packet = pkt_info->packet;
2398 static int intel_pt_ovf_fup_lookahead_cb(struct intel_pt_pkt_info *pkt_info)
2400 struct intel_pt_ovf_fup_info *data = pkt_info->data;
2402 if (pkt_info->packet.type == INTEL_PT_CYC ||
2403 pkt_info->packet.type == INTEL_PT_MTC ||
2404 pkt_info->packet.type == INTEL_PT_TSC)
2406 data->found = pkt_info->packet.type == INTEL_PT_FUP;
2422 static int intel_pt_tma_lookahead_cb(struct intel_pt_pkt_info *pkt_info)
2424 struct intel_pt_vm_tsc_info *data = pkt_info->data;
2426 if (pkt_info->packet.type == INTEL_PT_CYC ||
2427 pkt_info->packet.type == INTEL_PT_MTC)
2430 if (pkt_info->packet.type == INTEL_PT_TMA) {
2431 data->tma_packet = pkt_info->packet;
3059 static int intel_pt_psb_lookahead_cb(struct intel_pt_pkt_info *pkt_info)
3061 struct intel_pt_psb_info *data = pkt_info->data;
3063 switch (pkt_info->packet.type) {
3085 if (data->fup || pkt_info->packet.count == 0)
3087 data->fup_packet = pkt_info->packet;