mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-16 13:34:30 +00:00
a8b76910e4
Commit c597bfddc9e9 ("sched: Provide Kconfig support for default dynamic preempt mode") changed the selectable config names for the preemption model. This means a config file must now select CONFIG_PREEMPT_BEHAVIOUR=y rather than CONFIG_PREEMPT=y to get a preemptible kernel. This means all arch config files would need to be updated - right now they'll all end up with the default CONFIG_PREEMPT_NONE_BEHAVIOUR. Rather than touch a good hundred of config files, restore usage of CONFIG_PREEMPT{_NONE, _VOLUNTARY}. Make them configure: o The build-time preemption model when !PREEMPT_DYNAMIC o The default boot-time preemption model when PREEMPT_DYNAMIC Add siblings of those configs with the _BUILD suffix to unconditionally designate the build-time preemption model (PREEMPT_DYNAMIC is built with the "highest" preemption model it supports, aka PREEMPT). Downstream configs should by now all be depending / selected by CONFIG_PREEMPTION rather than CONFIG_PREEMPT, so only a few sites need patching up. Signed-off-by: Valentin Schneider <valentin.schneider@arm.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Marco Elver <elver@google.com> Link: https://lore.kernel.org/r/20211110202448.4054153-2-valentin.schneider@arm.com
50 lines
1.3 KiB
C
50 lines
1.3 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _LINUX_VERMAGIC_H
|
|
#define _LINUX_VERMAGIC_H
|
|
|
|
#ifndef INCLUDE_VERMAGIC
|
|
#error "This header can be included from kernel/module.c or *.mod.c only"
|
|
#endif
|
|
|
|
#include <generated/utsrelease.h>
|
|
#include <asm/vermagic.h>
|
|
|
|
/* Simply sanity version stamp for modules. */
|
|
#ifdef CONFIG_SMP
|
|
#define MODULE_VERMAGIC_SMP "SMP "
|
|
#else
|
|
#define MODULE_VERMAGIC_SMP ""
|
|
#endif
|
|
#ifdef CONFIG_PREEMPT_BUILD
|
|
#define MODULE_VERMAGIC_PREEMPT "preempt "
|
|
#elif defined(CONFIG_PREEMPT_RT)
|
|
#define MODULE_VERMAGIC_PREEMPT "preempt_rt "
|
|
#else
|
|
#define MODULE_VERMAGIC_PREEMPT ""
|
|
#endif
|
|
#ifdef CONFIG_MODULE_UNLOAD
|
|
#define MODULE_VERMAGIC_MODULE_UNLOAD "mod_unload "
|
|
#else
|
|
#define MODULE_VERMAGIC_MODULE_UNLOAD ""
|
|
#endif
|
|
#ifdef CONFIG_MODVERSIONS
|
|
#define MODULE_VERMAGIC_MODVERSIONS "modversions "
|
|
#else
|
|
#define MODULE_VERMAGIC_MODVERSIONS ""
|
|
#endif
|
|
#ifdef RANDSTRUCT_PLUGIN
|
|
#include <generated/randomize_layout_hash.h>
|
|
#define MODULE_RANDSTRUCT_PLUGIN "RANDSTRUCT_PLUGIN_" RANDSTRUCT_HASHED_SEED
|
|
#else
|
|
#define MODULE_RANDSTRUCT_PLUGIN
|
|
#endif
|
|
|
|
#define VERMAGIC_STRING \
|
|
UTS_RELEASE " " \
|
|
MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \
|
|
MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS \
|
|
MODULE_ARCH_VERMAGIC \
|
|
MODULE_RANDSTRUCT_PLUGIN
|
|
|
|
#endif /* _LINUX_VERMAGIC_H */
|