Unverified Commit edc96a2b authored by Andy Chiu's avatar Andy Chiu Committed by Palmer Dabbelt
Browse files

selftest: run vector prctl test for ZVE32X



The minimal requirement for running Vector subextension on Linux is
ZVE32X. So change the test accordingly to run prctl as long as it find
it.

Signed-off-by: default avatarAndy Chiu <andy.chiu@sifive.com>
Link: https://lore.kernel.org/r/20240510-zve-detection-v5-8-0711bdd26c12@sifive.com


Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
parent ac295b67
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -88,16 +88,16 @@ int main(void)
		return -2;
	}

	if (!(pair.value & RISCV_HWPROBE_IMA_V)) {
	if (!(pair.value & RISCV_HWPROBE_EXT_ZVE32X)) {
		rc = prctl(PR_RISCV_V_GET_CONTROL);
		if (rc != -1 || errno != EINVAL) {
			ksft_test_result_fail("GET_CONTROL should fail on kernel/hw without V\n");
			ksft_test_result_fail("GET_CONTROL should fail on kernel/hw without ZVE32X\n");
			return -3;
		}

		rc = prctl(PR_RISCV_V_SET_CONTROL, PR_RISCV_V_VSTATE_CTRL_ON);
		if (rc != -1 || errno != EINVAL) {
			ksft_test_result_fail("GET_CONTROL should fail on kernel/hw without V\n");
			ksft_test_result_fail("SET_CONTROL should fail on kernel/hw without ZVE32X\n");
			return -4;
		}