Lines Matching refs:buf
47 static int arm_spe_get_payload(const unsigned char *buf, size_t len,
51 size_t payload_len = arm_spe_payload_len(buf[ext_hdr]);
56 buf += 1 + ext_hdr;
59 case 1: packet->payload = *(uint8_t *)buf; break;
60 case 2: packet->payload = get_unaligned_le16(buf); break;
61 case 4: packet->payload = get_unaligned_le32(buf); break;
62 case 8: packet->payload = get_unaligned_le64(buf); break;
75 static int arm_spe_get_alignment(const unsigned char *buf, size_t len,
78 unsigned int alignment = 1 << ((buf[0] & 0xf) + 1);
84 return alignment - (((uintptr_t)buf) & (alignment - 1));
93 static int arm_spe_get_timestamp(const unsigned char *buf, size_t len,
97 return arm_spe_get_payload(buf, len, 0, packet);
100 static int arm_spe_get_events(const unsigned char *buf, size_t len,
110 packet->index = arm_spe_payload_len(buf[0]);
112 return arm_spe_get_payload(buf, len, 0, packet);
115 static int arm_spe_get_data_source(const unsigned char *buf, size_t len,
119 return arm_spe_get_payload(buf, len, 0, packet);
122 static int arm_spe_get_context(const unsigned char *buf, size_t len,
126 packet->index = SPE_CTX_PKT_HDR_INDEX(buf[0]);
127 return arm_spe_get_payload(buf, len, 0, packet);
130 static int arm_spe_get_op_type(const unsigned char *buf, size_t len,
134 packet->index = SPE_OP_PKT_HDR_CLASS(buf[0]);
135 return arm_spe_get_payload(buf, len, 0, packet);
138 static int arm_spe_get_counter(const unsigned char *buf, size_t len,
144 packet->index = SPE_HDR_EXTENDED_INDEX(buf[0], buf[1]);
146 packet->index = SPE_HDR_SHORT_INDEX(buf[0]);
148 return arm_spe_get_payload(buf, len, ext_hdr, packet);
151 static int arm_spe_get_addr(const unsigned char *buf, size_t len,
157 packet->index = SPE_HDR_EXTENDED_INDEX(buf[0], buf[1]);
159 packet->index = SPE_HDR_SHORT_INDEX(buf[0]);
161 return arm_spe_get_payload(buf, len, ext_hdr, packet);
164 static int arm_spe_do_get_packet(const unsigned char *buf, size_t len,
175 hdr = buf[0];
184 return arm_spe_get_timestamp(buf, len, packet);
187 return arm_spe_get_events(buf, len, packet);
190 return arm_spe_get_data_source(buf, len, packet);
193 return arm_spe_get_context(buf, len, packet);
196 return arm_spe_get_op_type(buf, len, packet);
204 hdr = buf[1];
206 return arm_spe_get_alignment(buf, len, packet);
216 return arm_spe_get_addr(buf, len, ext_hdr, packet);
219 return arm_spe_get_counter(buf, len, ext_hdr, packet);
224 int arm_spe_get_packet(const unsigned char *buf, size_t len,
229 ret = arm_spe_do_get_packet(buf, len, packet);
234 while (ret < 16 && len > (size_t)ret && !buf[ret])
280 char *buf, size_t buf_len)
285 arm_spe_pkt_out_string(&err, &buf, &buf_len, "EV");
288 arm_spe_pkt_out_string(&err, &buf, &buf_len, " EXCEPTION-GEN");
290 arm_spe_pkt_out_string(&err, &buf, &buf_len, " RETIRED");
292 arm_spe_pkt_out_string(&err, &buf, &buf_len, " L1D-ACCESS");
294 arm_spe_pkt_out_string(&err, &buf, &buf_len, " L1D-REFILL");
296 arm_spe_pkt_out_string(&err, &buf, &buf_len, " TLB-ACCESS");
298 arm_spe_pkt_out_string(&err, &buf, &buf_len, " TLB-REFILL");
300 arm_spe_pkt_out_string(&err, &buf, &buf_len, " NOT-TAKEN");
302 arm_spe_pkt_out_string(&err, &buf, &buf_len, " MISPRED");
304 arm_spe_pkt_out_string(&err, &buf, &buf_len, " LLC-ACCESS");
306 arm_spe_pkt_out_string(&err, &buf, &buf_len, " LLC-REFILL");
308 arm_spe_pkt_out_string(&err, &buf, &buf_len, " REMOTE-ACCESS");
310 arm_spe_pkt_out_string(&err, &buf, &buf_len, " ALIGNMENT");
312 arm_spe_pkt_out_string(&err, &buf, &buf_len, " TXN");
314 arm_spe_pkt_out_string(&err, &buf, &buf_len, " SVE-PARTIAL-PRED");
316 arm_spe_pkt_out_string(&err, &buf, &buf_len, " SVE-EMPTY-PRED");
322 char *buf, size_t buf_len)
330 arm_spe_pkt_out_string(&err, &buf, &buf_len, "SVE-OTHER");
333 arm_spe_pkt_out_string(&err, &buf, &buf_len, " EVLEN %d",
337 arm_spe_pkt_out_string(&err, &buf, &buf_len, " FP");
339 arm_spe_pkt_out_string(&err, &buf, &buf_len, " PRED");
341 arm_spe_pkt_out_string(&err, &buf, &buf_len, "OTHER");
342 arm_spe_pkt_out_string(&err, &buf, &buf_len, " %s",
348 arm_spe_pkt_out_string(&err, &buf, &buf_len,
353 arm_spe_pkt_out_string(&err, &buf, &buf_len, " AT");
355 arm_spe_pkt_out_string(&err, &buf, &buf_len, " EXCL");
357 arm_spe_pkt_out_string(&err, &buf, &buf_len, " AR");
362 arm_spe_pkt_out_string(&err, &buf, &buf_len, " SIMD-FP");
365 arm_spe_pkt_out_string(&err, &buf, &buf_len, " GP-REG");
368 arm_spe_pkt_out_string(&err, &buf, &buf_len, " UNSPEC-REG");
371 arm_spe_pkt_out_string(&err, &buf, &buf_len, " NV-SYSREG");
374 arm_spe_pkt_out_string(&err, &buf, &buf_len, " MTE-TAG");
377 arm_spe_pkt_out_string(&err, &buf, &buf_len, " MEMCPY");
380 arm_spe_pkt_out_string(&err, &buf, &buf_len, " MEMSET");
388 arm_spe_pkt_out_string(&err, &buf, &buf_len, " EVLEN %d",
392 arm_spe_pkt_out_string(&err, &buf, &buf_len, " PRED");
394 arm_spe_pkt_out_string(&err, &buf, &buf_len, " SG");
398 arm_spe_pkt_out_string(&err, &buf, &buf_len, "B");
401 arm_spe_pkt_out_string(&err, &buf, &buf_len, " COND");
403 arm_spe_pkt_out_string(&err, &buf, &buf_len, " IND");
405 arm_spe_pkt_out_string(&err, &buf, &buf_len, " GCS");
407 arm_spe_pkt_out_string(&err, &buf, &buf_len, " CR-BL");
409 arm_spe_pkt_out_string(&err, &buf, &buf_len, " CR-RET");
411 arm_spe_pkt_out_string(&err, &buf, &buf_len, " CR-NON-BL-RET");
423 char *buf, size_t buf_len)
438 arm_spe_pkt_out_string(&err, &buf, &buf_len,
443 arm_spe_pkt_out_string(&err, &buf, &buf_len,
451 arm_spe_pkt_out_string(&err, &buf, &buf_len,
465 char *buf, size_t buf_len)
471 arm_spe_pkt_out_string(&err, &buf, &buf_len, "%s %d ", name,
476 arm_spe_pkt_out_string(&err, &buf, &buf_len, "TOT");
479 arm_spe_pkt_out_string(&err, &buf, &buf_len, "ISSUE");
482 arm_spe_pkt_out_string(&err, &buf, &buf_len, "XLAT");
491 int arm_spe_pkt_desc(const struct arm_spe_pkt *packet, char *buf,
497 char *buf_orig = buf;
505 arm_spe_pkt_out_string(&err, &buf, &blen, "%s", name);
508 err = arm_spe_pkt_desc_event(packet, buf, buf_len);
511 err = arm_spe_pkt_desc_op_type(packet, buf, buf_len);
515 arm_spe_pkt_out_string(&err, &buf, &blen, "%s %lld", name, payload);
518 err = arm_spe_pkt_desc_addr(packet, buf, buf_len);
521 arm_spe_pkt_out_string(&err, &buf, &blen, "%s 0x%lx el%d",
525 err = arm_spe_pkt_desc_counter(packet, buf, buf_len);