Lines Matching refs:buf
60 static int arm_spe_get_payload(const unsigned char *buf, size_t len, in arm_spe_get_payload() argument
64 size_t payload_len = arm_spe_payload_len(buf[ext_hdr]); in arm_spe_get_payload()
69 buf += 1 + ext_hdr; in arm_spe_get_payload()
72 case 1: packet->payload = *(uint8_t *)buf; break; in arm_spe_get_payload()
73 case 2: packet->payload = le16_to_cpu(*(uint16_t *)buf); break; in arm_spe_get_payload()
74 case 4: packet->payload = le32_to_cpu(*(uint32_t *)buf); break; in arm_spe_get_payload()
75 case 8: packet->payload = le64_to_cpu(*(uint64_t *)buf); break; in arm_spe_get_payload()
88 static int arm_spe_get_alignment(const unsigned char *buf, size_t len, in arm_spe_get_alignment() argument
91 unsigned int alignment = 1 << ((buf[0] & 0xf) + 1); in arm_spe_get_alignment()
97 return alignment - (((uintptr_t)buf) & (alignment - 1)); in arm_spe_get_alignment()
106 static int arm_spe_get_timestamp(const unsigned char *buf, size_t len, in arm_spe_get_timestamp() argument
110 return arm_spe_get_payload(buf, len, 0, packet); in arm_spe_get_timestamp()
113 static int arm_spe_get_events(const unsigned char *buf, size_t len, in arm_spe_get_events() argument
123 packet->index = arm_spe_payload_len(buf[0]); in arm_spe_get_events()
125 return arm_spe_get_payload(buf, len, 0, packet); in arm_spe_get_events()
128 static int arm_spe_get_data_source(const unsigned char *buf, size_t len, in arm_spe_get_data_source() argument
132 return arm_spe_get_payload(buf, len, 0, packet); in arm_spe_get_data_source()
135 static int arm_spe_get_context(const unsigned char *buf, size_t len, in arm_spe_get_context() argument
139 packet->index = SPE_CTX_PKT_HDR_INDEX(buf[0]); in arm_spe_get_context()
140 return arm_spe_get_payload(buf, len, 0, packet); in arm_spe_get_context()
143 static int arm_spe_get_op_type(const unsigned char *buf, size_t len, in arm_spe_get_op_type() argument
147 packet->index = SPE_OP_PKT_HDR_CLASS(buf[0]); in arm_spe_get_op_type()
148 return arm_spe_get_payload(buf, len, 0, packet); in arm_spe_get_op_type()
151 static int arm_spe_get_counter(const unsigned char *buf, size_t len, in arm_spe_get_counter() argument
157 packet->index = SPE_HDR_EXTENDED_INDEX(buf[0], buf[1]); in arm_spe_get_counter()
159 packet->index = SPE_HDR_SHORT_INDEX(buf[0]); in arm_spe_get_counter()
161 return arm_spe_get_payload(buf, len, ext_hdr, packet); in arm_spe_get_counter()
164 static int arm_spe_get_addr(const unsigned char *buf, size_t len, in arm_spe_get_addr() argument
170 packet->index = SPE_HDR_EXTENDED_INDEX(buf[0], buf[1]); in arm_spe_get_addr()
172 packet->index = SPE_HDR_SHORT_INDEX(buf[0]); in arm_spe_get_addr()
174 return arm_spe_get_payload(buf, len, ext_hdr, packet); in arm_spe_get_addr()
177 static int arm_spe_do_get_packet(const unsigned char *buf, size_t len, in arm_spe_do_get_packet() argument
188 hdr = buf[0]; in arm_spe_do_get_packet()
197 return arm_spe_get_timestamp(buf, len, packet); in arm_spe_do_get_packet()
200 return arm_spe_get_events(buf, len, packet); in arm_spe_do_get_packet()
203 return arm_spe_get_data_source(buf, len, packet); in arm_spe_do_get_packet()
206 return arm_spe_get_context(buf, len, packet); in arm_spe_do_get_packet()
209 return arm_spe_get_op_type(buf, len, packet); in arm_spe_do_get_packet()
217 hdr = buf[1]; in arm_spe_do_get_packet()
219 return arm_spe_get_alignment(buf, len, packet); in arm_spe_do_get_packet()
229 return arm_spe_get_addr(buf, len, ext_hdr, packet); in arm_spe_do_get_packet()
232 return arm_spe_get_counter(buf, len, ext_hdr, packet); in arm_spe_do_get_packet()
237 int arm_spe_get_packet(const unsigned char *buf, size_t len, in arm_spe_get_packet() argument
242 ret = arm_spe_do_get_packet(buf, len, packet); in arm_spe_get_packet()
247 while (ret < 16 && len > (size_t)ret && !buf[ret]) in arm_spe_get_packet()
293 char *buf, size_t buf_len) in arm_spe_pkt_desc_event() argument
298 arm_spe_pkt_out_string(&err, &buf, &buf_len, "EV"); in arm_spe_pkt_desc_event()
301 arm_spe_pkt_out_string(&err, &buf, &buf_len, " EXCEPTION-GEN"); in arm_spe_pkt_desc_event()
303 arm_spe_pkt_out_string(&err, &buf, &buf_len, " RETIRED"); in arm_spe_pkt_desc_event()
305 arm_spe_pkt_out_string(&err, &buf, &buf_len, " L1D-ACCESS"); in arm_spe_pkt_desc_event()
307 arm_spe_pkt_out_string(&err, &buf, &buf_len, " L1D-REFILL"); in arm_spe_pkt_desc_event()
309 arm_spe_pkt_out_string(&err, &buf, &buf_len, " TLB-ACCESS"); in arm_spe_pkt_desc_event()
311 arm_spe_pkt_out_string(&err, &buf, &buf_len, " TLB-REFILL"); in arm_spe_pkt_desc_event()
313 arm_spe_pkt_out_string(&err, &buf, &buf_len, " NOT-TAKEN"); in arm_spe_pkt_desc_event()
315 arm_spe_pkt_out_string(&err, &buf, &buf_len, " MISPRED"); in arm_spe_pkt_desc_event()
317 arm_spe_pkt_out_string(&err, &buf, &buf_len, " LLC-ACCESS"); in arm_spe_pkt_desc_event()
319 arm_spe_pkt_out_string(&err, &buf, &buf_len, " LLC-REFILL"); in arm_spe_pkt_desc_event()
321 arm_spe_pkt_out_string(&err, &buf, &buf_len, " REMOTE-ACCESS"); in arm_spe_pkt_desc_event()
323 arm_spe_pkt_out_string(&err, &buf, &buf_len, " ALIGNMENT"); in arm_spe_pkt_desc_event()
325 arm_spe_pkt_out_string(&err, &buf, &buf_len, " SVE-PARTIAL-PRED"); in arm_spe_pkt_desc_event()
327 arm_spe_pkt_out_string(&err, &buf, &buf_len, " SVE-EMPTY-PRED"); in arm_spe_pkt_desc_event()
333 char *buf, size_t buf_len) in arm_spe_pkt_desc_op_type() argument
341 arm_spe_pkt_out_string(&err, &buf, &buf_len, "SVE-OTHER"); in arm_spe_pkt_desc_op_type()
344 arm_spe_pkt_out_string(&err, &buf, &buf_len, " EVLEN %d", in arm_spe_pkt_desc_op_type()
348 arm_spe_pkt_out_string(&err, &buf, &buf_len, " FP"); in arm_spe_pkt_desc_op_type()
350 arm_spe_pkt_out_string(&err, &buf, &buf_len, " PRED"); in arm_spe_pkt_desc_op_type()
352 arm_spe_pkt_out_string(&err, &buf, &buf_len, "OTHER"); in arm_spe_pkt_desc_op_type()
353 arm_spe_pkt_out_string(&err, &buf, &buf_len, " %s", in arm_spe_pkt_desc_op_type()
359 arm_spe_pkt_out_string(&err, &buf, &buf_len, in arm_spe_pkt_desc_op_type()
364 arm_spe_pkt_out_string(&err, &buf, &buf_len, " AT"); in arm_spe_pkt_desc_op_type()
366 arm_spe_pkt_out_string(&err, &buf, &buf_len, " EXCL"); in arm_spe_pkt_desc_op_type()
368 arm_spe_pkt_out_string(&err, &buf, &buf_len, " AR"); in arm_spe_pkt_desc_op_type()
373 arm_spe_pkt_out_string(&err, &buf, &buf_len, " SIMD-FP"); in arm_spe_pkt_desc_op_type()
376 arm_spe_pkt_out_string(&err, &buf, &buf_len, " GP-REG"); in arm_spe_pkt_desc_op_type()
379 arm_spe_pkt_out_string(&err, &buf, &buf_len, " UNSPEC-REG"); in arm_spe_pkt_desc_op_type()
382 arm_spe_pkt_out_string(&err, &buf, &buf_len, " NV-SYSREG"); in arm_spe_pkt_desc_op_type()
385 arm_spe_pkt_out_string(&err, &buf, &buf_len, " MTE-TAG"); in arm_spe_pkt_desc_op_type()
388 arm_spe_pkt_out_string(&err, &buf, &buf_len, " MEMCPY"); in arm_spe_pkt_desc_op_type()
391 arm_spe_pkt_out_string(&err, &buf, &buf_len, " MEMSET"); in arm_spe_pkt_desc_op_type()
399 arm_spe_pkt_out_string(&err, &buf, &buf_len, " EVLEN %d", in arm_spe_pkt_desc_op_type()
403 arm_spe_pkt_out_string(&err, &buf, &buf_len, " PRED"); in arm_spe_pkt_desc_op_type()
405 arm_spe_pkt_out_string(&err, &buf, &buf_len, " SG"); in arm_spe_pkt_desc_op_type()
409 arm_spe_pkt_out_string(&err, &buf, &buf_len, "B"); in arm_spe_pkt_desc_op_type()
412 arm_spe_pkt_out_string(&err, &buf, &buf_len, " COND"); in arm_spe_pkt_desc_op_type()
415 arm_spe_pkt_out_string(&err, &buf, &buf_len, " IND"); in arm_spe_pkt_desc_op_type()
428 char *buf, size_t buf_len) in arm_spe_pkt_desc_addr() argument
443 arm_spe_pkt_out_string(&err, &buf, &buf_len, in arm_spe_pkt_desc_addr()
448 arm_spe_pkt_out_string(&err, &buf, &buf_len, in arm_spe_pkt_desc_addr()
456 arm_spe_pkt_out_string(&err, &buf, &buf_len, in arm_spe_pkt_desc_addr()
470 char *buf, size_t buf_len) in arm_spe_pkt_desc_counter() argument
476 arm_spe_pkt_out_string(&err, &buf, &buf_len, "%s %d ", name, in arm_spe_pkt_desc_counter()
481 arm_spe_pkt_out_string(&err, &buf, &buf_len, "TOT"); in arm_spe_pkt_desc_counter()
484 arm_spe_pkt_out_string(&err, &buf, &buf_len, "ISSUE"); in arm_spe_pkt_desc_counter()
487 arm_spe_pkt_out_string(&err, &buf, &buf_len, "XLAT"); in arm_spe_pkt_desc_counter()
496 int arm_spe_pkt_desc(const struct arm_spe_pkt *packet, char *buf, in arm_spe_pkt_desc() argument
502 char *buf_orig = buf; in arm_spe_pkt_desc()
510 arm_spe_pkt_out_string(&err, &buf, &blen, "%s", name); in arm_spe_pkt_desc()
513 err = arm_spe_pkt_desc_event(packet, buf, buf_len); in arm_spe_pkt_desc()
516 err = arm_spe_pkt_desc_op_type(packet, buf, buf_len); in arm_spe_pkt_desc()
520 arm_spe_pkt_out_string(&err, &buf, &blen, "%s %lld", name, payload); in arm_spe_pkt_desc()
523 err = arm_spe_pkt_desc_addr(packet, buf, buf_len); in arm_spe_pkt_desc()
526 arm_spe_pkt_out_string(&err, &buf, &blen, "%s 0x%lx el%d", in arm_spe_pkt_desc()
530 err = arm_spe_pkt_desc_counter(packet, buf, buf_len); in arm_spe_pkt_desc()