On Tue, 2024-05-28 at 15:22 +0100, Andrew Cooper wrote: > ... 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 <[email protected]> Looks good to me. We can consider it to be merged to 4.19: Release-Acked-by: Oleksii Kurochko <[email protected]>
~ Oleksii > --- > CC: Jan Beulich <[email protected]> > CC: Roger Pau Monné <[email protected]> > CC: Wei Liu <[email protected]> > CC: Stefano Stabellini <[email protected]> > CC: Julien Grall <[email protected]> > CC: Volodymyr Babchuk <[email protected]> > CC: Bertrand Marquis <[email protected]> > CC: Michal Orzel <[email protected]> > CC: Oleksii Kurochko <[email protected]> > CC: Shawn Anastasio <[email protected]> > CC: [email protected] <[email protected]> > CC: Simone Ballarin <[email protected]> > CC: Federico Serafini <[email protected]> > CC: Nicola Vetrini <[email protected]> > > v2.5: > * As suggested in "[PATCH v2 05/13] xen/bitops: Implement > generic_f?sl() in > lib/" > > I've gone with SELF_TESTS rather than BOOT_TESTS, because already in > bitops > we've got compile time tests (which aren't strictly boot time), and > the > livepatching testing wants to be included here and is definitely not > boot > time. > --- > 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 61b24ac552cd..07ff7eb7ba83 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 8415cd1fa249..705cf9eb94ca 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 <asm/setup.h> > #include <asm/traps.h> > > @@ -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 b50c9c84af6d..dd51e68dbe5b 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); > > base-commit: 2d93f78bfe25f695d8ffb61d110da9df293ed71b
