Lines Matching refs:buf
73 static int intel_pt_get_long_tnt(const unsigned char *buf, size_t len, in intel_pt_get_long_tnt() argument
82 payload = le64_to_cpu(*(uint64_t *)buf); in intel_pt_get_long_tnt()
96 static int intel_pt_get_pip(const unsigned char *buf, size_t len, in intel_pt_get_pip() argument
105 memcpy_le64(&payload, buf + 2, 6); in intel_pt_get_pip()
119 static int intel_pt_get_cbr(const unsigned char *buf, size_t len, in intel_pt_get_cbr() argument
125 packet->payload = buf[2]; in intel_pt_get_cbr()
129 static int intel_pt_get_vmcs(const unsigned char *buf, size_t len, in intel_pt_get_vmcs() argument
142 memcpy_le64(&packet->payload, buf + 2, count); in intel_pt_get_vmcs()
153 static int intel_pt_get_psb(const unsigned char *buf, size_t len, in intel_pt_get_psb() argument
162 if (buf[i] != 2 || buf[i + 1] != 0x82) in intel_pt_get_psb()
176 static int intel_pt_get_tma(const unsigned char *buf, size_t len, in intel_pt_get_tma() argument
183 packet->payload = buf[2] | (buf[3] << 8); in intel_pt_get_tma()
184 packet->count = buf[5] | ((buf[6] & BIT(0)) << 8); in intel_pt_get_tma()
194 static int intel_pt_get_mnt(const unsigned char *buf, size_t len, in intel_pt_get_mnt() argument
200 memcpy_le64(&packet->payload, buf + 3, 8); in intel_pt_get_mnt()
205 static int intel_pt_get_3byte(const unsigned char *buf, size_t len, in intel_pt_get_3byte() argument
211 switch (buf[2]) { in intel_pt_get_3byte()
213 return intel_pt_get_mnt(buf, len, packet); in intel_pt_get_3byte()
219 static int intel_pt_get_ext(const unsigned char *buf, size_t len, in intel_pt_get_ext() argument
225 switch (buf[1]) { in intel_pt_get_ext()
227 return intel_pt_get_long_tnt(buf, len, packet); in intel_pt_get_ext()
229 return intel_pt_get_pip(buf, len, packet); in intel_pt_get_ext()
233 return intel_pt_get_cbr(buf, len, packet); in intel_pt_get_ext()
235 return intel_pt_get_vmcs(buf, len, packet); in intel_pt_get_ext()
239 return intel_pt_get_psb(buf, len, packet); in intel_pt_get_ext()
243 return intel_pt_get_tma(buf, len, packet); in intel_pt_get_ext()
245 return intel_pt_get_3byte(buf, len, packet); in intel_pt_get_ext()
269 static int intel_pt_get_cyc(unsigned int byte, const unsigned char *buf, in intel_pt_get_cyc() argument
282 byte = buf[offs++]; in intel_pt_get_cyc()
292 const unsigned char *buf, size_t len, in intel_pt_get_ip() argument
303 packet->payload = le16_to_cpu(*(uint16_t *)(buf + 1)); in intel_pt_get_ip()
309 packet->payload = le32_to_cpu(*(uint32_t *)(buf + 1)); in intel_pt_get_ip()
316 memcpy_le64(&packet->payload, buf + 1, 6); in intel_pt_get_ip()
327 static int intel_pt_get_mode(const unsigned char *buf, size_t len, in intel_pt_get_mode() argument
333 switch (buf[1] >> 5) { in intel_pt_get_mode()
336 switch (buf[1] & 3) { in intel_pt_get_mode()
352 if ((buf[1] & 3) == 3) in intel_pt_get_mode()
354 packet->payload = buf[1] & 3; in intel_pt_get_mode()
363 static int intel_pt_get_tsc(const unsigned char *buf, size_t len, in intel_pt_get_tsc() argument
369 memcpy_le64(&packet->payload, buf + 1, 7); in intel_pt_get_tsc()
373 static int intel_pt_get_mtc(const unsigned char *buf, size_t len, in intel_pt_get_mtc() argument
379 packet->payload = buf[1]; in intel_pt_get_mtc()
383 static int intel_pt_do_get_packet(const unsigned char *buf, size_t len, in intel_pt_do_get_packet() argument
393 byte = buf[0]; in intel_pt_do_get_packet()
398 return intel_pt_get_ext(buf, len, packet); in intel_pt_do_get_packet()
403 return intel_pt_get_cyc(byte, buf, len, packet); in intel_pt_do_get_packet()
407 return intel_pt_get_ip(INTEL_PT_TIP, byte, buf, len, packet); in intel_pt_do_get_packet()
409 return intel_pt_get_ip(INTEL_PT_TIP_PGE, byte, buf, len, in intel_pt_do_get_packet()
412 return intel_pt_get_ip(INTEL_PT_TIP_PGD, byte, buf, len, in intel_pt_do_get_packet()
415 return intel_pt_get_ip(INTEL_PT_FUP, byte, buf, len, packet); in intel_pt_do_get_packet()
419 return intel_pt_get_mode(buf, len, packet); in intel_pt_do_get_packet()
421 return intel_pt_get_tsc(buf, len, packet); in intel_pt_do_get_packet()
423 return intel_pt_get_mtc(buf, len, packet); in intel_pt_do_get_packet()
432 int intel_pt_get_packet(const unsigned char *buf, size_t len, in intel_pt_get_packet() argument
437 ret = intel_pt_do_get_packet(buf, len, packet); in intel_pt_get_packet()
439 while (ret < 8 && len > (size_t)ret && !buf[ret]) in intel_pt_get_packet()
445 int intel_pt_pkt_desc(const struct intel_pt_pkt *packet, char *buf, in intel_pt_pkt_desc() argument
459 return snprintf(buf, buf_len, "%s", name); in intel_pt_pkt_desc()
463 ret = snprintf(buf, blen, "%s ", name); in intel_pt_pkt_desc()
466 buf += ret; in intel_pt_pkt_desc()
470 ret = snprintf(buf, blen, "T"); in intel_pt_pkt_desc()
472 ret = snprintf(buf, blen, "N"); in intel_pt_pkt_desc()
475 buf += ret; in intel_pt_pkt_desc()
479 ret = snprintf(buf, blen, " (%d)", packet->count); in intel_pt_pkt_desc()
490 return snprintf(buf, buf_len, "%s no ip", name); in intel_pt_pkt_desc()
497 return snprintf(buf, buf_len, "%s 0x%llx", name, payload); in intel_pt_pkt_desc()
499 return snprintf(buf, buf_len, "%s CTC 0x%x FC 0x%x", name, in intel_pt_pkt_desc()
502 return snprintf(buf, buf_len, "%s %lld", name, payload); in intel_pt_pkt_desc()
504 return snprintf(buf, buf_len, "%s TXAbort:%u InTX:%u", in intel_pt_pkt_desc()
510 ret = snprintf(buf, buf_len, "%s 0x%llx (NR=%d)", in intel_pt_pkt_desc()
516 return snprintf(buf, buf_len, "%s 0x%llx (%d)", in intel_pt_pkt_desc()