Lines Matching refs:decoder
41 int pt_pkt_decoder_init(struct pt_packet_decoder *decoder, in pt_pkt_decoder_init() argument
46 if (!decoder || !config) in pt_pkt_decoder_init()
49 memset(decoder, 0, sizeof(*decoder)); in pt_pkt_decoder_init()
51 errcode = pt_config_from_user(&decoder->config, config); in pt_pkt_decoder_init()
60 struct pt_packet_decoder *decoder; in pt_pkt_alloc_decoder() local
63 decoder = malloc(sizeof(*decoder)); in pt_pkt_alloc_decoder()
64 if (!decoder) in pt_pkt_alloc_decoder()
67 errcode = pt_pkt_decoder_init(decoder, config); in pt_pkt_alloc_decoder()
69 free(decoder); in pt_pkt_alloc_decoder()
73 return decoder; in pt_pkt_alloc_decoder()
76 void pt_pkt_decoder_fini(struct pt_packet_decoder *decoder) in pt_pkt_decoder_fini() argument
78 (void) decoder; in pt_pkt_decoder_fini()
83 void pt_pkt_free_decoder(struct pt_packet_decoder *decoder) in pt_pkt_free_decoder() argument
85 pt_pkt_decoder_fini(decoder); in pt_pkt_free_decoder()
86 free(decoder); in pt_pkt_free_decoder()
89 int pt_pkt_sync_forward(struct pt_packet_decoder *decoder) in pt_pkt_sync_forward() argument
95 if (!decoder) in pt_pkt_sync_forward()
98 begin = decoder->config.begin; in pt_pkt_sync_forward()
99 sync = decoder->sync; in pt_pkt_sync_forward()
100 pos = decoder->pos; in pt_pkt_sync_forward()
119 errcode = pt_sync_forward(&sync, pos, &decoder->config); in pt_pkt_sync_forward()
123 decoder->sync = sync; in pt_pkt_sync_forward()
124 decoder->pos = sync; in pt_pkt_sync_forward()
129 int pt_pkt_sync_backward(struct pt_packet_decoder *decoder) in pt_pkt_sync_backward() argument
134 if (!decoder) in pt_pkt_sync_backward()
137 pos = decoder->pos; in pt_pkt_sync_backward()
139 pos = decoder->config.end; in pt_pkt_sync_backward()
141 errcode = pt_sync_backward(&sync, pos, &decoder->config); in pt_pkt_sync_backward()
145 decoder->sync = sync; in pt_pkt_sync_backward()
146 decoder->pos = sync; in pt_pkt_sync_backward()
151 int pt_pkt_sync_set(struct pt_packet_decoder *decoder, uint64_t offset) in pt_pkt_sync_set() argument
155 if (!decoder) in pt_pkt_sync_set()
158 begin = decoder->config.begin; in pt_pkt_sync_set()
159 end = decoder->config.end; in pt_pkt_sync_set()
165 decoder->sync = pos; in pt_pkt_sync_set()
166 decoder->pos = pos; in pt_pkt_sync_set()
171 int pt_pkt_get_offset(const struct pt_packet_decoder *decoder, uint64_t *offset) in pt_pkt_get_offset() argument
175 if (!decoder || !offset) in pt_pkt_get_offset()
178 begin = decoder->config.begin; in pt_pkt_get_offset()
179 pos = decoder->pos; in pt_pkt_get_offset()
188 int pt_pkt_get_sync_offset(const struct pt_packet_decoder *decoder, in pt_pkt_get_sync_offset() argument
193 if (!decoder || !offset) in pt_pkt_get_sync_offset()
196 begin = decoder->config.begin; in pt_pkt_get_sync_offset()
197 sync = decoder->sync; in pt_pkt_get_sync_offset()
207 pt_pkt_get_config(const struct pt_packet_decoder *decoder) in pt_pkt_get_config() argument
209 if (!decoder) in pt_pkt_get_config()
212 return &decoder->config; in pt_pkt_get_config()
236 int pt_pkt_next(struct pt_packet_decoder *decoder, struct pt_packet *packet, in pt_pkt_next() argument
243 if (!packet || !decoder) in pt_pkt_next()
248 errcode = pt_df_fetch(&dfun, decoder->pos, &decoder->config); in pt_pkt_next()
258 size = dfun->packet(decoder, ppkt); in pt_pkt_next()
266 decoder->pos += size; in pt_pkt_next()
271 int pt_pkt_decode_unknown(struct pt_packet_decoder *decoder, in pt_pkt_decode_unknown() argument
276 if (!decoder) in pt_pkt_decode_unknown()
279 size = pt_pkt_read_unknown(packet, decoder->pos, &decoder->config); in pt_pkt_decode_unknown()
286 int pt_pkt_decode_pad(struct pt_packet_decoder *decoder, in pt_pkt_decode_pad() argument
289 (void) decoder; in pt_pkt_decode_pad()
300 int pt_pkt_decode_psb(struct pt_packet_decoder *decoder, in pt_pkt_decode_psb() argument
305 if (!decoder) in pt_pkt_decode_psb()
308 size = pt_pkt_read_psb(decoder->pos, &decoder->config); in pt_pkt_decode_psb()
318 int pt_pkt_decode_tip(struct pt_packet_decoder *decoder, in pt_pkt_decode_tip() argument
323 if (!decoder || !packet) in pt_pkt_decode_tip()
326 size = pt_pkt_read_ip(&packet->payload.ip, decoder->pos, in pt_pkt_decode_tip()
327 &decoder->config); in pt_pkt_decode_tip()
337 int pt_pkt_decode_tnt_8(struct pt_packet_decoder *decoder, in pt_pkt_decode_tnt_8() argument
342 if (!decoder || !packet) in pt_pkt_decode_tnt_8()
345 size = pt_pkt_read_tnt_8(&packet->payload.tnt, decoder->pos, in pt_pkt_decode_tnt_8()
346 &decoder->config); in pt_pkt_decode_tnt_8()
356 int pt_pkt_decode_tnt_64(struct pt_packet_decoder *decoder, in pt_pkt_decode_tnt_64() argument
361 if (!decoder || !packet) in pt_pkt_decode_tnt_64()
364 size = pt_pkt_read_tnt_64(&packet->payload.tnt, decoder->pos, in pt_pkt_decode_tnt_64()
365 &decoder->config); in pt_pkt_decode_tnt_64()
375 int pt_pkt_decode_tip_pge(struct pt_packet_decoder *decoder, in pt_pkt_decode_tip_pge() argument
380 if (!decoder || !packet) in pt_pkt_decode_tip_pge()
383 size = pt_pkt_read_ip(&packet->payload.ip, decoder->pos, in pt_pkt_decode_tip_pge()
384 &decoder->config); in pt_pkt_decode_tip_pge()
394 int pt_pkt_decode_tip_pgd(struct pt_packet_decoder *decoder, in pt_pkt_decode_tip_pgd() argument
399 if (!decoder || !packet) in pt_pkt_decode_tip_pgd()
402 size = pt_pkt_read_ip(&packet->payload.ip, decoder->pos, in pt_pkt_decode_tip_pgd()
403 &decoder->config); in pt_pkt_decode_tip_pgd()
413 int pt_pkt_decode_fup(struct pt_packet_decoder *decoder, in pt_pkt_decode_fup() argument
418 if (!decoder || !packet) in pt_pkt_decode_fup()
421 size = pt_pkt_read_ip(&packet->payload.ip, decoder->pos, in pt_pkt_decode_fup()
422 &decoder->config); in pt_pkt_decode_fup()
432 int pt_pkt_decode_pip(struct pt_packet_decoder *decoder, in pt_pkt_decode_pip() argument
437 if (!decoder || !packet) in pt_pkt_decode_pip()
440 size = pt_pkt_read_pip(&packet->payload.pip, decoder->pos, in pt_pkt_decode_pip()
441 &decoder->config); in pt_pkt_decode_pip()
451 int pt_pkt_decode_ovf(struct pt_packet_decoder *decoder, in pt_pkt_decode_ovf() argument
454 (void) decoder; in pt_pkt_decode_ovf()
465 int pt_pkt_decode_mode(struct pt_packet_decoder *decoder, in pt_pkt_decode_mode() argument
470 if (!decoder || !packet) in pt_pkt_decode_mode()
473 size = pt_pkt_read_mode(&packet->payload.mode, decoder->pos, in pt_pkt_decode_mode()
474 &decoder->config); in pt_pkt_decode_mode()
484 int pt_pkt_decode_psbend(struct pt_packet_decoder *decoder, in pt_pkt_decode_psbend() argument
487 (void) decoder; in pt_pkt_decode_psbend()
498 int pt_pkt_decode_tsc(struct pt_packet_decoder *decoder, in pt_pkt_decode_tsc() argument
503 if (!decoder || !packet) in pt_pkt_decode_tsc()
506 size = pt_pkt_read_tsc(&packet->payload.tsc, decoder->pos, in pt_pkt_decode_tsc()
507 &decoder->config); in pt_pkt_decode_tsc()
517 int pt_pkt_decode_cbr(struct pt_packet_decoder *decoder, in pt_pkt_decode_cbr() argument
522 if (!decoder || !packet) in pt_pkt_decode_cbr()
525 size = pt_pkt_read_cbr(&packet->payload.cbr, decoder->pos, in pt_pkt_decode_cbr()
526 &decoder->config); in pt_pkt_decode_cbr()
536 int pt_pkt_decode_tma(struct pt_packet_decoder *decoder, in pt_pkt_decode_tma() argument
541 if (!decoder || !packet) in pt_pkt_decode_tma()
544 size = pt_pkt_read_tma(&packet->payload.tma, decoder->pos, in pt_pkt_decode_tma()
545 &decoder->config); in pt_pkt_decode_tma()
555 int pt_pkt_decode_mtc(struct pt_packet_decoder *decoder, in pt_pkt_decode_mtc() argument
560 if (!decoder || !packet) in pt_pkt_decode_mtc()
563 size = pt_pkt_read_mtc(&packet->payload.mtc, decoder->pos, in pt_pkt_decode_mtc()
564 &decoder->config); in pt_pkt_decode_mtc()
574 int pt_pkt_decode_cyc(struct pt_packet_decoder *decoder, in pt_pkt_decode_cyc() argument
579 if (!decoder || !packet) in pt_pkt_decode_cyc()
582 size = pt_pkt_read_cyc(&packet->payload.cyc, decoder->pos, in pt_pkt_decode_cyc()
583 &decoder->config); in pt_pkt_decode_cyc()
593 int pt_pkt_decode_stop(struct pt_packet_decoder *decoder, in pt_pkt_decode_stop() argument
596 (void) decoder; in pt_pkt_decode_stop()
607 int pt_pkt_decode_vmcs(struct pt_packet_decoder *decoder, in pt_pkt_decode_vmcs() argument
612 if (!decoder || !packet) in pt_pkt_decode_vmcs()
615 size = pt_pkt_read_vmcs(&packet->payload.vmcs, decoder->pos, in pt_pkt_decode_vmcs()
616 &decoder->config); in pt_pkt_decode_vmcs()
626 int pt_pkt_decode_mnt(struct pt_packet_decoder *decoder, in pt_pkt_decode_mnt() argument
631 if (!decoder || !packet) in pt_pkt_decode_mnt()
634 size = pt_pkt_read_mnt(&packet->payload.mnt, decoder->pos, in pt_pkt_decode_mnt()
635 &decoder->config); in pt_pkt_decode_mnt()
645 int pt_pkt_decode_exstop(struct pt_packet_decoder *decoder, in pt_pkt_decode_exstop() argument
650 if (!decoder || !packet) in pt_pkt_decode_exstop()
653 size = pt_pkt_read_exstop(&packet->payload.exstop, decoder->pos, in pt_pkt_decode_exstop()
654 &decoder->config); in pt_pkt_decode_exstop()
664 int pt_pkt_decode_mwait(struct pt_packet_decoder *decoder, in pt_pkt_decode_mwait() argument
669 if (!decoder || !packet) in pt_pkt_decode_mwait()
672 size = pt_pkt_read_mwait(&packet->payload.mwait, decoder->pos, in pt_pkt_decode_mwait()
673 &decoder->config); in pt_pkt_decode_mwait()
683 int pt_pkt_decode_pwre(struct pt_packet_decoder *decoder, in pt_pkt_decode_pwre() argument
688 if (!decoder || !packet) in pt_pkt_decode_pwre()
691 size = pt_pkt_read_pwre(&packet->payload.pwre, decoder->pos, in pt_pkt_decode_pwre()
692 &decoder->config); in pt_pkt_decode_pwre()
702 int pt_pkt_decode_pwrx(struct pt_packet_decoder *decoder, in pt_pkt_decode_pwrx() argument
707 if (!decoder || !packet) in pt_pkt_decode_pwrx()
710 size = pt_pkt_read_pwrx(&packet->payload.pwrx, decoder->pos, in pt_pkt_decode_pwrx()
711 &decoder->config); in pt_pkt_decode_pwrx()
721 int pt_pkt_decode_ptw(struct pt_packet_decoder *decoder, in pt_pkt_decode_ptw() argument
726 if (!decoder || !packet) in pt_pkt_decode_ptw()
729 size = pt_pkt_read_ptw(&packet->payload.ptw, decoder->pos, in pt_pkt_decode_ptw()
730 &decoder->config); in pt_pkt_decode_ptw()