Lines Matching refs:event
150 decoder->event = NULL; in pt_qry_reset()
729 decoder->event = NULL; in pt_qry_cache_tnt()
737 if (decoder->event) in pt_qry_cache_tnt()
811 decoder->event = NULL; in pt_qry_indirect_branch()
829 if (decoder->event) in pt_qry_indirect_branch()
869 int pt_qry_event(struct pt_query_decoder *decoder, struct pt_event *event, in pt_qry_event() argument
874 if (!decoder || !event) in pt_qry_event()
887 if (sizeof(*event) < size) in pt_qry_event()
888 size = sizeof(*event); in pt_qry_event()
915 decoder->event = NULL; in pt_qry_event()
927 if (decoder->event) { in pt_qry_event()
928 (void) memcpy(event, decoder->event, size); in pt_qry_event()
968 static int pt_qry_event_time(struct pt_event *event, in pt_qry_event_time() argument
973 if (!event || !decoder) in pt_qry_event_time()
976 errcode = pt_time_query_tsc(&event->tsc, &event->lost_mtc, in pt_qry_event_time()
977 &event->lost_cyc, &decoder->time); in pt_qry_event_time()
982 event->has_tsc = 1; in pt_qry_event_time()
1090 static int pt_qry_event_ip(uint64_t *ip, struct pt_event *event, in pt_qry_event_ip() argument
1103 event->ip_suppressed = 1; in pt_qry_event_ip()
1202 decoder->event = ev; in pt_qry_decode_tip()
1356 decoder->event = ev; in pt_qry_decode_tip_pge()
1472 decoder->event = ev; in pt_qry_decode_tip_pgd()
1651 decoder->event = ev; in pt_qry_decode_fup()
1697 struct pt_event *event; in pt_qry_decode_pip() local
1710 event = pt_evq_find(&decoder->evq, evb_tip, ptev_async_branch); in pt_qry_decode_pip()
1711 if (!event) { in pt_qry_decode_pip()
1712 event = pt_evq_standalone(&decoder->evq); in pt_qry_decode_pip()
1713 if (!event) in pt_qry_decode_pip()
1715 event->type = ptev_paging; in pt_qry_decode_pip()
1716 event->variant.paging.cr3 = packet.cr3; in pt_qry_decode_pip()
1717 event->variant.paging.non_root = packet.nr; in pt_qry_decode_pip()
1719 decoder->event = event; in pt_qry_decode_pip()
1721 event = pt_evq_enqueue(&decoder->evq, evb_tip); in pt_qry_decode_pip()
1722 if (!event) in pt_qry_decode_pip()
1725 event->type = ptev_async_paging; in pt_qry_decode_pip()
1726 event->variant.async_paging.cr3 = packet.cr3; in pt_qry_decode_pip()
1727 event->variant.async_paging.non_root = packet.nr; in pt_qry_decode_pip()
1730 errcode = pt_qry_event_time(event, decoder); in pt_qry_decode_pip()
1741 struct pt_event *event; in pt_qry_header_pip() local
1752 event = pt_evq_enqueue(&decoder->evq, evb_psbend); in pt_qry_header_pip()
1753 if (!event) in pt_qry_header_pip()
1756 event->type = ptev_async_paging; in pt_qry_header_pip()
1757 event->variant.async_paging.cr3 = packet.cr3; in pt_qry_header_pip()
1758 event->variant.async_paging.non_root = packet.nr; in pt_qry_header_pip()
1828 decoder->event = ev; in pt_qry_process_pending_psb_events()
1860 decoder->event = ev; in pt_qry_event_ovf_disabled()
1945 decoder->event = ev; in skd010_recover()
2957 struct pt_event *event; in pt_qry_decode_mode_exec() local
2963 event = pt_evq_enqueue(&decoder->evq, evb_tip); in pt_qry_decode_mode_exec()
2964 if (!event) in pt_qry_decode_mode_exec()
2967 event->type = ptev_exec_mode; in pt_qry_decode_mode_exec()
2968 event->variant.exec_mode.mode = pt_get_exec_mode(packet); in pt_qry_decode_mode_exec()
2970 return pt_qry_event_time(event, decoder); in pt_qry_decode_mode_exec()
2976 struct pt_event *event; in pt_qry_decode_mode_tsx() local
2983 event = pt_evq_standalone(&decoder->evq); in pt_qry_decode_mode_tsx()
2984 if (!event) in pt_qry_decode_mode_tsx()
2988 event->variant.tsx.ip = 0; in pt_qry_decode_mode_tsx()
2989 event->ip_suppressed = 1; in pt_qry_decode_mode_tsx()
2992 decoder->event = event; in pt_qry_decode_mode_tsx()
2995 event = pt_evq_enqueue(&decoder->evq, evb_fup); in pt_qry_decode_mode_tsx()
2996 if (!event) in pt_qry_decode_mode_tsx()
3000 event->type = ptev_tsx; in pt_qry_decode_mode_tsx()
3001 event->variant.tsx.speculative = packet->intx; in pt_qry_decode_mode_tsx()
3002 event->variant.tsx.aborted = packet->abrt; in pt_qry_decode_mode_tsx()
3004 return pt_qry_event_time(event, decoder); in pt_qry_decode_mode_tsx()
3040 struct pt_event *event; in pt_qry_header_mode() local
3051 event = pt_evq_enqueue(&decoder->evq, evb_psbend); in pt_qry_header_mode()
3052 if (!event) in pt_qry_header_mode()
3057 event->type = ptev_exec_mode; in pt_qry_header_mode()
3058 event->variant.exec_mode.mode = in pt_qry_header_mode()
3063 event->type = ptev_tsx; in pt_qry_header_mode()
3064 event->variant.tsx.speculative = packet.bits.tsx.intx; in pt_qry_header_mode()
3065 event->variant.tsx.aborted = packet.bits.tsx.abrt; in pt_qry_header_mode()
3140 struct pt_event *event; in pt_qry_decode_cbr() local
3155 event = pt_evq_standalone(&decoder->evq); in pt_qry_decode_cbr()
3156 if (!event) in pt_qry_decode_cbr()
3159 event->type = ptev_cbr; in pt_qry_decode_cbr()
3160 event->variant.cbr.ratio = packet.ratio; in pt_qry_decode_cbr()
3162 decoder->event = event; in pt_qry_decode_cbr()
3164 errcode = pt_qry_event_time(event, decoder); in pt_qry_decode_cbr()
3175 struct pt_event *event; in pt_qry_header_cbr() local
3190 event = pt_evq_enqueue(&decoder->evq, evb_psbend); in pt_qry_header_cbr()
3191 if (!event) in pt_qry_header_cbr()
3194 event->type = ptev_cbr; in pt_qry_header_cbr()
3195 event->variant.cbr.ratio = packet.ratio; in pt_qry_header_cbr()
3323 struct pt_event *event; in pt_qry_decode_stop() local
3330 event = pt_evq_standalone(&decoder->evq); in pt_qry_decode_stop()
3331 if (!event) in pt_qry_decode_stop()
3334 event->type = ptev_stop; in pt_qry_decode_stop()
3336 decoder->event = event; in pt_qry_decode_stop()
3338 errcode = pt_qry_event_time(event, decoder); in pt_qry_decode_stop()
3349 struct pt_event *event; in pt_qry_header_vmcs() local
3359 event = pt_evq_enqueue(&decoder->evq, evb_psbend); in pt_qry_header_vmcs()
3360 if (!event) in pt_qry_header_vmcs()
3363 event->type = ptev_async_vmcs; in pt_qry_header_vmcs()
3364 event->variant.async_vmcs.base = packet.base; in pt_qry_header_vmcs()
3373 struct pt_event *event; in pt_qry_decode_vmcs() local
3388 event = pt_evq_find(&decoder->evq, evb_tip, ptev_async_paging); in pt_qry_decode_vmcs()
3389 if (event) { in pt_qry_decode_vmcs()
3396 *paging = *event; in pt_qry_decode_vmcs()
3398 event->type = ptev_async_vmcs; in pt_qry_decode_vmcs()
3399 event->variant.async_vmcs.base = packet.base; in pt_qry_decode_vmcs()
3408 event = pt_evq_find(&decoder->evq, evb_tip, ptev_async_branch); in pt_qry_decode_vmcs()
3409 if (event) { in pt_qry_decode_vmcs()
3410 event = pt_evq_enqueue(&decoder->evq, evb_tip); in pt_qry_decode_vmcs()
3411 if (!event) in pt_qry_decode_vmcs()
3414 event->type = ptev_async_vmcs; in pt_qry_decode_vmcs()
3415 event->variant.async_vmcs.base = packet.base; in pt_qry_decode_vmcs()
3424 event = pt_evq_standalone(&decoder->evq); in pt_qry_decode_vmcs()
3425 if (!event) in pt_qry_decode_vmcs()
3428 event->type = ptev_vmcs; in pt_qry_decode_vmcs()
3429 event->variant.vmcs.base = packet.base; in pt_qry_decode_vmcs()
3431 decoder->event = event; in pt_qry_decode_vmcs()
3433 errcode = pt_qry_event_time(event, decoder); in pt_qry_decode_vmcs()
3444 struct pt_event *event; in pt_qry_decode_mnt() local
3454 event = pt_evq_standalone(&decoder->evq); in pt_qry_decode_mnt()
3455 if (!event) in pt_qry_decode_mnt()
3458 event->type = ptev_mnt; in pt_qry_decode_mnt()
3459 event->variant.mnt.payload = packet.payload; in pt_qry_decode_mnt()
3461 decoder->event = event; in pt_qry_decode_mnt()
3463 errcode = pt_qry_event_time(event, decoder); in pt_qry_decode_mnt()
3475 struct pt_event *event; in pt_qry_header_mnt() local
3485 event = pt_evq_enqueue(&decoder->evq, evb_psbend); in pt_qry_header_mnt()
3486 if (!event) in pt_qry_header_mnt()
3489 event->type = ptev_mnt; in pt_qry_header_mnt()
3490 event->variant.mnt.payload = packet.payload; in pt_qry_header_mnt()
3500 struct pt_event *event; in pt_qry_decode_exstop() local
3511 event = pt_evq_enqueue(&decoder->evq, evb_fup); in pt_qry_decode_exstop()
3512 if (!event) in pt_qry_decode_exstop()
3515 event->type = ptev_exstop; in pt_qry_decode_exstop()
3517 event = pt_evq_standalone(&decoder->evq); in pt_qry_decode_exstop()
3518 if (!event) in pt_qry_decode_exstop()
3521 event->type = ptev_exstop; in pt_qry_decode_exstop()
3523 event->ip_suppressed = 1; in pt_qry_decode_exstop()
3524 event->variant.exstop.ip = 0ull; in pt_qry_decode_exstop()
3526 decoder->event = event; in pt_qry_decode_exstop()
3536 struct pt_event *event; in pt_qry_decode_mwait() local
3546 event = pt_evq_enqueue(&decoder->evq, evb_fup); in pt_qry_decode_mwait()
3547 if (!event) in pt_qry_decode_mwait()
3550 event->type = ptev_mwait; in pt_qry_decode_mwait()
3551 event->variant.mwait.hints = packet.hints; in pt_qry_decode_mwait()
3552 event->variant.mwait.ext = packet.ext; in pt_qry_decode_mwait()
3561 struct pt_event *event; in pt_qry_decode_pwre() local
3571 event = pt_evq_standalone(&decoder->evq); in pt_qry_decode_pwre()
3572 if (!event) in pt_qry_decode_pwre()
3575 event->type = ptev_pwre; in pt_qry_decode_pwre()
3576 event->variant.pwre.state = packet.state; in pt_qry_decode_pwre()
3577 event->variant.pwre.sub_state = packet.sub_state; in pt_qry_decode_pwre()
3580 event->variant.pwre.hw = 1; in pt_qry_decode_pwre()
3582 decoder->event = event; in pt_qry_decode_pwre()
3591 struct pt_event *event; in pt_qry_decode_pwrx() local
3601 event = pt_evq_standalone(&decoder->evq); in pt_qry_decode_pwrx()
3602 if (!event) in pt_qry_decode_pwrx()
3605 event->type = ptev_pwrx; in pt_qry_decode_pwrx()
3606 event->variant.pwrx.last = packet.last; in pt_qry_decode_pwrx()
3607 event->variant.pwrx.deepest = packet.deepest; in pt_qry_decode_pwrx()
3610 event->variant.pwrx.interrupt = 1; in pt_qry_decode_pwrx()
3612 event->variant.pwrx.store = 1; in pt_qry_decode_pwrx()
3614 event->variant.pwrx.autonomous = 1; in pt_qry_decode_pwrx()
3616 decoder->event = event; in pt_qry_decode_pwrx()
3625 struct pt_event *event; in pt_qry_decode_ptw() local
3640 event = pt_evq_enqueue(&decoder->evq, evb_fup); in pt_qry_decode_ptw()
3641 if (!event) in pt_qry_decode_ptw()
3644 event = pt_evq_standalone(&decoder->evq); in pt_qry_decode_ptw()
3645 if (!event) in pt_qry_decode_ptw()
3648 event->ip_suppressed = 1; in pt_qry_decode_ptw()
3650 decoder->event = event; in pt_qry_decode_ptw()
3653 event->type = ptev_ptwrite; in pt_qry_decode_ptw()
3654 event->variant.ptwrite.size = (uint8_t) pls; in pt_qry_decode_ptw()
3655 event->variant.ptwrite.payload = packet.payload; in pt_qry_decode_ptw()