Commit 11a7a42e authored by Mark Brown's avatar Mark Brown Committed by Catalin Marinas
Browse files

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: default avatarMark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20230922-arm64-ssve-validate-svcr-v1-1-f518960eaeda@kernel.org


Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 6465e260
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -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