Files
linux/tools/testing/selftests/riscv
Paul Walmsley 08ee155905 prctl: cfi: change the branch landing pad prctl()s to be more descriptive
Per Linus' comments requesting the replacement of "INDIR_BR_LP" in the
indirect branch tracking prctl()s with something more readable, and
suggesting the use of the speculation control prctl()s as an exemplar,
reimplement the prctl()s and related constants that control per-task
forward-edge control flow integrity.

This primarily involves two changes.  First, the prctls are
restructured to resemble the style of the speculative execution
workaround control prctls PR_{GET,SET}_SPECULATION_CTRL, to make them
easier to extend in the future.  Second, the "indir_br_lp" abbrevation
is expanded to "branch_landing_pads" to be less telegraphic.  The
kselftest and documentation is adjusted accordingly.

Link: https://lore.kernel.org/linux-riscv/CAHk-=whhSLGZAx3N5jJpb4GLFDqH_QvS07D+6BnkPWmCEzTAgw@mail.gmail.com/
Cc: Deepak Gupta <debug@rivosinc.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Paul Walmsley <pjw@kernel.org>
2026-04-04 18:40:58 -06:00
..

KSelfTest RISC-V
================

- These tests are riscv specific and so not built or run but just skipped
  completely when env-variable ARCH is found to be different than 'riscv'.

- Holding true the above, RISC-V KSFT tests can be run within the
  KSelfTest framework using standard Linux top-level-makefile targets:

      $ make TARGETS=riscv kselftest-clean
      $ make TARGETS=riscv kselftest

      or

      $ make -C tools/testing/selftests TARGETS=riscv \
		INSTALL_PATH=<your-installation-path> install

      or, alternatively, only specific riscv/ subtargets can be picked:

      $ make -C tools/testing/selftests TARGETS=riscv RISCV_SUBTARGETS="mm vector" \
		INSTALL_PATH=<your-installation-path> install

   Further details on building and running KSFT can be found in:
     Documentation/dev-tools/kselftest.rst