2017-11-01 15:07:57 +01:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0 */
|
2020-04-22 01:13:55 +09:00
|
|
|
#ifndef _LINUX_VERMAGIC_H
|
|
|
|
|
#define _LINUX_VERMAGIC_H
|
2020-04-19 18:55:06 +03:00
|
|
|
|
|
|
|
|
#ifndef INCLUDE_VERMAGIC
|
|
|
|
|
#error "This header can be included from kernel/module.c or *.mod.c only"
|
|
|
|
|
#endif
|
|
|
|
|
|
2009-10-18 00:52:28 +02:00
|
|
|
#include <generated/utsrelease.h>
|
2020-04-22 01:13:55 +09:00
|
|
|
#include <asm/vermagic.h>
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
/* Simply sanity version stamp for modules. */
|
|
|
|
|
#ifdef CONFIG_SMP
|
|
|
|
|
#define MODULE_VERMAGIC_SMP "SMP "
|
|
|
|
|
#else
|
|
|
|
|
#define MODULE_VERMAGIC_SMP ""
|
|
|
|
|
#endif
|
2021-11-10 20:24:44 +00:00
|
|
|
#ifdef CONFIG_PREEMPT_BUILD
|
2005-04-16 15:20:36 -07:00
|
|
|
#define MODULE_VERMAGIC_PREEMPT "preempt "
|
2019-07-28 20:27:41 +02:00
|
|
|
#elif defined(CONFIG_PREEMPT_RT)
|
|
|
|
|
#define MODULE_VERMAGIC_PREEMPT "preempt_rt "
|
2005-04-16 15:20:36 -07:00
|
|
|
#else
|
|
|
|
|
#define MODULE_VERMAGIC_PREEMPT ""
|
|
|
|
|
#endif
|
2006-04-10 22:54:28 -07:00
|
|
|
#ifdef CONFIG_MODULE_UNLOAD
|
|
|
|
|
#define MODULE_VERMAGIC_MODULE_UNLOAD "mod_unload "
|
|
|
|
|
#else
|
|
|
|
|
#define MODULE_VERMAGIC_MODULE_UNLOAD ""
|
|
|
|
|
#endif
|
2008-05-09 16:23:17 +10:00
|
|
|
#ifdef CONFIG_MODVERSIONS
|
|
|
|
|
#define MODULE_VERMAGIC_MODVERSIONS "modversions "
|
|
|
|
|
#else
|
|
|
|
|
#define MODULE_VERMAGIC_MODVERSIONS ""
|
|
|
|
|
#endif
|
2022-05-03 13:55:00 -07:00
|
|
|
#ifdef RANDSTRUCT
|
2022-05-03 13:55:02 -07:00
|
|
|
#include <generated/randstruct_hash.h>
|
2022-05-03 13:55:00 -07:00
|
|
|
#define MODULE_RANDSTRUCT "RANDSTRUCT_" RANDSTRUCT_HASHED_SEED
|
2017-05-05 23:37:45 -07:00
|
|
|
#else
|
2022-05-03 13:55:00 -07:00
|
|
|
#define MODULE_RANDSTRUCT
|
2017-05-05 23:37:45 -07:00
|
|
|
#endif
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
#define VERMAGIC_STRING \
|
|
|
|
|
UTS_RELEASE " " \
|
|
|
|
|
MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \
|
2008-05-09 16:23:17 +10:00
|
|
|
MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS \
|
2017-05-05 23:37:45 -07:00
|
|
|
MODULE_ARCH_VERMAGIC \
|
2022-05-03 13:55:00 -07:00
|
|
|
MODULE_RANDSTRUCT
|
2006-09-26 10:52:37 +02:00
|
|
|
|
2020-04-22 01:13:55 +09:00
|
|
|
#endif /* _LINUX_VERMAGIC_H */
|