mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 13:53:33 +00:00
kselftest/arm64: Validate SVCR in streaming SVE stress test
In the ZA and ZT test programs we explicitly validate that PSTATE.ZA is as expected on each loop but we do not do the equivalent for our streaming SVE test, add a check that we are still in streaming mode on every loop in case that goes wrong. Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20230922-arm64-ssve-validate-svcr-v1-1-f518960eaeda@kernel.org Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
parent
6465e260f4
commit
11a7a42ea7
1 changed files with 19 additions and 0 deletions
|
@ -473,6 +473,13 @@ function _start
|
|||
// mov x8, #__NR_sched_yield // Encourage preemption
|
||||
// svc #0
|
||||
|
||||
#ifdef SSVE
|
||||
mrs x0, S3_3_C4_C2_2 // SVCR should have ZA=0,SM=1
|
||||
and x1, x0, #3
|
||||
cmp x1, #1
|
||||
b.ne svcr_barf
|
||||
#endif
|
||||
|
||||
mov x21, #0
|
||||
0: mov x0, x21
|
||||
bl check_zreg
|
||||
|
@ -553,3 +560,15 @@ function vl_barf
|
|||
mov x1, #1
|
||||
svc #0
|
||||
endfunction
|
||||
|
||||
function svcr_barf
|
||||
mov x10, x0
|
||||
|
||||
puts "Bad SVCR: "
|
||||
mov x0, x10
|
||||
bl putdecn
|
||||
|
||||
mov x8, #__NR_exit
|
||||
mov x1, #1
|
||||
svc #0
|
||||
endfunction
|
||||
|
|
Loading…
Reference in a new issue