aboutsummaryrefslogtreecommitdiff
path: root/arch/riscv/kernel/tests/Kconfig.debug
diff options
context:
space:
mode:
authorGravatar Charlie Jenkins <charlie@rivosinc.com> 2023-11-01 11:33:01 -0700
committerGravatar Palmer Dabbelt <palmer@rivosinc.com> 2023-11-07 14:59:32 -0800
commitaf71bc194916b10f9b394f9b14419d99700a5e67 (patch)
tree3ba1d884a72d6407c576fba8bff7c1d71a7caa1b /arch/riscv/kernel/tests/Kconfig.debug
parentriscv: Add remaining module relocations (diff)
downloadlinux-af71bc194916b10f9b394f9b14419d99700a5e67.tar.gz
linux-af71bc194916b10f9b394f9b14419d99700a5e67.tar.bz2
linux-af71bc194916b10f9b394f9b14419d99700a5e67.zip
riscv: Add tests for riscv module loading
Add test cases for the two main groups of relocations added: SUB and SET, along with uleb128. Signed-off-by: Charlie Jenkins <charlie@rivosinc.com> Link: https://lore.kernel.org/r/20231101-module_relocations-v9-3-8dfa3483c400@rivosinc.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Diffstat (limited to 'arch/riscv/kernel/tests/Kconfig.debug')
-rw-r--r--arch/riscv/kernel/tests/Kconfig.debug35
1 files changed, 35 insertions, 0 deletions
diff --git a/arch/riscv/kernel/tests/Kconfig.debug b/arch/riscv/kernel/tests/Kconfig.debug
new file mode 100644
index 000000000000..5dba64e8e977
--- /dev/null
+++ b/arch/riscv/kernel/tests/Kconfig.debug
@@ -0,0 +1,35 @@
+# SPDX-License-Identifier: GPL-2.0-only
+menu "arch/riscv/kernel Testing and Coverage"
+
+config AS_HAS_ULEB128
+ def_bool $(as-instr,.reloc label$(comma) R_RISCV_SET_ULEB128$(comma) 127\n.reloc label$(comma) R_RISCV_SUB_ULEB128$(comma) 127\nlabel:\n.word 0)
+
+menuconfig RUNTIME_KERNEL_TESTING_MENU
+ bool "arch/riscv/kernel runtime Testing"
+ def_bool y
+ help
+ Enable riscv kernel runtime testing.
+
+if RUNTIME_KERNEL_TESTING_MENU
+
+config RISCV_MODULE_LINKING_KUNIT
+ bool "KUnit test riscv module linking at runtime" if !KUNIT_ALL_TESTS
+ depends on KUNIT
+ default KUNIT_ALL_TESTS
+ help
+ Enable this option to test riscv module linking at boot. This will
+ enable a module called "test_module_linking".
+
+ KUnit tests run during boot and output the results to the debug log
+ in TAP format (http://testanything.org/). Only useful for kernel devs
+ running the KUnit test harness, and not intended for inclusion into a
+ production build.
+
+ For more information on KUnit and unit tests in general please refer
+ to the KUnit documentation in Documentation/dev-tools/kunit/.
+
+ If unsure, say N.
+
+endif # RUNTIME_TESTING_MENU
+
+endmenu # "arch/riscv/kernel runtime Testing"