Lines Matching +full:ipc +full:-
2 * Copyright (c) 2013-2019, Intel Corporation
58 /* For tracking last-ip in tests. */
63 static const uint64_t pt_dfix_bad_ip = (1ull << 62) - 1ull;
65 /* A sign-extended address. */
69 static const uint64_t pt_dfix_max_ip = (1ull << 47) - 1ull;
72 static const uint64_t pt_dfix_max_cr3 = ((1ull << 47) - 1ull) & ~0x1full;
80 decoder->enabled = 1; in ptu_sync_decoder()
82 (void) pt_df_fetch(&decoder->next, decoder->pos, &decoder->config); in ptu_sync_decoder()
95 pos = encoder->pos; in cutoff()
98 pos -= 1; in cutoff()
99 ptu_ptr_le(decoder->config.begin, pos); in cutoff()
101 decoder->config.end = pos; in cutoff()
107 struct pt_query_decoder *decoder = &dfix->decoder; in indir_not_synced()
112 ptu_int_eq(errcode, -pte_nosync); in indir_not_synced()
120 struct pt_query_decoder *decoder = &dfix->decoder; in cond_not_synced()
124 ptu_int_eq(errcode, -pte_nosync); in cond_not_synced()
132 struct pt_query_decoder *decoder = &dfix->decoder; in event_not_synced()
137 ptu_int_eq(errcode, -pte_nosync); in event_not_synced()
144 struct pt_query_decoder *decoder = &dfix->decoder; in sync_backward()
145 struct pt_encoder *encoder = &dfix->encoder; in sync_backward()
200 ptu_int_eq(errcode, -pte_eos); in sync_backward()
208 struct pt_query_decoder *decoder = &dfix->decoder; in sync_backward_empty_end()
209 struct pt_encoder *encoder = &dfix->encoder; in sync_backward_empty_end()
258 ptu_int_eq(errcode, -pte_eos); in sync_backward_empty_end()
266 struct pt_query_decoder *decoder = &dfix->decoder; in sync_backward_empty_mid()
267 struct pt_encoder *encoder = &dfix->encoder; in sync_backward_empty_mid()
316 ptu_int_eq(errcode, -pte_eos); in sync_backward_empty_mid()
324 struct pt_query_decoder *decoder = &dfix->decoder; in sync_backward_empty_begin()
325 struct pt_encoder *encoder = &dfix->encoder; in sync_backward_empty_begin()
374 ptu_int_eq(errcode, -pte_eos); in sync_backward_empty_begin()
382 struct pt_query_decoder *decoder = &dfix->decoder; in decode_sync_backward()
383 struct pt_encoder *encoder = &dfix->encoder; in decode_sync_backward()
388 /* Check that we can use sync_backward to re-sync at the current trace in decode_sync_backward()
437 ptu_int_eq(errcode, -pte_eos); in decode_sync_backward()
444 struct pt_query_decoder *decoder = &dfix->decoder; in indir_null()
445 struct pt_config *config = &decoder->config; in indir_null()
450 ptu_int_eq(errcode, -pte_invalid); in indir_null()
454 ptu_int_eq(errcode, -pte_invalid); in indir_null()
455 ptu_ptr_eq(decoder->pos, config->begin); in indir_null()
462 struct pt_query_decoder *decoder = &dfix->decoder; in indir_empty()
463 struct pt_config *config = &decoder->config; in indir_empty()
467 decoder->pos = config->end; in indir_empty()
470 ptu_int_eq(errcode, -pte_eos); in indir_empty()
477 enum pt_ip_compression ipc) in indir() argument
479 struct pt_query_decoder *decoder = &dfix->decoder; in indir()
480 struct pt_encoder *encoder = &dfix->encoder; in indir()
485 packet.ipc = ipc; in indir()
487 pt_last_ip_update_ip(&dfix->last_ip, &packet, &dfix->config); in indir()
489 pt_encode_tip(encoder, packet.ip, packet.ipc); in indir()
494 if (ipc == pt_ipc_suppressed) { in indir()
499 ptu_uint_eq(addr, dfix->last_ip.ip); in indir()
506 enum pt_ip_compression ipc) in indir_tnt() argument
508 struct pt_query_decoder *decoder = &dfix->decoder; in indir_tnt()
509 struct pt_encoder *encoder = &dfix->encoder; in indir_tnt()
514 packet.ipc = ipc; in indir_tnt()
516 pt_last_ip_update_ip(&dfix->last_ip, &packet, &dfix->config); in indir_tnt()
519 pt_encode_tip(encoder, packet.ip, packet.ipc); in indir_tnt()
524 if (ipc == pt_ipc_suppressed) { in indir_tnt()
529 ptu_uint_eq(addr, dfix->last_ip.ip); in indir_tnt()
537 struct pt_query_decoder *decoder = &dfix->decoder; in indir_cutoff_fail()
538 struct pt_encoder *encoder = &dfix->encoder; in indir_cutoff_fail()
548 ptu_int_eq(errcode, -pte_eos); in indir_cutoff_fail()
557 struct pt_query_decoder *decoder = &dfix->decoder; in indir_skip_tnt_fail()
558 struct pt_encoder *encoder = &dfix->encoder; in indir_skip_tnt_fail()
569 ptu_int_eq(errcode, -pte_bad_query); in indir_skip_tnt_fail()
578 struct pt_query_decoder *decoder = &dfix->decoder; in indir_skip_tip_pge_fail()
579 struct pt_encoder *encoder = &dfix->encoder; in indir_skip_tip_pge_fail()
584 pos = encoder->pos; in indir_skip_tip_pge_fail()
591 ptu_int_eq(errcode, -pte_bad_query); in indir_skip_tip_pge_fail()
592 ptu_ptr_eq(decoder->pos, pos); in indir_skip_tip_pge_fail()
601 struct pt_query_decoder *decoder = &dfix->decoder; in indir_skip_tip_pgd_fail()
602 struct pt_encoder *encoder = &dfix->encoder; in indir_skip_tip_pgd_fail()
607 pos = encoder->pos; in indir_skip_tip_pgd_fail()
614 ptu_int_eq(errcode, -pte_bad_query); in indir_skip_tip_pgd_fail()
615 ptu_ptr_eq(decoder->pos, pos); in indir_skip_tip_pgd_fail()
624 struct pt_query_decoder *decoder = &dfix->decoder; in indir_skip_fup_tip_fail()
625 struct pt_encoder *encoder = &dfix->encoder; in indir_skip_fup_tip_fail()
631 pos = encoder->pos; in indir_skip_fup_tip_fail()
638 ptu_int_eq(errcode, -pte_bad_query); in indir_skip_fup_tip_fail()
639 ptu_ptr_eq(decoder->pos, pos); in indir_skip_fup_tip_fail()
648 struct pt_query_decoder *decoder = &dfix->decoder; in indir_skip_fup_tip_pgd_fail()
649 struct pt_encoder *encoder = &dfix->encoder; in indir_skip_fup_tip_pgd_fail()
655 pos = encoder->pos; in indir_skip_fup_tip_pgd_fail()
662 ptu_int_eq(errcode, -pte_bad_query); in indir_skip_fup_tip_pgd_fail()
663 ptu_ptr_eq(decoder->pos, pos); in indir_skip_fup_tip_pgd_fail()
671 struct pt_query_decoder *decoder = &dfix->decoder; in cond_null()
672 struct pt_config *config = &decoder->config; in cond_null()
676 ptu_int_eq(errcode, -pte_invalid); in cond_null()
680 ptu_int_eq(errcode, -pte_invalid); in cond_null()
681 ptu_ptr_eq(decoder->pos, config->begin); in cond_null()
688 struct pt_query_decoder *decoder = &dfix->decoder; in cond_empty()
689 struct pt_config *config = &decoder->config; in cond_empty()
692 decoder->pos = config->end; in cond_empty()
695 ptu_int_eq(errcode, -pte_eos); in cond_empty()
703 struct pt_query_decoder *decoder = &dfix->decoder; in cond()
704 struct pt_encoder *encoder = &dfix->encoder; in cond()
727 ptu_int_eq(errcode, -pte_eos); in cond()
735 struct pt_query_decoder *decoder = &dfix->decoder; in cond_skip_tip_fail()
736 struct pt_encoder *encoder = &dfix->encoder; in cond_skip_tip_fail()
740 pos = encoder->pos; in cond_skip_tip_fail()
747 ptu_int_eq(errcode, -pte_bad_query); in cond_skip_tip_fail()
748 ptu_ptr_eq(decoder->pos, pos); in cond_skip_tip_fail()
757 struct pt_query_decoder *decoder = &dfix->decoder; in cond_skip_tip_pge_fail()
758 struct pt_encoder *encoder = &dfix->encoder; in cond_skip_tip_pge_fail()
762 pos = encoder->pos; in cond_skip_tip_pge_fail()
769 ptu_int_eq(errcode, -pte_bad_query); in cond_skip_tip_pge_fail()
770 ptu_ptr_eq(decoder->pos, pos); in cond_skip_tip_pge_fail()
779 struct pt_query_decoder *decoder = &dfix->decoder; in cond_skip_tip_pgd_fail()
780 struct pt_encoder *encoder = &dfix->encoder; in cond_skip_tip_pgd_fail()
784 pos = encoder->pos; in cond_skip_tip_pgd_fail()
791 ptu_int_eq(errcode, -pte_bad_query); in cond_skip_tip_pgd_fail()
792 ptu_ptr_eq(decoder->pos, pos); in cond_skip_tip_pgd_fail()
801 struct pt_query_decoder *decoder = &dfix->decoder; in cond_skip_fup_tip_fail()
802 struct pt_encoder *encoder = &dfix->encoder; in cond_skip_fup_tip_fail()
807 pos = encoder->pos; in cond_skip_fup_tip_fail()
814 ptu_int_eq(errcode, -pte_bad_query); in cond_skip_fup_tip_fail()
815 ptu_ptr_eq(decoder->pos, pos); in cond_skip_fup_tip_fail()
824 struct pt_query_decoder *decoder = &dfix->decoder; in cond_skip_fup_tip_pgd_fail()
825 struct pt_encoder *encoder = &dfix->encoder; in cond_skip_fup_tip_pgd_fail()
830 pos = encoder->pos; in cond_skip_fup_tip_pgd_fail()
837 ptu_int_eq(errcode, -pte_bad_query); in cond_skip_fup_tip_pgd_fail()
838 ptu_ptr_eq(decoder->pos, pos); in cond_skip_fup_tip_pgd_fail()
846 struct pt_query_decoder *decoder = &dfix->decoder; in event_null()
847 struct pt_config *config = &decoder->config; in event_null()
852 ptu_int_eq(errcode, -pte_invalid); in event_null()
855 ptu_int_eq(errcode, -pte_invalid); in event_null()
856 ptu_ptr_eq(decoder->pos, config->begin); in event_null()
863 struct pt_query_decoder *decoder = &dfix->decoder; in event_bad_size()
868 ptu_int_eq(errcode, -pte_invalid); in event_bad_size()
875 struct pt_query_decoder *decoder = &dfix->decoder; in event_small_size()
876 struct pt_encoder *encoder = &dfix->encoder; in event_small_size()
899 struct pt_query_decoder *decoder = &dfix->decoder; in event_big_size()
900 struct pt_encoder *encoder = &dfix->encoder; in event_big_size()
923 struct pt_query_decoder *decoder = &dfix->decoder; in event_empty()
924 struct pt_config *config = &decoder->config; in event_empty()
928 decoder->pos = config->end; in event_empty()
931 ptu_int_eq(errcode, -pte_eos); in event_empty()
937 enum pt_ip_compression ipc, in event_enabled() argument
940 struct pt_query_decoder *decoder = &dfix->decoder; in event_enabled()
941 struct pt_encoder *encoder = &dfix->encoder; in event_enabled()
946 packet.ipc = ipc; in event_enabled()
948 pt_last_ip_update_ip(&dfix->last_ip, &packet, &dfix->config); in event_enabled()
950 pt_encode_tip_pge(encoder, packet.ip, packet.ipc); in event_enabled()
955 if (ipc == pt_ipc_suppressed) in event_enabled()
956 ptu_int_eq(errcode, -pte_bad_packet); in event_enabled()
960 ptu_uint_eq(event.variant.enabled.ip, dfix->last_ip.ip); in event_enabled()
976 struct pt_query_decoder *decoder = &dfix->decoder; in event_enabled_cutoff_fail()
977 struct pt_encoder *encoder = &dfix->encoder; in event_enabled_cutoff_fail()
987 ptu_int_eq(errcode, -pte_eos); in event_enabled_cutoff_fail()
993 enum pt_ip_compression ipc, in event_disabled() argument
996 struct pt_query_decoder *decoder = &dfix->decoder; in event_disabled()
997 struct pt_encoder *encoder = &dfix->encoder; in event_disabled()
1002 packet.ipc = ipc; in event_disabled()
1004 pt_last_ip_update_ip(&dfix->last_ip, &packet, &dfix->config); in event_disabled()
1006 pt_encode_tip_pgd(encoder, packet.ip, packet.ipc); in event_disabled()
1012 if (ipc == pt_ipc_suppressed) in event_disabled()
1016 ptu_uint_eq(event.variant.disabled.ip, dfix->last_ip.ip); in event_disabled()
1033 struct pt_query_decoder *decoder = &dfix->decoder; in event_disabled_cutoff_fail()
1034 struct pt_encoder *encoder = &dfix->encoder; in event_disabled_cutoff_fail()
1044 ptu_int_eq(errcode, -pte_eos); in event_disabled_cutoff_fail()
1051 enum pt_ip_compression ipc, uint64_t tsc) in event_async_disabled() argument
1053 struct pt_query_decoder *decoder = &dfix->decoder; in event_async_disabled()
1054 struct pt_encoder *encoder = &dfix->encoder; in event_async_disabled()
1059 fup.ipc = pt_ipc_sext_48; in event_async_disabled()
1061 pt_last_ip_update_ip(&dfix->last_ip, &fup, &dfix->config); in event_async_disabled()
1063 tip.ipc = ipc; in event_async_disabled()
1065 pt_last_ip_update_ip(&dfix->last_ip, &tip, &dfix->config); in event_async_disabled()
1067 pt_encode_fup(encoder, fup.ip, fup.ipc); in event_async_disabled()
1068 pt_encode_tip_pgd(encoder, tip.ip, tip.ipc); in event_async_disabled()
1074 if (ipc == pt_ipc_suppressed) in event_async_disabled()
1078 ptu_uint_eq(event.variant.async_disabled.ip, dfix->last_ip.ip); in event_async_disabled()
1096 struct pt_query_decoder *decoder = &dfix->decoder; in event_async_disabled_suppressed_fail()
1097 struct pt_encoder *encoder = &dfix->encoder; in event_async_disabled_suppressed_fail()
1107 ptu_int_eq(errcode, -pte_ip_suppressed); in event_async_disabled_suppressed_fail()
1115 struct pt_query_decoder *decoder = &dfix->decoder; in event_async_disabled_cutoff_fail_a()
1116 struct pt_encoder *encoder = &dfix->encoder; in event_async_disabled_cutoff_fail_a()
1128 ptu_int_eq(errcode, -pte_eos); in event_async_disabled_cutoff_fail_a()
1136 struct pt_query_decoder *decoder = &dfix->decoder; in event_async_disabled_cutoff_fail_b()
1137 struct pt_encoder *encoder = &dfix->encoder; in event_async_disabled_cutoff_fail_b()
1147 ptu_int_eq(errcode, -pte_eos); in event_async_disabled_cutoff_fail_b()
1155 struct pt_query_decoder *decoder = &dfix->decoder; in event_async_branch_suppressed_fail()
1156 struct pt_encoder *encoder = &dfix->encoder; in event_async_branch_suppressed_fail()
1165 ptu_int_eq(errcode, -pte_ip_suppressed); in event_async_branch_suppressed_fail()
1171 enum pt_ip_compression ipc, in event_async_branch() argument
1174 struct pt_query_decoder *decoder = &dfix->decoder; in event_async_branch()
1175 struct pt_encoder *encoder = &dfix->encoder; in event_async_branch()
1180 fup.ipc = pt_ipc_sext_48; in event_async_branch()
1182 pt_last_ip_update_ip(&dfix->last_ip, &fup, &dfix->config); in event_async_branch()
1184 tip.ipc = ipc; in event_async_branch()
1186 pt_last_ip_update_ip(&dfix->last_ip, &tip, &dfix->config); in event_async_branch()
1188 pt_encode_fup(encoder, fup.ip, fup.ipc); in event_async_branch()
1189 pt_encode_tip(encoder, tip.ip, tip.ipc); in event_async_branch()
1195 if (ipc == pt_ipc_suppressed) in event_async_branch()
1199 ptu_uint_eq(event.variant.async_branch.to, dfix->last_ip.ip); in event_async_branch()
1217 struct pt_query_decoder *decoder = &dfix->decoder; in event_async_branch_cutoff_fail_a()
1218 struct pt_encoder *encoder = &dfix->encoder; in event_async_branch_cutoff_fail_a()
1229 ptu_int_eq(errcode, -pte_eos); in event_async_branch_cutoff_fail_a()
1237 struct pt_query_decoder *decoder = &dfix->decoder; in event_async_branch_cutoff_fail_b()
1238 struct pt_encoder *encoder = &dfix->encoder; in event_async_branch_cutoff_fail_b()
1248 ptu_int_eq(errcode, -pte_eos); in event_async_branch_cutoff_fail_b()
1256 struct pt_query_decoder *decoder = &dfix->decoder; in event_paging()
1257 struct pt_encoder *encoder = &dfix->encoder; in event_paging()
1285 struct pt_query_decoder *decoder = &dfix->decoder; in event_paging_cutoff_fail()
1286 struct pt_encoder *encoder = &dfix->encoder; in event_paging_cutoff_fail()
1296 ptu_int_eq(errcode, -pte_eos); in event_paging_cutoff_fail()
1305 struct pt_query_decoder *decoder = &dfix->decoder; in event_async_paging()
1306 struct pt_encoder *encoder = &dfix->encoder; in event_async_paging()
1353 struct pt_query_decoder *decoder = &dfix->decoder; in event_async_paging_suppressed()
1354 struct pt_encoder *encoder = &dfix->encoder; in event_async_paging_suppressed()
1399 struct pt_query_decoder *decoder = &dfix->decoder; in event_async_paging_cutoff_fail()
1400 struct pt_encoder *encoder = &dfix->encoder; in event_async_paging_cutoff_fail()
1411 ptu_int_eq(errcode, -pte_eos); in event_async_paging_cutoff_fail()
1417 enum pt_ip_compression ipc, in event_overflow_fup() argument
1420 struct pt_query_decoder *decoder = &dfix->decoder; in event_overflow_fup()
1421 struct pt_encoder *encoder = &dfix->encoder; in event_overflow_fup()
1426 packet.ipc = ipc; in event_overflow_fup()
1429 pt_last_ip_init(&dfix->last_ip); in event_overflow_fup()
1430 pt_last_ip_update_ip(&dfix->last_ip, &packet, &dfix->config); in event_overflow_fup()
1433 pt_encode_fup(encoder, packet.ip, packet.ipc); in event_overflow_fup()
1438 switch (ipc) { in event_overflow_fup()
1440 ptu_int_eq(errcode, -pte_noip); in event_overflow_fup()
1450 ptu_uint_eq(event.variant.overflow.ip, dfix->last_ip.ip); in event_overflow_fup()
1466 enum pt_ip_compression ipc, uint64_t tsc) in event_overflow_tip_pge() argument
1468 struct pt_query_decoder *decoder = &dfix->decoder; in event_overflow_tip_pge()
1469 struct pt_encoder *encoder = &dfix->encoder; in event_overflow_tip_pge()
1474 packet.ipc = ipc; in event_overflow_tip_pge()
1477 pt_last_ip_init(&dfix->last_ip); in event_overflow_tip_pge()
1478 pt_last_ip_update_ip(&dfix->last_ip, &packet, &dfix->config); in event_overflow_tip_pge()
1481 pt_encode_tip_pge(encoder, packet.ip, packet.ipc); in event_overflow_tip_pge()
1498 switch (ipc) { in event_overflow_tip_pge()
1500 ptu_int_eq(errcode, -pte_bad_packet); in event_overflow_tip_pge()
1510 ptu_uint_eq(event.variant.enabled.ip, dfix->last_ip.ip); in event_overflow_tip_pge()
1527 struct pt_query_decoder *decoder = &dfix->decoder; in event_overflow_cutoff_fail()
1528 struct pt_encoder *encoder = &dfix->encoder; in event_overflow_cutoff_fail()
1538 ptu_int_eq(errcode, -pte_eos); in event_overflow_cutoff_fail()
1546 struct pt_query_decoder *decoder = &dfix->decoder; in event_stop()
1547 struct pt_encoder *encoder = &dfix->encoder; in event_stop()
1571 enum pt_ip_compression ipc, uint64_t tsc) in event_exec_mode_tip() argument
1573 struct pt_query_decoder *decoder = &dfix->decoder; in event_exec_mode_tip()
1574 struct pt_encoder *encoder = &dfix->encoder; in event_exec_mode_tip()
1581 packet.ipc = ipc; in event_exec_mode_tip()
1583 pt_last_ip_update_ip(&dfix->last_ip, &packet, &dfix->config); in event_exec_mode_tip()
1586 pt_encode_tip(encoder, packet.ip, packet.ipc); in event_exec_mode_tip()
1592 if (ipc == pt_ipc_suppressed) in event_exec_mode_tip()
1596 ptu_uint_eq(event.variant.exec_mode.ip, dfix->last_ip.ip); in event_exec_mode_tip()
1609 if (ipc == pt_ipc_suppressed) in event_exec_mode_tip()
1613 ptu_uint_eq(addr, dfix->last_ip.ip); in event_exec_mode_tip()
1622 struct pt_query_decoder *decoder = &dfix->decoder; in event_exec_mode_tip_cutoff_fail()
1623 struct pt_encoder *encoder = &dfix->encoder; in event_exec_mode_tip_cutoff_fail()
1634 ptu_int_eq(errcode, -pte_eos); in event_exec_mode_tip_cutoff_fail()
1641 enum pt_ip_compression ipc, uint64_t tsc) in event_exec_mode_tip_pge() argument
1643 struct pt_query_decoder *decoder = &dfix->decoder; in event_exec_mode_tip_pge()
1644 struct pt_encoder *encoder = &dfix->encoder; in event_exec_mode_tip_pge()
1651 packet.ipc = ipc; in event_exec_mode_tip_pge()
1653 pt_last_ip_update_ip(&dfix->last_ip, &packet, &dfix->config); in event_exec_mode_tip_pge()
1656 pt_encode_tip_pge(encoder, packet.ip, packet.ipc); in event_exec_mode_tip_pge()
1659 decoder->enabled = 0; in event_exec_mode_tip_pge()
1662 if (ipc == pt_ipc_suppressed) { in event_exec_mode_tip_pge()
1663 ptu_int_eq(errcode, -pte_bad_packet); in event_exec_mode_tip_pge()
1668 ptu_uint_eq(event.variant.enabled.ip, dfix->last_ip.ip); in event_exec_mode_tip_pge()
1681 ptu_uint_eq(event.variant.exec_mode.ip, dfix->last_ip.ip); in event_exec_mode_tip_pge()
1697 struct pt_query_decoder *decoder = &dfix->decoder; in event_exec_mode_tip_pge_cutoff_fail()
1698 struct pt_encoder *encoder = &dfix->encoder; in event_exec_mode_tip_pge_cutoff_fail()
1709 ptu_int_eq(errcode, -pte_eos); in event_exec_mode_tip_pge_cutoff_fail()
1717 struct pt_query_decoder *decoder = &dfix->decoder; in event_exec_mode_cutoff_fail()
1718 struct pt_encoder *encoder = &dfix->encoder; in event_exec_mode_cutoff_fail()
1728 ptu_int_eq(errcode, -pte_eos); in event_exec_mode_cutoff_fail()
1734 enum pt_ip_compression ipc, in event_tsx_fup() argument
1737 struct pt_query_decoder *decoder = &dfix->decoder; in event_tsx_fup()
1738 struct pt_encoder *encoder = &dfix->encoder; in event_tsx_fup()
1744 fup.ipc = ipc; in event_tsx_fup()
1746 pt_last_ip_update_ip(&dfix->last_ip, &fup, &dfix->config); in event_tsx_fup()
1748 tip.ipc = pt_ipc_sext_48; in event_tsx_fup()
1752 pt_encode_fup(encoder, fup.ip, fup.ipc); in event_tsx_fup()
1753 pt_encode_tip(encoder, tip.ip, tip.ipc); in event_tsx_fup()
1759 if (ipc == pt_ipc_suppressed) in event_tsx_fup()
1763 ptu_uint_eq(event.variant.tsx.ip, dfix->last_ip.ip); in event_tsx_fup()
1788 struct pt_query_decoder *decoder = &dfix->decoder; in event_tsx_fup_cutoff_fail()
1789 struct pt_encoder *encoder = &dfix->encoder; in event_tsx_fup_cutoff_fail()
1800 ptu_int_eq(errcode, -pte_eos); in event_tsx_fup_cutoff_fail()
1808 struct pt_query_decoder *decoder = &dfix->decoder; in event_tsx_cutoff_fail()
1809 struct pt_encoder *encoder = &dfix->encoder; in event_tsx_cutoff_fail()
1819 ptu_int_eq(errcode, -pte_eos); in event_tsx_cutoff_fail()
1827 struct pt_query_decoder *decoder = &dfix->decoder; in event_skip_tip_fail()
1828 struct pt_encoder *encoder = &dfix->encoder; in event_skip_tip_fail()
1833 pos = encoder->pos; in event_skip_tip_fail()
1835 /* We omit the actual event - we don't get that far, anyway. */ in event_skip_tip_fail()
1840 ptu_int_eq(errcode, -pte_bad_query); in event_skip_tip_fail()
1841 ptu_ptr_eq(decoder->pos, pos); in event_skip_tip_fail()
1849 struct pt_query_decoder *decoder = &dfix->decoder; in event_skip_tnt_8_fail()
1850 struct pt_encoder *encoder = &dfix->encoder; in event_skip_tnt_8_fail()
1856 /* We omit the actual event - we don't get that far, anyway. */ in event_skip_tnt_8_fail()
1861 ptu_int_eq(errcode, -pte_bad_query); in event_skip_tnt_8_fail()
1870 struct pt_query_decoder *decoder = &dfix->decoder; in event_skip_tnt_64_fail()
1871 struct pt_encoder *encoder = &dfix->encoder; in event_skip_tnt_64_fail()
1877 /* We omit the actual event - we don't get that far, anyway. */ in event_skip_tnt_64_fail()
1882 ptu_int_eq(errcode, -pte_bad_query); in event_skip_tnt_64_fail()
1889 enum pt_ip_compression ipc) in sync_event() argument
1891 struct pt_query_decoder *decoder = &dfix->decoder; in sync_event()
1892 struct pt_encoder *encoder = &dfix->encoder; in sync_event()
1898 packet.ipc = ipc; in sync_event()
1901 pt_last_ip_init(&dfix->last_ip); in sync_event()
1902 pt_last_ip_update_ip(&dfix->last_ip, &packet, &dfix->config); in sync_event()
1906 pt_encode_fup(encoder, packet.ip, packet.ipc); in sync_event()
1910 switch (ipc) { in sync_event()
1921 ptu_uint_eq(addr, dfix->last_ip.ip); in sync_event()
1928 if (ipc == pt_ipc_suppressed) in sync_event()
1932 ptu_uint_eq(event.variant.tsx.ip, dfix->last_ip.ip); in sync_event()
1945 struct pt_query_decoder *decoder = &dfix->decoder; in sync_event_cutoff_fail()
1946 struct pt_encoder *encoder = &dfix->encoder; in sync_event_cutoff_fail()
1956 ptu_int_eq(errcode, -pte_eos); in sync_event_cutoff_fail()
1964 struct pt_query_decoder *decoder = &dfix->decoder; in sync_event_incomplete_fail()
1965 struct pt_encoder *encoder = &dfix->encoder; in sync_event_incomplete_fail()
1972 ptu_int_eq(errcode, -pte_eos); in sync_event_incomplete_fail()
1978 enum pt_ip_compression ipc) in sync_ovf_event() argument
1980 struct pt_query_decoder *decoder = &dfix->decoder; in sync_ovf_event()
1981 struct pt_encoder *encoder = &dfix->encoder; in sync_ovf_event()
1987 fup.ipc = pt_ipc_sext_48; in sync_ovf_event()
1990 ovf.ipc = ipc; in sync_ovf_event()
1993 pt_last_ip_init(&dfix->last_ip); in sync_ovf_event()
1994 pt_last_ip_update_ip(&dfix->last_ip, &ovf, &dfix->config); in sync_ovf_event()
1997 pt_encode_fup(encoder, fup.ip, fup.ipc); in sync_ovf_event()
2001 pt_encode_fup(encoder, ovf.ip, ovf.ipc); in sync_ovf_event()
2018 switch (ipc) { in sync_ovf_event()
2020 ptu_int_eq(errcode, -pte_noip); in sync_ovf_event()
2030 ptu_uint_eq(event.variant.overflow.ip, dfix->last_ip.ip); in sync_ovf_event()
2042 struct pt_query_decoder *decoder = &dfix->decoder; in sync_ovf_event_cutoff_fail()
2043 struct pt_encoder *encoder = &dfix->encoder; in sync_ovf_event_cutoff_fail()
2053 ptu_int_eq(errcode, -pte_eos); in sync_ovf_event_cutoff_fail()
2060 struct pt_query_decoder *decoder = &dfix->decoder; in time_null_fail()
2065 ptu_int_eq(errcode, -pte_invalid); in time_null_fail()
2068 ptu_int_eq(errcode, -pte_invalid); in time_null_fail()
2071 ptu_int_eq(errcode, -pte_invalid); in time_null_fail()
2078 struct pt_query_decoder *decoder = &dfix->decoder; in time_initial()
2083 ptu_int_eq(errcode, -pte_no_time); in time_initial()
2090 struct pt_query_decoder *decoder = &dfix->decoder; in time()
2096 decoder->last_time.have_tsc = 1; in time()
2097 decoder->last_time.tsc = exp; in time()
2108 struct pt_query_decoder *decoder = &dfix->decoder; in cbr_null()
2113 ptu_int_eq(errcode, -pte_invalid); in cbr_null()
2116 ptu_int_eq(errcode, -pte_invalid); in cbr_null()
2119 ptu_int_eq(errcode, -pte_invalid); in cbr_null()
2126 struct pt_query_decoder *decoder = &dfix->decoder; in cbr_initial()
2131 ptu_int_eq(errcode, -pte_no_cbr); in cbr_initial()
2138 struct pt_query_decoder *decoder = &dfix->decoder; in cbr()
2142 decoder->last_time.have_cbr = 1; in cbr()
2143 decoder->last_time.cbr = 42; in cbr()
2152 /* Test that end-of-stream is indicated correctly when the stream ends with a
2153 * partial non-query-relevant packet.
2157 struct pt_query_decoder *decoder = &dfix->decoder; in indir_cyc_cutoff()
2158 struct pt_encoder *encoder = &dfix->encoder; in indir_cyc_cutoff()
2174 /* Test that end-of-stream is indicated correctly when the stream ends with a
2175 * partial non-query-relevant packet.
2179 struct pt_query_decoder *decoder = &dfix->decoder; in cond_cyc_cutoff()
2180 struct pt_encoder *encoder = &dfix->encoder; in cond_cyc_cutoff()
2195 /* Test that end-of-stream is indicated correctly when the stream ends with a
2196 * partial non-query-relevant packet.
2200 struct pt_query_decoder *decoder = &dfix->decoder; in event_cyc_cutoff()
2201 struct pt_encoder *encoder = &dfix->encoder; in event_cyc_cutoff()
2219 struct pt_config *config = &dfix->config; in ptu_dfix_init()
2222 (void) memset(dfix->buffer, 0, sizeof(dfix->buffer)); in ptu_dfix_init()
2226 config->begin = dfix->buffer; in ptu_dfix_init()
2227 config->end = dfix->buffer + sizeof(dfix->buffer); in ptu_dfix_init()
2229 errcode = pt_encoder_init(&dfix->encoder, config); in ptu_dfix_init()
2232 errcode = pt_qry_decoder_init(&dfix->decoder, config); in ptu_dfix_init()
2235 dfix->decoder.ip.ip = pt_dfix_bad_ip; in ptu_dfix_init()
2236 dfix->decoder.ip.have_ip = 1; in ptu_dfix_init()
2237 dfix->decoder.ip.suppressed = 0; in ptu_dfix_init()
2239 dfix->last_ip = dfix->decoder.ip; in ptu_dfix_init()
2241 if (dfix->header) in ptu_dfix_init()
2242 dfix->header(dfix); in ptu_dfix_init()
2249 pt_qry_decoder_fini(&dfix->decoder); in ptu_dfix_fini()
2250 pt_encoder_fini(&dfix->encoder); in ptu_dfix_fini()
2259 struct pt_query_decoder *decoder = &dfix->decoder; in ptu_dfix_header_sync()
2262 decoder->pos = decoder->config.begin; in ptu_dfix_header_sync()
2273 struct pt_query_decoder *decoder = &dfix->decoder; in ptu_dfix_header_indir()
2274 struct pt_encoder *encoder = &dfix->encoder; in ptu_dfix_header_indir()
2282 decoder->pos = decoder->config.begin; in ptu_dfix_header_indir()
2293 struct pt_query_decoder *decoder = &dfix->decoder; in ptu_dfix_header_indir_psb()
2294 struct pt_encoder *encoder = &dfix->encoder; in ptu_dfix_header_indir_psb()
2298 * may want to update last-ip, which requires a last-ip, of course. in ptu_dfix_header_indir_psb()
2312 decoder->pos = decoder->config.begin; in ptu_dfix_header_indir_psb()
2323 struct pt_query_decoder *decoder = &dfix->decoder; in ptu_dfix_header_cond()
2324 struct pt_encoder *encoder = &dfix->encoder; in ptu_dfix_header_cond()
2328 * may want to update last-ip, which requires a last-ip, of course. in ptu_dfix_header_cond()
2342 decoder->pos = decoder->config.begin; in ptu_dfix_header_cond()
2353 struct pt_query_decoder *decoder = &dfix->decoder; in ptu_dfix_header_event()
2354 struct pt_encoder *encoder = &dfix->encoder; in ptu_dfix_header_event()
2362 decoder->pos = decoder->config.begin; in ptu_dfix_header_event()
2373 struct pt_query_decoder *decoder = &dfix->decoder; in ptu_dfix_header_event_psb()
2374 struct pt_encoder *encoder = &dfix->encoder; in ptu_dfix_header_event_psb()
2378 * may want to update last-ip, which requires a last-ip, of course. in ptu_dfix_header_event_psb()
2392 decoder->pos = decoder->config.begin; in ptu_dfix_header_event_psb()