mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-14 16:23:51 +08:00
a8b76910e4
Commit c597bfddc9
("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 */
|