Home
last modified time | relevance | path

Searched refs:sve (Results 1 – 16 of 16) sorted by relevance

/Linux-v5.15/tools/testing/selftests/arm64/fp/
DMakefile4 TEST_GEN_PROGS := sve-ptrace sve-probe-vls vec-syscfg
6 rdvl-sve \
7 sve-test sve-stress \
14 rdvl-sve: rdvl-sve.o rdvl.o
15 sve-ptrace: sve-ptrace.o sve-ptrace-asm.o
16 sve-probe-vls: sve-probe-vls.o rdvl.o
17 sve-test: sve-test.o
Dsve-ptrace.c71 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
[all …]
DREADME7 sve-probe-vls - Checks the SVE vector length enumeration interface
8 sve-ptrace - Checks the SVE ptrace interface
13 sve-stress performs an SVE context switch stress test, as described
17 "sve" in the following commands.)
25 $ ./sve-stress
67 To try to reproduce the bugs that we have been observing, sve-stress
73 $ lkvm run --console=virtio -pconsole=hvc0 --sve Image
88 2) Run the sve-stress on *each* guest with the Vector-Length set to 32:
89 guest$ ./vlset --inherit 32 ./sve-stress
91 3) Run the sve-stress on the host with the maximum Vector-Length:
[all …]
D.gitignore2 rdvl-sve
3 sve-probe-vls
4 sve-ptrace
5 sve-test
Drdvl.S4 .arch_extension sve
Dsve-stress45 ./sve-test >$log &
Dsve-ptrace-asm.S6 .arch_extension sve
Dsve-test.S21 .arch_extension sve
/Linux-v5.15/tools/testing/selftests/arm64/signal/testcases/
Dtestcases.c53 bool validate_sve_context(struct sve_context *sve, char **err) in validate_sve_context() argument
57 = ((SVE_SIG_CONTEXT_SIZE(sve_vq_from_vl(sve->vl)) + 15) / 16) * 16; in validate_sve_context()
59 if (!sve || !err) in validate_sve_context()
63 if ((sve->head.size != sizeof(struct sve_context)) && in validate_sve_context()
64 (sve->head.size != regs_size)) { in validate_sve_context()
69 if (!sve_vl_valid(sve->vl)) { in validate_sve_context()
84 struct sve_context *sve = NULL; in validate_reserved() local
120 sve = (struct sve_context *)head; in validate_reserved()
166 if (!validate_sve_context(sve, err)) in validate_reserved()
Dsve_regs.c60 struct sve_context *sve; in do_one_sve_vl() local
84 sve = (struct sve_context *)head; in do_one_sve_vl()
85 if (sve->vl != vl) { in do_one_sve_vl()
86 fprintf(stderr, "Got VL %d, expected %d\n", sve->vl, vl); in do_one_sve_vl()
92 head->size, sve->vl); in do_one_sve_vl()
Dsve_vl.c34 struct sve_context *sve; in sve_vl() local
46 sve = (struct sve_context *)head; in sve_vl()
48 if (sve->vl != vl) { in sve_vl()
50 sve->vl, vl); in sve_vl()
Dfake_sigreturn_sve_change_vl.c54 struct sve_context *sve; in fake_sigreturn_sve_change_vl() local
72 sve = (struct sve_context *)head; in fake_sigreturn_sve_change_vl()
76 sve->vl, vls[0]); in fake_sigreturn_sve_change_vl()
77 sve->vl = vls[0]; in fake_sigreturn_sve_change_vl()
/Linux-v5.15/arch/arm64/kernel/
Dsignal.c221 struct sve_context __user *sve; member
264 struct sve_context sve; in restore_sve_fpsimd_context() local
266 if (__copy_from_user(&sve, user->sve, sizeof(sve))) in restore_sve_fpsimd_context()
269 if (sve.vl != current->thread.sve_vl) in restore_sve_fpsimd_context()
272 if (sve.head.size <= sizeof(*user->sve)) { in restore_sve_fpsimd_context()
277 vq = sve_vq_from_vl(sve.vl); in restore_sve_fpsimd_context()
279 if (sve.head.size < SVE_SIG_CONTEXT_SIZE(vq)) in restore_sve_fpsimd_context()
299 (char __user const *)user->sve + in restore_sve_fpsimd_context()
343 user->sve = NULL; in parse_user_sigframe()
400 if (user->sve) in parse_user_sigframe()
[all …]
/Linux-v5.15/Documentation/arm64/
Dindex.rst24 sve
Dsve.rst29 described in this document. SVE is reported in /proc/cpuinfo as "sve".
/Linux-v5.15/Documentation/virt/kvm/
Dapi.rst2510 (See Documentation/arm64/sve.rst for an explanation of the "vq"