Lines Matching defs:buf

76 static int intel_pt_get_long_tnt(const unsigned char *buf, size_t len,
85 payload = le64_to_cpu(*(uint64_t *)buf);
99 static int intel_pt_get_pip(const unsigned char *buf, size_t len,
108 memcpy_le64(&payload, buf + 2, 6);
122 static int intel_pt_get_cbr(const unsigned char *buf, size_t len,
128 packet->payload = le16_to_cpu(*(uint16_t *)(buf + 2));
132 static int intel_pt_get_vmcs(const unsigned char *buf, size_t len,
145 memcpy_le64(&packet->payload, buf + 2, count);
156 static int intel_pt_get_psb(const unsigned char *buf, size_t len,
165 if (buf[i] != 2 || buf[i + 1] != 0x82)
179 static int intel_pt_get_tma(const unsigned char *buf, size_t len,
186 packet->payload = buf[2] | (buf[3] << 8);
187 packet->count = buf[5] | ((buf[6] & BIT(0)) << 8);
197 static int intel_pt_get_mnt(const unsigned char *buf, size_t len,
203 memcpy_le64(&packet->payload, buf + 3, 8);
208 static int intel_pt_get_3byte(const unsigned char *buf, size_t len,
214 switch (buf[2]) {
216 return intel_pt_get_mnt(buf, len, packet);
222 static int intel_pt_get_ptwrite(const unsigned char *buf, size_t len,
225 packet->count = (buf[1] >> 5) & 0x3;
226 packet->type = buf[1] & BIT(7) ? INTEL_PT_PTWRITE_IP :
233 packet->payload = le32_to_cpu(*(uint32_t *)(buf + 2));
238 packet->payload = le64_to_cpu(*(uint64_t *)(buf + 2));
257 static int intel_pt_get_mwait(const unsigned char *buf, size_t len,
263 packet->payload = le64_to_cpu(*(uint64_t *)(buf + 2));
267 static int intel_pt_get_pwre(const unsigned char *buf, size_t len,
273 memcpy_le64(&packet->payload, buf + 2, 2);
277 static int intel_pt_get_pwrx(const unsigned char *buf, size_t len,
283 memcpy_le64(&packet->payload, buf + 2, 5);
287 static int intel_pt_get_bbp(const unsigned char *buf, size_t len,
293 packet->count = buf[2] >> 7;
294 packet->payload = buf[2] & 0x1f;
298 static int intel_pt_get_bip_4(const unsigned char *buf, size_t len,
304 packet->count = buf[0] >> 3;
305 memcpy_le64(&packet->payload, buf + 1, 4);
309 static int intel_pt_get_bip_8(const unsigned char *buf, size_t len,
315 packet->count = buf[0] >> 3;
316 memcpy_le64(&packet->payload, buf + 1, 8);
336 static int intel_pt_get_ext(const unsigned char *buf, size_t len,
342 if ((buf[1] & 0x1f) == 0x12)
343 return intel_pt_get_ptwrite(buf, len, packet);
345 switch (buf[1]) {
347 return intel_pt_get_long_tnt(buf, len, packet);
349 return intel_pt_get_pip(buf, len, packet);
353 return intel_pt_get_cbr(buf, len, packet);
355 return intel_pt_get_vmcs(buf, len, packet);
359 return intel_pt_get_psb(buf, len, packet);
363 return intel_pt_get_tma(buf, len, packet);
365 return intel_pt_get_3byte(buf, len, packet);
371 return intel_pt_get_mwait(buf, len, packet);
373 return intel_pt_get_pwre(buf, len, packet);
375 return intel_pt_get_pwrx(buf, len, packet);
377 return intel_pt_get_bbp(buf, len, packet);
405 static int intel_pt_get_cyc(unsigned int byte, const unsigned char *buf,
418 byte = buf[offs++];
428 const unsigned char *buf, size_t len,
443 packet->payload = le16_to_cpu(*(uint16_t *)(buf + 1));
449 packet->payload = le32_to_cpu(*(uint32_t *)(buf + 1));
456 memcpy_le64(&packet->payload, buf + 1, 6);
462 packet->payload = le64_to_cpu(*(uint64_t *)(buf + 1));
473 static int intel_pt_get_mode(const unsigned char *buf, size_t len,
479 switch (buf[1] >> 5) {
482 switch (buf[1] & 3) {
498 if ((buf[1] & 3) == 3)
500 packet->payload = buf[1] & 3;
509 static int intel_pt_get_tsc(const unsigned char *buf, size_t len,
515 memcpy_le64(&packet->payload, buf + 1, 7);
519 static int intel_pt_get_mtc(const unsigned char *buf, size_t len,
525 packet->payload = buf[1];
529 static int intel_pt_do_get_packet(const unsigned char *buf, size_t len,
540 byte = buf[0];
547 return intel_pt_get_bip_4(buf, len, packet);
551 return intel_pt_get_bip_8(buf, len, packet);
561 return intel_pt_get_ext(buf, len, packet);
566 return intel_pt_get_cyc(byte, buf, len, packet);
570 return intel_pt_get_ip(INTEL_PT_TIP, byte, buf, len, packet);
572 return intel_pt_get_ip(INTEL_PT_TIP_PGE, byte, buf, len,
575 return intel_pt_get_ip(INTEL_PT_TIP_PGD, byte, buf, len,
578 return intel_pt_get_ip(INTEL_PT_FUP, byte, buf, len, packet);
582 return intel_pt_get_mode(buf, len, packet);
584 return intel_pt_get_tsc(buf, len, packet);
586 return intel_pt_get_mtc(buf, len, packet);
644 int intel_pt_get_packet(const unsigned char *buf, size_t len,
649 ret = intel_pt_do_get_packet(buf, len, packet, *ctx);
651 while (ret < 8 && len > (size_t)ret && !buf[ret])
658 int intel_pt_pkt_desc(const struct intel_pt_pkt *packet, char *buf,
672 return snprintf(buf, buf_len, "%s", name);
676 ret = snprintf(buf, blen, "%s ", name);
679 buf += ret;
683 ret = snprintf(buf, blen, "T");
685 ret = snprintf(buf, blen, "N");
688 buf += ret;
692 ret = snprintf(buf, blen, " (%d)", packet->count);
703 return snprintf(buf, buf_len, "%s no ip", name);
711 return snprintf(buf, buf_len, "%s 0x%llx", name, payload);
713 return snprintf(buf, buf_len, "%s CTC 0x%x FC 0x%x", name,
716 return snprintf(buf, buf_len, "%s %lld", name, payload);
718 return snprintf(buf, buf_len, "%s TXAbort:%u InTX:%u",
724 ret = snprintf(buf, buf_len, "%s 0x%llx (NR=%d)",
728 return snprintf(buf, buf_len, "%s 0x%llx IP:0", name, payload);
730 return snprintf(buf, buf_len, "%s 0x%llx IP:1", name, payload);
733 return snprintf(buf, buf_len, "%s IP:0", name);
736 return snprintf(buf, buf_len, "%s IP:1", name);
738 return snprintf(buf, buf_len, "%s 0x%llx Hints 0x%x Extensions 0x%x",
742 return snprintf(buf, buf_len, "%s 0x%llx HW:%u CState:%u Sub-CState:%u",
747 return snprintf(buf, buf_len, "%s 0x%llx Last CState:%u Deepest CState:%u Wake Reason 0x%x",
753 return snprintf(buf, buf_len, "%s SZ %s-byte Type 0x%llx",
756 return snprintf(buf, buf_len, "%s ID 0x%02x Value 0x%llx",
761 return snprintf(buf, buf_len, "%s 0x%llx (%d)",