test_config
static struct test_config *test_fw_config;
test_fw_config = kzalloc_obj(struct test_config);
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
static int config_copy_test_driver_name(struct test_config *config,
static int config_copy_test_fs(struct test_config *config, const char *name,
static void __kmod_config_free(struct test_config *config)
struct test_config *config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
struct test_config *config = &test_dev->config;
TEST_ASSERT_VAL("wrong config", test_config(evsel, PERF_COUNT_HW_BRANCH_INSTRUCTIONS));
TEST_ASSERT_VAL("wrong config", test_config(evsel, 0x1a));
TEST_ASSERT_VAL("wrong config", test_config(evsel, PERF_COUNT_HW_CPU_CYCLES));
TEST_ASSERT_VAL("wrong config", test_config(evsel, PERF_COUNT_HW_CPU_CYCLES));
TEST_ASSERT_VAL("wrong config", test_config(evsel, PERF_COUNT_HW_CPU_CYCLES));
TEST_ASSERT_VAL("wrong config", test_config(evsel, PERF_COUNT_HW_BRANCH_INSTRUCTIONS));
TEST_ASSERT_VAL("wrong config", test_config(evsel, PERF_COUNT_HW_CPU_CYCLES));
TEST_ASSERT_VAL("wrong config", test_config(evsel, PERF_COUNT_HW_CPU_CYCLES));
TEST_ASSERT_VAL("wrong config", test_config(evsel, PERF_COUNT_HW_CPU_CYCLES));
static bool sve_sme_same(struct test_config *config)
static bool sve_write_supported(struct test_config *config)
static bool sve_write_fpsimd_supported(struct test_config *config)
static void fpsimd_write_expected(struct test_config *config)
static void fpsimd_write(pid_t child, struct test_config *test_config)
static bool fpmr_write_supported(struct test_config *config)
static void fpmr_write_expected(struct test_config *config)
static void fpmr_write(pid_t child, struct test_config *config)
static void sve_write_expected(struct test_config *config)
static void sve_write_sve(pid_t child, struct test_config *config)
static void sve_write_fpsimd(pid_t child, struct test_config *config)
static bool za_write_supported(struct test_config *config)
static void za_write_expected(struct test_config *config)
static void za_write(pid_t child, struct test_config *config)
static bool zt_write_supported(struct test_config *config)
static void zt_write_expected(struct test_config *config)
static void zt_write(pid_t child, struct test_config *config)
static void run_test(struct test_definition *test, struct test_config *config)
struct test_config *config)
struct test_config test_config;
test_config.sme_vl_in = sme_vls[0];
test_config.sme_vl_expected = sme_vls[0];
test_config.svcr_in = 0;
test_config.svcr_expected = 0;
test_config.sve_vl_in = sve_vls[i];
test_config.sve_vl_expected = sve_vls[j];
&test_config);
&test_config);
struct test_config test_config;
test_config.sve_vl_in = sve_vls[0];
test_config.sve_vl_expected = sve_vls[0];
test_config.sme_vl_in = sme_vls[i];
test_config.sme_vl_expected = sme_vls[j];
test_config.svcr_in = svcr_combinations[k].svcr_in;
test_config.svcr_expected = svcr_combinations[k].svcr_expected;
&test_config);
&test_config);
&test_config);
&test_config);
struct test_config test_config;
test_config.sve_vl_in = 0;
test_config.sve_vl_expected = 0;
test_config.sme_vl_in = 0;
test_config.sme_vl_expected = 0;
test_config.svcr_in = 0;
test_config.svcr_expected = 0;
&test_config);
bool (*supported)(struct test_config *config);
void (*set_expected_values)(struct test_config *config);
void (*modify_values)(pid_t child, struct test_config *test_config);
static int vl_in(struct test_config *config)
static int vl_expected(struct test_config *config)
static void run_child(struct test_config *config)
static bool check_ptrace_values_sve(pid_t child, struct test_config *config)
static bool check_ptrace_values_ssve(pid_t child, struct test_config *config)
static bool check_ptrace_values_za(pid_t child, struct test_config *config)
static bool check_ptrace_values_zt(pid_t child, struct test_config *config)
static bool check_ptrace_values_fpmr(pid_t child, struct test_config *config)
static bool check_ptrace_values(pid_t child, struct test_config *config)
struct test_config *config)
static void set_initial_values(struct test_config *config)
static bool check_memory_values(struct test_config *config)
static const struct test_config ksym_config = {
static const struct test_config kfunc_config = {
static void test_bpf_mod_race_config(const struct test_config *config)
test_config(c->sotype, c->family, c->inany);