Lines Matching refs:sve
71 struct user_sve_header *sve; in get_sve() local
73 size_t sz = sizeof *sve; in get_sve()
93 sve = *buf; in get_sve()
94 if (sve->size <= sz) in get_sve()
97 sz = sve->size; in get_sve()
100 return sve; in get_sve()
106 static int set_sve(pid_t pid, const struct user_sve_header *sve) in set_sve() argument
110 iov.iov_base = (void *)sve; in set_sve()
111 iov.iov_len = sve->size; in set_sve()
115 static void dump_sve_regs(const struct user_sve_header *sve, unsigned int num, in dump_sve_regs() argument
121 if ((sve->flags & SVE_PT_REGS_MASK) != SVE_PT_REGS_SVE) in dump_sve_regs()
124 if (vlmax > sve->vl) in dump_sve_regs()
125 vlmax = sve->vl; in dump_sve_regs()
127 vq = sve_vq_from_vl(sve->vl); in dump_sve_regs()
130 dump((const char *)sve + SVE_PT_SVE_ZREG_OFFSET(vq, i), in dump_sve_regs()
132 printf("%s\n", vlmax == sve->vl ? "" : " ..."); in dump_sve_regs()
144 struct user_sve_header *sve, *new_sve; in do_parent() local
206 sve = get_sve(pid, &svebuf, &svebufsz); in do_parent()
207 if (!sve) { in do_parent()
219 ksft_test_result((sve->flags & SVE_PT_REGS_MASK) == SVE_PT_REGS_FPSIMD, in do_parent()
221 if ((sve->flags & SVE_PT_REGS_MASK) != SVE_PT_REGS_FPSIMD) in do_parent()
224 fpsimd = (struct user_fpsimd_state *)((char *)sve + in do_parent()
233 if (set_sve(pid, sve)) { in do_parent()
244 vq = sve_vq_from_vl(sve->vl); in do_parent()
254 *new_sve = *sve; in do_parent()