Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
62d0fd59 MY |
2 | #ifndef _LINUX_VERMAGIC_H |
3 | #define _LINUX_VERMAGIC_H | |
51161bfc LR |
4 | |
5 | #ifndef INCLUDE_VERMAGIC | |
6 | #error "This header can be included from kernel/module.c or *.mod.c only" | |
7 | #endif | |
8 | ||
273b281f | 9 | #include <generated/utsrelease.h> |
62d0fd59 | 10 | #include <asm/vermagic.h> |
1da177e4 LT |
11 | |
12 | /* Simply sanity version stamp for modules. */ | |
13 | #ifdef CONFIG_SMP | |
14 | #define MODULE_VERMAGIC_SMP "SMP " | |
15 | #else | |
16 | #define MODULE_VERMAGIC_SMP "" | |
17 | #endif | |
18 | #ifdef CONFIG_PREEMPT | |
19 | #define MODULE_VERMAGIC_PREEMPT "preempt " | |
4b950bb9 TG |
20 | #elif defined(CONFIG_PREEMPT_RT) |
21 | #define MODULE_VERMAGIC_PREEMPT "preempt_rt " | |
1da177e4 LT |
22 | #else |
23 | #define MODULE_VERMAGIC_PREEMPT "" | |
24 | #endif | |
5ac90c9f PBG |
25 | #ifdef CONFIG_MODULE_UNLOAD |
26 | #define MODULE_VERMAGIC_MODULE_UNLOAD "mod_unload " | |
27 | #else | |
28 | #define MODULE_VERMAGIC_MODULE_UNLOAD "" | |
29 | #endif | |
6c2545ee RR |
30 | #ifdef CONFIG_MODVERSIONS |
31 | #define MODULE_VERMAGIC_MODVERSIONS "modversions " | |
32 | #else | |
33 | #define MODULE_VERMAGIC_MODVERSIONS "" | |
34 | #endif | |
313dd1b6 KC |
35 | #ifdef RANDSTRUCT_PLUGIN |
36 | #include <generated/randomize_layout_hash.h> | |
37 | #define MODULE_RANDSTRUCT_PLUGIN "RANDSTRUCT_PLUGIN_" RANDSTRUCT_HASHED_SEED | |
38 | #else | |
39 | #define MODULE_RANDSTRUCT_PLUGIN | |
40 | #endif | |
1da177e4 LT |
41 | |
42 | #define VERMAGIC_STRING \ | |
43 | UTS_RELEASE " " \ | |
44 | MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \ | |
6c2545ee | 45 | MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS \ |
313dd1b6 | 46 | MODULE_ARCH_VERMAGIC \ |
5132ede0 | 47 | MODULE_RANDSTRUCT_PLUGIN |
1bb4996b | 48 | |
62d0fd59 | 49 | #endif /* _LINUX_VERMAGIC_H */ |