From 0840bc5ea114f536a4bdfb2ca095b79f2069aae6 Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Tue, 28 May 2024 15:11:54 +0100 Subject: [PATCH] xen: Introduce CONFIG_SELF_TESTS ... and move x86's stub_selftest() under this new option. There is value in having these tests included in release builds too. It will shortly be used to gate the bitops unit tests on all architectures. Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich Release-Acked-by: Oleksii Kurochko --- xen/Kconfig.debug | 6 ++++++ xen/arch/x86/extable.c | 4 ++-- xen/arch/x86/setup.c | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug index 61b24ac552..07ff7eb7ba 100644 --- a/xen/Kconfig.debug +++ b/xen/Kconfig.debug @@ -29,6 +29,12 @@ config FRAME_POINTER maybe slower, but it gives very useful debugging information in case of any Xen bugs. +config SELF_TESTS + bool "Extra self-testing" + default DEBUG + help + Enable extra unit and functional testing. + config COVERAGE bool "Code coverage support" depends on !LIVEPATCH diff --git a/xen/arch/x86/extable.c b/xen/arch/x86/extable.c index 8415cd1fa2..705cf9eb94 100644 --- a/xen/arch/x86/extable.c +++ b/xen/arch/x86/extable.c @@ -144,7 +144,7 @@ search_exception_table(const struct cpu_user_regs *regs, unsigned long *stub_ra) return 0; } -#ifdef CONFIG_DEBUG +#ifdef CONFIG_SELF_TESTS #include #include @@ -214,7 +214,7 @@ int __init cf_check stub_selftest(void) return 0; } __initcall(stub_selftest); -#endif +#endif /* CONFIG_SELF_TESTS */ unsigned long asmlinkage search_pre_exception_table(struct cpu_user_regs *regs) { diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index b50c9c84af..dd51e68dbe 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -742,7 +742,7 @@ static void noreturn init_done(void) system_state = SYS_STATE_active; /* Re-run stub recovery self-tests with CET-SS active. */ - if ( IS_ENABLED(CONFIG_DEBUG) && cpu_has_xen_shstk ) + if ( IS_ENABLED(CONFIG_SELF_TESTS) && cpu_has_xen_shstk ) stub_selftest(); domain_unpause_by_systemcontroller(dom0); -- 2.39.5