test_harness
rc |= test_harness(test_alignment_handler_vsx_206,
rc |= test_harness(test_alignment_handler_vsx_207,
rc |= test_harness(test_alignment_handler_vsx_300,
rc |= test_harness(test_alignment_handler_vsx_prefix,
rc |= test_harness(test_alignment_handler_integer,
rc |= test_harness(test_alignment_handler_integer_206,
rc |= test_harness(test_alignment_handler_integer_prefix,
rc |= test_harness(test_alignment_handler_vmx,
rc |= test_harness(test_alignment_handler_fp,
rc |= test_harness(test_alignment_handler_fp_205,
rc |= test_harness(test_alignment_handler_fp_206,
rc |= test_harness(test_alignment_handler_fp_prefix,
return test_harness(test_copy_first_unaligned, "test_copy_first_unaligned");
return test_harness(test_futex, "futex_bench");
return test_harness(test_gettimeofday, "gettimeofday");
return test_harness(test_mmap, "mmap_bench");
return test_harness(test_cache_shape, "cache_shape");
return test_harness(test_copy_exception, str(COPY_LOOP));
return test_harness(testcase_run, "memmove");
return test_harness(test_copy_loop, str(COPY_LOOP));
err |= test_harness(dexcr_prctl_ibrtpd_test, "dexcr_prctl_ibrtpd");
err |= test_harness(dexcr_prctl_srapd_test, "dexcr_prctl_srapd");
err |= test_harness(dexcr_prctl_nphie_test, "dexcr_prctl_nphie");
err |= test_harness(hashchk_detected_test, "hashchk_detected");
err |= test_harness(hashchk_exec_random_key_test, "hashchk_exec_random_key");
err |= test_harness(hashchk_fork_share_key_test, "hashchk_fork_share_key");
err |= test_harness(hashchk_clone_share_key_test, "hashchk_clone_share_key");
err |= test_harness(dscr_default_lockstep_test, "dscr_default_lockstep_test");
err |= test_harness(dscr_default_random_test, "dscr_default_random_test");
err |= test_harness(dscr_explicit_lockstep_test, "dscr_explicit_lockstep_test");
err |= test_harness(dscr_explicit_random_test, "dscr_explicit_random_test");
return test_harness(dscr_inherit_exec, "dscr_inherit_exec_test");
return test_harness(dscr_inherit, "dscr_inherit_test");
return test_harness(dscr_sysfs, "dscr_sysfs_test");
return test_harness(dscr_sysfs_thread, "dscr_sysfs_thread_test");
return test_harness(dscr_user, "dscr_user_test");
int test_harness(int (test_function)(void), const char *name);
return test_harness(test_denormal_fpu, "fpu_denormal");
return test_harness(test_preempt_fpu, "fpu_preempt");
return test_harness(test_signal_fpu, "fpu_signal");
return test_harness(test_syscall_fpu, "syscall_fpu");
return test_harness(mma, "mma");
return test_harness(test_preempt_vmx, "vmx_preempt");
return test_harness(test_signal_vmx, "vmx_signal");
return test_harness(test_vmx_syscall, "vmx_syscall");
return test_harness(test_preempt_vsx, "vsx_preempt");
return test_harness(test_ra_error, "inject-ra-err");
return test_harness(test, "bad_accesses");
return test_harness(test, "exec_prot");
return test_harness(test_main, "hugetlb_vs_thp");
return test_harness(test, "large_vm_fork_separation");
return test_harness(test, "large_vm_gpr_corruption");
return test_harness(test, "pkey_exec_prot");
return test_harness(test, "pkey_siginfo");
return test_harness(test_prot_sao, "prot-sao");
return test_harness(test_segv_errors, "segv_errors");
return test_harness(test, "stack_expansion_ldst");
return test_harness(test, "stack_expansion_signal");
rc = test_harness(test_anon, "subpage_prot_anon");
return test_harness(test_file, "subpage_prot_file");
return test_harness(test_wild_bctr, "wild_bctr");
return test_harness(verify_energy_info, "papr_attributes");
if (test_harness(t->function, t->description))
if (test_harness(t->function, t->description))
return test_harness(count_instructions, "count_instructions");
return test_harness(count_ll_sc, "count_ll_sc");
return test_harness(back_to_back_ebbs, "back_to_back_ebbs");
return test_harness(close_clears_pmcc, "close_clears_pmcc");
return test_harness(cpu_event_pinned_vs_ebb, "cpu_event_pinned_vs_ebb");
return test_harness(cpu_event_vs_ebb, "cpu_event_vs_ebb");
return test_harness(cycles, "cycles");
return test_harness(cycles_with_freeze, "cycles_with_freeze");
return test_harness(cycles_with_mmcr2, "cycles_with_mmcr2");
return test_harness(ebb_on_child, "ebb_on_child");
return test_harness(ebb_on_willing_child, "ebb_on_willing_child");
return test_harness(ebb_vs_cpu_event, "ebb_vs_cpu_event");
return test_harness(event_attributes, "event_attributes");
return test_harness(fork_cleanup, "fork_cleanup");
return test_harness(instruction_count, "instruction_count");
return test_harness(lost_exception, "lost_exception");
return test_harness(multi_counter, "multi_counter");
return test_harness(multi_ebb_procs, "multi_ebb_procs");
return test_harness(no_handler_test,"no_handler_test");
return test_harness(pmae_handling, "pmae_handling");
return test_harness(pmc56_overflow, "pmc56_overflow");
return test_harness(reg_access, "reg_access");
return test_harness(regs_access_pmccext, "regs_access_pmccext");
return test_harness(task_event_pinned_vs_ebb, "task_event_pinned_vs_ebb");
return test_harness(task_event_vs_ebb, "task_event_vs_ebb");
return test_harness(blacklisted_events, "blacklisted_events");
return test_harness(event_alternatives_tests_p10, "event_alternatives_tests_p10");
return test_harness(event_alternatives_tests_p9, "event_alternatives_tests_p9");
return test_harness(generic_events_valid_test, "generic_events_valid_test");
return test_harness(group_constraint_cache, "group_constraint_cache");
return test_harness(group_constraint_l2l3_sel, "group_constraint_l2l3_sel");
return test_harness(group_constraint_mmcra_sample, "group_constraint_mmcra_sample");
return test_harness(group_constraint_pmc56, "group_constraint_pmc56");
return test_harness(group_constraint_pmc_count, "group_constraint_pmc_count");
return test_harness(group_constraint_radix_scope_qual,
return test_harness(group_constraint_repeat, "group_constraint_repeat");
return test_harness(group_constraint_thresh_cmp, "group_constraint_thresh_cmp");
return test_harness(group_constraint_thresh_ctl, "group_constraint_thresh_ctl");
return test_harness(group_constraint_thresh_sel, "group_constraint_thresh_sel");
return test_harness(group_constraint_unit, "group_constraint_unit");
return test_harness(group_pmc56_exclude_constraints, "group_pmc56_exclude_constraints");
return test_harness(hw_cache_event_type_test, "hw_cache_event_type_test");
return test_harness(invalid_event_code, "invalid_event_code");
return test_harness(reserved_bits_mmcra_sample_elig_mode,
return test_harness(reserved_bits_mmcra_thresh_ctl, "reserved_bits_mmcra_thresh_ctl");
return test_harness(l3_bank_test, "l3_bank_test");
return test_harness(per_event_excludes, "per_event_excludes");
return test_harness(bhrb_filter_map_test, "bhrb_filter_map_test");
return test_harness(bhrb_no_crash_wo_pmu_test, "bhrb_no_crash_wo_pmu_test");
return test_harness(check_extended_reg_test, "check_extended_reg_test");
return test_harness(intr_regs_no_crash_wo_pmu_test, "intr_regs_no_crash_wo_pmu_test");
return test_harness(mmcr0_cc56run, "mmcr0_cc56run");
return test_harness(mmcr0_exceptionbits, "mmcr0_exceptionbits");
return test_harness(mmcr0_fc56_pmc1ce, "mmcr0_fc56_pmc1ce");
return test_harness(mmcr0_fc56_pmc56, "mmcr0_fc56_pmc56");
return test_harness(mmcr0_pmccext, "mmcr0_pmccext");
return test_harness(mmcr0_pmcjce, "mmcr0_pmcjce");
return test_harness(mmcr1_comb, "mmcr1_comb");
FAIL_IF(test_harness(mmcr1_sel_unit_cache, "mmcr1_sel_unit_cache"));
return test_harness(mmcr2_fcs_fch, "mmcr2_fcs_fch");
return test_harness(mmcr2_l2l3, "mmcr2_l2l3");
return test_harness(mmcr3_src, "mmcr3_src");
return test_harness(mmcra_bhrb_any_test, "mmcra_bhrb_any_test");
return test_harness(mmcra_bhrb_cond_test, "mmcra_bhrb_cond_test");
return test_harness(mmcra_bhrb_disable_no_branch_test, "mmcra_bhrb_disable_no_branch_test");
return test_harness(mmcra_bhrb_disable_test, "mmcra_bhrb_disable_test");
return test_harness(mmcra_bhrb_ind_call_test, "mmcra_bhrb_ind_call_test");
FAIL_IF(test_harness(mmcra_thresh_cmp, "mmcra_thresh_cmp"));
return test_harness(mmcra_thresh_marked_sample, "mmcra_thresh_marked_sample");
return test_harness(test_body, "load_unaligned_zeropad");
return test_harness(core_pkey, "core_pkey");
return test_harness(perf_hwbreak, "perf_hwbreak");
return test_harness(ptrace_gpr, "ptrace_gpr");
return test_harness(ptrace_hwbreak, "ptrace-hwbreak");
err |= test_harness(same_watch_addr_test, "same_watch_addr");
err |= test_harness(perf_then_ptrace_test, "perf_then_ptrace");
return test_harness(ptrace_pkey, "ptrace_pkey");
return test_harness(ptrace_syscall, "ptrace_syscall");
return test_harness(ptrace_tar, "ptrace_tar");
return test_harness(ptrace_tm_gpr, "ptrace_tm_gpr");
return test_harness(ptrace_tm_spd_gpr, "ptrace_tm_spd_gpr");
return test_harness(ptrace_tm_spd_tar, "ptrace_tm_spd_tar");
return test_harness(ptrace_tm_spd_vsx, "ptrace_tm_spd_vsx");
return test_harness(ptrace_tm_spr, "ptrace_tm_spr");
return test_harness(ptrace_tm_tar, "ptrace_tm_tar");
return test_harness(ptrace_tm_vsx, "ptrace_tm_vsx");
return test_harness(ptrace_vsx, "ptrace_vsx");
return test_harness(entry_flush_test, "entry_flush_test");
return test_harness(rfi_flush_test, "rfi_flush_test");
return test_harness(spectre_v2_test, "spectre_v2");
return test_harness(uaccess_flush_test, "uaccess_flush_test");
return test_harness(test_restart, "sig sys restart");
return test_harness(signal_fuzzer, "signal_fuzzer");
return test_harness(test_signal, "signal");
return test_harness(test_signal_tm, "signal_tm");
return test_harness(test_sigreturn_kernel, "sigreturn_kernel");
return test_harness(test_sigreturn_unaligned, "sigreturn_unaligned");
return test_harness(test_sigreturn_vdso, "sigreturn_vdso");
return test_harness(testcases, "memcmp");
return test_harness(testcase, "strlen");
return test_harness(ipc_unmuxed, "ipc_unmuxed");
return test_harness(test, "rtas_filter");
return test_harness(test_exec, "tm_exec");
return test_harness(test_fork, "tm_fork");
return test_harness(tm_poison_test, "tm_poison_test");
return test_harness(tm_resched_dscr, "tm_resched_dscr");
return test_harness(tm_signal_context_chk_fpu, "tm_signal_context_chk_fpu");
return test_harness(tm_signal_context_chk_gpr, "tm_signal_context_chk_gpr");
return test_harness(tm_signal_context_chk, "tm_signal_context_chk_vmx");
return test_harness(tm_signal_context_chk, "tm_signal_context_chk_vsx");
return test_harness(tm_signal_context_force_tm, "tm_signal_context_force_tm");
return test_harness(tm_signal_msr_resv, "tm_signal_msr_resv");
return test_harness(tm_signal_pagefault, "tm_signal_pagefault");
return test_harness(tm_signal_sigreturn_nt, "tm_signal_sigreturn_nt");
return test_harness(tm_signal_stack, "tm_signal_stack");
return test_harness(tm_sigreturn, "tm_sigreturn");
return test_harness(tm_syscall, "tm_syscall");
return test_harness(test_tar, "tm_tar");
return test_harness(test_tmspr, "tm_tmspr");
return test_harness(tm_trap_test, "tm_trap_test");
return test_harness(tm_unavailable_test, "tm_unavailable_test");
return test_harness(tm_vmx_unavail_test, "tm_vmx_unavail_test");
return test_harness(test_vmxcopy, "tm_vmxcopy");
return test_harness(test_vphn, "test-vphn");