/linux/tools/testing/selftests/arm64/fp/ |
H A D | Makefile | 11 sve-ptrace sve-probe-vls \ 16 rdvl-sme rdvl-sve \ 17 sve-test \ 23 TEST_PROGS_EXTENDED := fpsimd-stress sve-stress ssve-stress za-stress 33 $(OUTPUT)/rdvl-sve: rdvl-sve.c $(OUTPUT)/rdvl.o 35 $(OUTPUT)/sve-ptrace: sve-ptrace.c 36 $(OUTPUT)/sve-probe-vls: sve-probe-vls.c $(OUTPUT)/rdvl.o 37 $(OUTPUT)/sve-test: sve-test.S $(OUTPUT)/asm-utils.o 39 $(OUTPUT)/ssve-test: sve-test.S $(OUTPUT)/asm-utils.o
|
H A D | sve-ptrace.c | 116 size_t sz = sizeof *sve; in get_sve() 136 sve = *buf; in get_sve() 137 if (sve->size <= sz) in get_sve() 140 sz = sve->size; in get_sve() 143 return sve; in get_sve() 168 memset(&sve, 0, sizeof(sve)); in ptrace_set_get_inherit() 169 sve.size = sizeof(sve); in ptrace_set_get_inherit() 234 memset(&sve, 0, sizeof(sve)); in ptrace_set_get_vl() 235 sve.size = sizeof(sve); in ptrace_set_get_vl() 236 sve.vl = vl; in ptrace_set_get_vl() [all …]
|
H A D | README | 7 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 89 guest$ ./vlset --inherit 32 ./sve-stress 91 3) Run the sve-stress on the host with the maximum Vector-Length: 92 host$ ./vlset --inherit --max ./sve-stress [all …]
|
H A D | .gitignore | 7 rdvl-sve 8 sve-probe-vls 9 sve-ptrace 10 sve-test
|
H A D | fp-ptrace.c | 356 struct user_sve_header *sve; in check_ptrace_values_sve() local 383 sve = iov.iov_base; in check_ptrace_values_sve() 397 if (sve->size != SVE_PT_SIZE(vq, sve->flags)) { in check_ptrace_values_sve() 399 sve->size, SVE_PT_SIZE(vq, sve->flags)); in check_ptrace_values_sve() 433 struct user_sve_header *sve; in check_ptrace_values_ssve() local 460 sve = iov.iov_base; in check_ptrace_values_ssve() 473 if (sve->size != SVE_PT_SIZE(vq, sve->flags)) { in check_ptrace_values_ssve() 475 sve->size, SVE_PT_SIZE(vq, sve->flags)); in check_ptrace_values_ssve() 1045 sve = iov.iov_base; in sve_write() 1046 sve->size = iov.iov_len; in sve_write() [all …]
|
H A D | rdvl.S | 6 .arch_extension sve
|
H A D | sve-stress | 45 ./sve-test >$log &
|
H A D | za-fork-asm.S | 6 .arch_extension sve
|
H A D | fp-pidbench.S | 13 .arch_extension sve
|
H A D | zt-test.S | 14 .arch_extension sve
|
H A D | za-test.S | 18 .arch_extension sve
|
H A D | fp-ptrace-asm.S | 14 .arch_extension sve
|
H A D | sve-test.S | 22 .arch_extension sve
|
/linux/tools/testing/selftests/arm64/signal/testcases/ |
H A D | testcases.c | 61 bool validate_sve_context(struct sve_context *sve, char **err) in validate_sve_context() argument 65 = ((SVE_SIG_CONTEXT_SIZE(sve_vq_from_vl(sve->vl)) + 15) / 16) * 16; in validate_sve_context() 67 if (!sve || !err) in validate_sve_context() 71 if ((sve->head.size != sizeof(struct sve_context)) && in validate_sve_context() 72 (sve->head.size != regs_size)) { in validate_sve_context() 77 if (!sve_vl_valid(sve->vl)) { in validate_sve_context() 138 struct sve_context *sve = NULL; in validate_reserved() local 195 sve = (struct sve_context *)head; in validate_reserved() 272 if (!validate_sve_context(sve, err)) in validate_reserved()
|
H A D | sve_regs.c | 63 struct sve_context *sve; in do_one_sve_vl() local 87 sve = (struct sve_context *)head; in do_one_sve_vl() 88 if (sve->vl != vl) { in do_one_sve_vl() 89 fprintf(stderr, "Got VL %d, expected %d\n", sve->vl, vl); in do_one_sve_vl() 95 head->size, sve->vl); in do_one_sve_vl()
|
H A D | sve_vl.c | 34 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()
|
H A D | fake_sigreturn_sme_change_vl.c | 54 struct sve_context *sve; in fake_sigreturn_ssve_change_vl() local 72 sve = (struct sve_context *)head; in fake_sigreturn_ssve_change_vl() 76 sve->vl, vls[0]); in fake_sigreturn_ssve_change_vl() 77 sve->vl = vls[0]; in fake_sigreturn_ssve_change_vl()
|
H A D | fake_sigreturn_sve_change_vl.c | 56 struct sve_context *sve; in fake_sigreturn_sve_change_vl() local 74 sve = (struct sve_context *)head; in fake_sigreturn_sve_change_vl() 78 sve->vl, vls[0]); in fake_sigreturn_sve_change_vl() 79 sve->vl = vls[0]; in fake_sigreturn_sve_change_vl()
|
/linux/tools/testing/selftests/arm64/abi/ |
H A D | syscall-abi.c | 412 int sve, sme; in test_one_syscall() local 419 for (sve = 0; sve < sve_vl_count; sve++) { in test_one_syscall() 420 ret = prctl(PR_SVE_SET_VL, sve_vls[sve]); in test_one_syscall() 425 ksft_test_result(do_test(cfg, sve_vls[sve], default_sme_vl, 0), in test_one_syscall() 426 "%s SVE VL %d\n", cfg->name, sve_vls[sve]); in test_one_syscall() 434 ksft_test_result(do_test(cfg, sve_vls[sve], in test_one_syscall() 438 cfg->name, sve_vls[sve], in test_one_syscall() 440 ksft_test_result(do_test(cfg, sve_vls[sve], in test_one_syscall() 443 cfg->name, sve_vls[sve], in test_one_syscall() 445 ksft_test_result(do_test(cfg, sve_vls[sve], in test_one_syscall() [all …]
|
H A D | syscall-abi-asm.S | 24 .arch_extension sve
|
/linux/arch/arm64/kernel/ |
H A D | signal.c | 178 struct sve_context __user *sve; member 310 if (user->sve_size < sizeof(*user->sve)) in restore_sve_fpsimd_context() 313 __get_user_error(user_vl, &(user->sve->vl), err); in restore_sve_fpsimd_context() 314 __get_user_error(flags, &(user->sve->flags), err); in restore_sve_fpsimd_context() 338 if (user->sve_size == sizeof(*user->sve)) { in restore_sve_fpsimd_context() 367 (char __user const *)user->sve + in restore_sve_fpsimd_context() 619 user->sve = NULL; in parse_user_sigframe() 678 if (user->sve) in parse_user_sigframe() 681 user->sve = (struct sve_context __user *)head; in parse_user_sigframe() 842 if (user.sve) in restore_sigframe()
|
/linux/Documentation/arch/arm64/ |
H A D | index.rst | 28 sve
|
H A D | sme.rst | 10 documentation in sve.rst which provides details on the Streaming SVE mode 276 sve.rst.
|
H A D | sve.rst | 35 described in this document. SVE is reported in /proc/cpuinfo as "sve".
|
/linux/Documentation/translations/zh_CN/process/ |
H A D | maintainer-pgp-guide.rst | 709 ✓ [PATCH v1 2/3] arm64/sve: Document our actual ABI for clearing registers on syscall
|