Lines Matching +full:event +full:-

2  * Copyright (c) 2013-2019, Intel Corporation
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
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()
133 struct pt_event event; in event_not_synced() local
136 errcode = pt_qry_event(decoder, &event, sizeof(event)); 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()
384 struct pt_event event; in decode_sync_backward() local
388 /* Check that we can use sync_backward to re-sync at the current trace in decode_sync_backward()
414 errcode = pt_qry_event(decoder, &event, sizeof(event)); in decode_sync_backward()
416 ptu_int_eq(event.type, ptev_exec_mode); in decode_sync_backward()
418 errcode = pt_qry_event(decoder, &event, sizeof(event)); in decode_sync_backward()
420 ptu_int_eq(event.type, ptev_exec_mode); 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()
479 struct pt_query_decoder *decoder = &dfix->decoder; in indir()
480 struct pt_encoder *encoder = &dfix->encoder; in indir()
487 pt_last_ip_update_ip(&dfix->last_ip, &packet, &dfix->config); in indir()
499 ptu_uint_eq(addr, dfix->last_ip.ip); in indir()
508 struct pt_query_decoder *decoder = &dfix->decoder; in indir_tnt()
509 struct pt_encoder *encoder = &dfix->encoder; in indir_tnt()
516 pt_last_ip_update_ip(&dfix->last_ip, &packet, &dfix->config); 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()
848 struct pt_event event; in event_null() local
851 errcode = pt_qry_event(NULL, &event, sizeof(event)); in event_null()
852 ptu_int_eq(errcode, -pte_invalid); in event_null()
854 errcode = pt_qry_event(decoder, NULL, sizeof(event)); 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()
864 struct pt_event event; in event_bad_size() local
867 errcode = pt_qry_event(decoder, &event, 4); 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()
878 struct pt_event event; in event_small_size() member
889 errcode = pt_qry_event(decoder, &variant.event, 40); in event_small_size()
891 ptu_int_eq(variant.event.type, ptev_enabled); 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()
902 struct pt_event event; in event_big_size() member
913 errcode = pt_qry_event(decoder, &variant.event, sizeof(variant.buffer)); in event_big_size()
915 ptu_int_eq(variant.event.type, ptev_enabled); in event_big_size()
916 ptu_uint_eq(variant.buffer[sizeof(variant.event)], 0xcd); 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()
925 struct pt_event event; in event_empty() local
928 decoder->pos = config->end; in event_empty()
930 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_empty()
931 ptu_int_eq(errcode, -pte_eos); in event_empty()
940 struct pt_query_decoder *decoder = &dfix->decoder; in event_enabled()
941 struct pt_encoder *encoder = &dfix->encoder; in event_enabled()
943 struct pt_event event; in event_enabled() local
948 pt_last_ip_update_ip(&dfix->last_ip, &packet, &dfix->config); in event_enabled()
954 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_enabled()
956 ptu_int_eq(errcode, -pte_bad_packet); in event_enabled()
959 ptu_int_eq(event.type, ptev_enabled); in event_enabled()
960 ptu_uint_eq(event.variant.enabled.ip, dfix->last_ip.ip); in event_enabled()
963 ptu_int_eq(event.has_tsc, 0); in event_enabled()
965 ptu_int_eq(event.has_tsc, 1); in event_enabled()
966 ptu_uint_eq(event.tsc, tsc); 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()
978 struct pt_event event; in event_enabled_cutoff_fail() local
986 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_enabled_cutoff_fail()
987 ptu_int_eq(errcode, -pte_eos); in event_enabled_cutoff_fail()
996 struct pt_query_decoder *decoder = &dfix->decoder; in event_disabled()
997 struct pt_encoder *encoder = &dfix->encoder; in event_disabled()
999 struct pt_event event; in event_disabled() local
1004 pt_last_ip_update_ip(&dfix->last_ip, &packet, &dfix->config); in event_disabled()
1010 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_disabled()
1013 ptu_uint_ne(event.ip_suppressed, 0); in event_disabled()
1015 ptu_uint_eq(event.ip_suppressed, 0); in event_disabled()
1016 ptu_uint_eq(event.variant.disabled.ip, dfix->last_ip.ip); in event_disabled()
1018 ptu_int_eq(event.type, ptev_disabled); in event_disabled()
1021 ptu_int_eq(event.has_tsc, 0); in event_disabled()
1023 ptu_int_eq(event.has_tsc, 1); in event_disabled()
1024 ptu_uint_eq(event.tsc, tsc); 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()
1035 struct pt_event event; in event_disabled_cutoff_fail() local
1043 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_disabled_cutoff_fail()
1044 ptu_int_eq(errcode, -pte_eos); in event_disabled_cutoff_fail()
1053 struct pt_query_decoder *decoder = &dfix->decoder; in event_async_disabled()
1054 struct pt_encoder *encoder = &dfix->encoder; in event_async_disabled()
1056 struct pt_event event; in event_async_disabled() local
1061 pt_last_ip_update_ip(&dfix->last_ip, &fup, &dfix->config); in event_async_disabled()
1065 pt_last_ip_update_ip(&dfix->last_ip, &tip, &dfix->config); in event_async_disabled()
1072 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_async_disabled()
1075 ptu_uint_ne(event.ip_suppressed, 0); in event_async_disabled()
1077 ptu_uint_eq(event.ip_suppressed, 0); in event_async_disabled()
1078 ptu_uint_eq(event.variant.async_disabled.ip, dfix->last_ip.ip); in event_async_disabled()
1080 ptu_int_eq(event.type, ptev_async_disabled); in event_async_disabled()
1081 ptu_uint_eq(event.variant.async_disabled.at, fup.ip); in event_async_disabled()
1084 ptu_int_eq(event.has_tsc, 0); in event_async_disabled()
1086 ptu_int_eq(event.has_tsc, 1); in event_async_disabled()
1087 ptu_uint_eq(event.tsc, tsc); 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()
1098 struct pt_event event; in event_async_disabled_suppressed_fail() local
1106 errcode = pt_qry_event(decoder, &event, sizeof(event)); 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()
1117 struct pt_event event; in event_async_disabled_cutoff_fail_a() local
1127 errcode = pt_qry_event(decoder, &event, sizeof(event)); 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()
1138 struct pt_event event; in event_async_disabled_cutoff_fail_b() local
1146 errcode = pt_qry_event(decoder, &event, sizeof(event)); 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()
1157 struct pt_event event; in event_async_branch_suppressed_fail() local
1164 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_async_branch_suppressed_fail()
1165 ptu_int_eq(errcode, -pte_ip_suppressed); in event_async_branch_suppressed_fail()
1174 struct pt_query_decoder *decoder = &dfix->decoder; in event_async_branch()
1175 struct pt_encoder *encoder = &dfix->encoder; in event_async_branch()
1177 struct pt_event event; in event_async_branch() local
1182 pt_last_ip_update_ip(&dfix->last_ip, &fup, &dfix->config); in event_async_branch()
1186 pt_last_ip_update_ip(&dfix->last_ip, &tip, &dfix->config); in event_async_branch()
1193 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_async_branch()
1196 ptu_uint_ne(event.ip_suppressed, 0); in event_async_branch()
1198 ptu_uint_eq(event.ip_suppressed, 0); in event_async_branch()
1199 ptu_uint_eq(event.variant.async_branch.to, dfix->last_ip.ip); in event_async_branch()
1201 ptu_int_eq(event.type, ptev_async_branch); in event_async_branch()
1202 ptu_uint_eq(event.variant.async_branch.from, fup.ip); in event_async_branch()
1205 ptu_int_eq(event.has_tsc, 0); in event_async_branch()
1207 ptu_int_eq(event.has_tsc, 1); in event_async_branch()
1208 ptu_uint_eq(event.tsc, tsc); 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()
1219 struct pt_event event; in event_async_branch_cutoff_fail_a() local
1228 errcode = pt_qry_event(decoder, &event, sizeof(event)); 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()
1239 struct pt_event event; in event_async_branch_cutoff_fail_b() local
1247 errcode = pt_qry_event(decoder, &event, sizeof(event)); 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()
1258 struct pt_event event; in event_paging() local
1266 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_paging()
1268 ptu_int_eq(event.type, ptev_paging); in event_paging()
1269 ptu_uint_eq(event.variant.paging.cr3, cr3); in event_paging()
1270 ptu_uint_eq(event.variant.paging.non_root, (flags & pt_pl_pip_nr) != 0); in event_paging()
1273 ptu_int_eq(event.has_tsc, 0); in event_paging()
1275 ptu_int_eq(event.has_tsc, 1); in event_paging()
1276 ptu_uint_eq(event.tsc, tsc); 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()
1287 struct pt_event event; in event_paging_cutoff_fail() local
1295 errcode = pt_qry_event(decoder, &event, sizeof(event)); 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()
1307 struct pt_event event; in event_async_paging() local
1318 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_async_paging()
1320 ptu_int_eq(event.type, ptev_async_branch); in event_async_paging()
1321 ptu_uint_eq(event.variant.async_branch.from, from); in event_async_paging()
1322 ptu_uint_eq(event.variant.async_branch.to, to); in event_async_paging()
1325 ptu_int_eq(event.has_tsc, 0); in event_async_paging()
1327 ptu_int_eq(event.has_tsc, 1); in event_async_paging()
1328 ptu_uint_eq(event.tsc, tsc); in event_async_paging()
1331 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_async_paging()
1333 ptu_int_eq(event.type, ptev_async_paging); in event_async_paging()
1334 ptu_uint_eq(event.variant.async_paging.cr3, cr3); in event_async_paging()
1335 ptu_uint_eq(event.variant.async_paging.non_root, in event_async_paging()
1337 ptu_uint_eq(event.variant.async_paging.ip, to); in event_async_paging()
1340 ptu_int_eq(event.has_tsc, 0); in event_async_paging()
1342 ptu_int_eq(event.has_tsc, 1); in event_async_paging()
1343 ptu_uint_eq(event.tsc, tsc); 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()
1355 struct pt_event event; in event_async_paging_suppressed() local
1365 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_async_paging_suppressed()
1367 ptu_uint_ne(event.ip_suppressed, 0); in event_async_paging_suppressed()
1368 ptu_int_eq(event.type, ptev_async_branch); in event_async_paging_suppressed()
1369 ptu_uint_eq(event.variant.async_branch.from, from); in event_async_paging_suppressed()
1372 ptu_int_eq(event.has_tsc, 0); in event_async_paging_suppressed()
1374 ptu_int_eq(event.has_tsc, 1); in event_async_paging_suppressed()
1375 ptu_uint_eq(event.tsc, tsc); in event_async_paging_suppressed()
1378 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_async_paging_suppressed()
1380 ptu_uint_ne(event.ip_suppressed, 0); in event_async_paging_suppressed()
1381 ptu_int_eq(event.type, ptev_async_paging); in event_async_paging_suppressed()
1382 ptu_uint_eq(event.variant.async_paging.cr3, cr3); in event_async_paging_suppressed()
1383 ptu_uint_eq(event.variant.async_paging.non_root, in event_async_paging_suppressed()
1387 ptu_int_eq(event.has_tsc, 0); in event_async_paging_suppressed()
1389 ptu_int_eq(event.has_tsc, 1); in event_async_paging_suppressed()
1390 ptu_uint_eq(event.tsc, tsc); 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()
1401 struct pt_event event; in event_async_paging_cutoff_fail() local
1410 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_async_paging_cutoff_fail()
1411 ptu_int_eq(errcode, -pte_eos); in event_async_paging_cutoff_fail()
1420 struct pt_query_decoder *decoder = &dfix->decoder; in event_overflow_fup()
1421 struct pt_encoder *encoder = &dfix->encoder; in event_overflow_fup()
1422 struct pt_event event; in event_overflow_fup() local
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()
1437 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_overflow_fup()
1440 ptu_int_eq(errcode, -pte_noip); in event_overflow_fup()
1449 ptu_int_eq(event.type, ptev_overflow); in event_overflow_fup()
1450 ptu_uint_eq(event.variant.overflow.ip, dfix->last_ip.ip); in event_overflow_fup()
1453 ptu_int_eq(event.has_tsc, 0); in event_overflow_fup()
1455 ptu_int_eq(event.has_tsc, 1); in event_overflow_fup()
1456 ptu_uint_eq(event.tsc, tsc); in event_overflow_fup()
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()
1470 struct pt_event event; in event_overflow_tip_pge() local
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()
1485 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_overflow_tip_pge()
1487 ptu_int_eq(event.type, ptev_overflow); in event_overflow_tip_pge()
1488 ptu_uint_ne(event.ip_suppressed, 0); in event_overflow_tip_pge()
1491 ptu_int_eq(event.has_tsc, 0); in event_overflow_tip_pge()
1493 ptu_int_eq(event.has_tsc, 1); in event_overflow_tip_pge()
1494 ptu_uint_eq(event.tsc, tsc); in event_overflow_tip_pge()
1497 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_overflow_tip_pge()
1500 ptu_int_eq(errcode, -pte_bad_packet); in event_overflow_tip_pge()
1509 ptu_int_eq(event.type, ptev_enabled); in event_overflow_tip_pge()
1510 ptu_uint_eq(event.variant.enabled.ip, dfix->last_ip.ip); in event_overflow_tip_pge()
1513 ptu_int_eq(event.has_tsc, 0); in event_overflow_tip_pge()
1515 ptu_int_eq(event.has_tsc, 1); in event_overflow_tip_pge()
1516 ptu_uint_eq(event.tsc, tsc); 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()
1529 struct pt_event event; in event_overflow_cutoff_fail() local
1537 errcode = pt_qry_event(decoder, &event, sizeof(event)); 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()
1548 struct pt_event event; in event_stop() local
1555 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_stop()
1557 ptu_int_eq(event.type, ptev_stop); in event_stop()
1560 ptu_int_eq(event.has_tsc, 0); in event_stop()
1562 ptu_int_eq(event.has_tsc, 1); in event_stop()
1563 ptu_uint_eq(event.tsc, tsc); in event_stop()
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()
1577 struct pt_event event; in event_exec_mode_tip() local
1583 pt_last_ip_update_ip(&dfix->last_ip, &packet, &dfix->config); in event_exec_mode_tip()
1590 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_exec_mode_tip()
1593 ptu_uint_ne(event.ip_suppressed, 0); in event_exec_mode_tip()
1595 ptu_uint_eq(event.ip_suppressed, 0); in event_exec_mode_tip()
1596 ptu_uint_eq(event.variant.exec_mode.ip, dfix->last_ip.ip); in event_exec_mode_tip()
1598 ptu_int_eq(event.type, ptev_exec_mode); in event_exec_mode_tip()
1599 ptu_int_eq(event.variant.exec_mode.mode, mode); in event_exec_mode_tip()
1602 ptu_int_eq(event.has_tsc, 0); in event_exec_mode_tip()
1604 ptu_int_eq(event.has_tsc, 1); in event_exec_mode_tip()
1605 ptu_uint_eq(event.tsc, tsc); 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()
1624 struct pt_event event; in event_exec_mode_tip_cutoff_fail() local
1633 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_exec_mode_tip_cutoff_fail()
1634 ptu_int_eq(errcode, -pte_eos); in event_exec_mode_tip_cutoff_fail()
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()
1647 struct pt_event event; in event_exec_mode_tip_pge() local
1653 pt_last_ip_update_ip(&dfix->last_ip, &packet, &dfix->config); in event_exec_mode_tip_pge()
1659 decoder->enabled = 0; in event_exec_mode_tip_pge()
1661 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_exec_mode_tip_pge()
1663 ptu_int_eq(errcode, -pte_bad_packet); in event_exec_mode_tip_pge()
1667 ptu_int_eq(event.type, ptev_enabled); in event_exec_mode_tip_pge()
1668 ptu_uint_eq(event.variant.enabled.ip, dfix->last_ip.ip); in event_exec_mode_tip_pge()
1671 ptu_int_eq(event.has_tsc, 0); in event_exec_mode_tip_pge()
1673 ptu_int_eq(event.has_tsc, 1); in event_exec_mode_tip_pge()
1674 ptu_uint_eq(event.tsc, tsc); in event_exec_mode_tip_pge()
1677 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_exec_mode_tip_pge()
1679 ptu_int_eq(event.type, ptev_exec_mode); in event_exec_mode_tip_pge()
1680 ptu_int_eq(event.variant.exec_mode.mode, mode); 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()
1684 ptu_int_eq(event.has_tsc, 0); in event_exec_mode_tip_pge()
1686 ptu_int_eq(event.has_tsc, 1); in event_exec_mode_tip_pge()
1687 ptu_uint_eq(event.tsc, tsc); 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()
1699 struct pt_event event; in event_exec_mode_tip_pge_cutoff_fail() local
1708 errcode = pt_qry_event(decoder, &event, sizeof(event)); 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()
1719 struct pt_event event; in event_exec_mode_cutoff_fail() local
1727 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_exec_mode_cutoff_fail()
1728 ptu_int_eq(errcode, -pte_eos); in event_exec_mode_cutoff_fail()
1737 struct pt_query_decoder *decoder = &dfix->decoder; in event_tsx_fup()
1738 struct pt_encoder *encoder = &dfix->encoder; in event_tsx_fup()
1740 struct pt_event event; in event_tsx_fup() local
1746 pt_last_ip_update_ip(&dfix->last_ip, &fup, &dfix->config); in event_tsx_fup()
1757 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_tsx_fup()
1760 ptu_uint_ne(event.ip_suppressed, 0); in event_tsx_fup()
1762 ptu_uint_eq(event.ip_suppressed, 0); in event_tsx_fup()
1763 ptu_uint_eq(event.variant.tsx.ip, dfix->last_ip.ip); in event_tsx_fup()
1765 ptu_int_eq(event.type, ptev_tsx); in event_tsx_fup()
1766 ptu_int_eq(event.variant.tsx.speculative, in event_tsx_fup()
1768 ptu_int_eq(event.variant.tsx.aborted, in event_tsx_fup()
1772 ptu_int_eq(event.has_tsc, 0); in event_tsx_fup()
1774 ptu_int_eq(event.has_tsc, 1); in event_tsx_fup()
1775 ptu_uint_eq(event.tsc, tsc); 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()
1790 struct pt_event event; in event_tsx_fup_cutoff_fail() local
1799 errcode = pt_qry_event(decoder, &event, sizeof(event)); 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()
1810 struct pt_event event; in event_tsx_cutoff_fail() local
1818 errcode = pt_qry_event(decoder, &event, sizeof(event)); 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()
1829 struct pt_event event; in event_skip_tip_fail() local
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()
1839 errcode = pt_qry_event(decoder, &event, sizeof(event)); 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()
1851 struct pt_event event; in event_skip_tnt_8_fail() local
1856 /* We omit the actual event - we don't get that far, anyway. */ in event_skip_tnt_8_fail()
1860 errcode = pt_qry_event(decoder, &event, sizeof(event)); 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()
1872 struct pt_event event; in event_skip_tnt_64_fail() local
1877 /* We omit the actual event - we don't get that far, anyway. */ in event_skip_tnt_64_fail()
1881 errcode = pt_qry_event(decoder, &event, sizeof(event)); in event_skip_tnt_64_fail()
1882 ptu_int_eq(errcode, -pte_bad_query); in event_skip_tnt_64_fail()
1891 struct pt_query_decoder *decoder = &dfix->decoder; in sync_event()
1892 struct pt_encoder *encoder = &dfix->encoder; in sync_event()
1894 struct pt_event event; in sync_event() local
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()
1921 ptu_uint_eq(addr, dfix->last_ip.ip); in sync_event()
1925 errcode = pt_qry_event(decoder, &event, sizeof(event)); in sync_event()
1927 ptu_uint_ne(event.status_update, 0); in sync_event()
1929 ptu_uint_ne(event.ip_suppressed, 0); in sync_event()
1931 ptu_uint_eq(event.ip_suppressed, 0); in sync_event()
1932 ptu_uint_eq(event.variant.tsx.ip, dfix->last_ip.ip); in sync_event()
1934 ptu_int_eq(event.type, ptev_tsx); in sync_event()
1935 ptu_int_eq(event.variant.tsx.speculative, 1); in sync_event()
1936 ptu_int_eq(event.variant.tsx.aborted, 0); in sync_event()
1937 ptu_int_eq(event.has_tsc, 0); 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()
1980 struct pt_query_decoder *decoder = &dfix->decoder; in sync_ovf_event()
1981 struct pt_encoder *encoder = &dfix->encoder; in sync_ovf_event()
1983 struct pt_event event; in sync_ovf_event() local
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()
2007 errcode = pt_qry_event(decoder, &event, sizeof(event)); in sync_ovf_event()
2009 ptu_uint_ne(event.status_update, 0); in sync_ovf_event()
2010 ptu_int_eq(event.type, ptev_tsx); in sync_ovf_event()
2011 ptu_int_eq(event.variant.tsx.speculative, 0); in sync_ovf_event()
2012 ptu_int_eq(event.variant.tsx.aborted, 0); in sync_ovf_event()
2013 ptu_uint_eq(event.variant.tsx.ip, fup.ip); in sync_ovf_event()
2014 ptu_int_eq(event.has_tsc, 1); in sync_ovf_event()
2015 ptu_uint_eq(event.tsc, 0x1000); in sync_ovf_event()
2017 errcode = pt_qry_event(decoder, &event, sizeof(event)); in sync_ovf_event()
2020 ptu_int_eq(errcode, -pte_noip); in sync_ovf_event()
2029 ptu_int_eq(event.type, ptev_overflow); in sync_ovf_event()
2030 ptu_uint_eq(event.variant.overflow.ip, dfix->last_ip.ip); in sync_ovf_event()
2031 ptu_int_eq(event.has_tsc, 1); in sync_ovf_event()
2032 ptu_uint_eq(event.tsc, 0x1000); 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()
2202 struct pt_event event; in event_cyc_cutoff() local
2211 errcode = pt_qry_event(decoder, &event, sizeof(event)); 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()
2348 * should be skipped for event queries.
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()
2368 * should be skipped for event queries including a PSB.
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()