mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 04:33:26 +02:00
This add a test to check if the kernel zero-initializes all V registers after the first-use trap handler returns. If V registers are not zero-initialized, then the test should fail one out of several runs: ``` root@sifive-fpga:~# ./v_initval_nolibc # vl = 256 not ok 1 detect stale values on v-regesters 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4c 41 4e 47 3d 43 0 50 41 54 48 3d 2f 75 73 72 2f 6c 6f 63 61 6c 2f 73 62 69 6e 3a 2f 75 73 72 2f 6c 6f 63 61 6c 2f 62 69 6e 3a 2f 75 73 72 ff ff 81 0 0 0 0 0 0 0 0 0 0 0 0 0 ``` Otherwise, the test passes without errors each run. Signed-off-by: Andy Chiu <andy.chiu@sifive.com> Reviewed-by: Björn Töpel <bjorn@rivosinc.com> Link: https://lore.kernel.org/r/20230627015556.12329-3-andy.chiu@sifive.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
20 lines
672 B
Makefile
20 lines
672 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
# Copyright (C) 2021 ARM Limited
|
|
# Originally tools/testing/arm64/abi/Makefile
|
|
|
|
TEST_GEN_PROGS := vstate_prctl v_initval_nolibc
|
|
TEST_GEN_PROGS_EXTENDED := vstate_exec_nolibc
|
|
|
|
include ../../lib.mk
|
|
|
|
$(OUTPUT)/vstate_prctl: vstate_prctl.c ../hwprobe/sys_hwprobe.S
|
|
$(CC) -static -o$@ $(CFLAGS) $(LDFLAGS) $^
|
|
|
|
$(OUTPUT)/vstate_exec_nolibc: vstate_exec_nolibc.c
|
|
$(CC) -nostdlib -static -include ../../../../include/nolibc/nolibc.h \
|
|
-Wall $(CFLAGS) $(LDFLAGS) $^ -o $@ -lgcc
|
|
|
|
$(OUTPUT)/v_initval_nolibc: v_initval_nolibc.c
|
|
$(CC) -nostdlib -static -include ../../../../include/nolibc/nolibc.h \
|
|
-Wall $(CFLAGS) $(LDFLAGS) $^ -o $@ -lgcc
|