xref: /linux/arch/arm/include/asm/vermagic.h (revision ead5d1f4d877e92c051e1a1ade623d0d30e71619)
1*62d0fd59SMasahiro Yamada /* SPDX-License-Identifier: GPL-2.0 */
2*62d0fd59SMasahiro Yamada #ifndef _ASM_VERMAGIC_H
3*62d0fd59SMasahiro Yamada #define _ASM_VERMAGIC_H
4*62d0fd59SMasahiro Yamada 
5*62d0fd59SMasahiro Yamada #include <linux/stringify.h>
6*62d0fd59SMasahiro Yamada 
7*62d0fd59SMasahiro Yamada /*
8*62d0fd59SMasahiro Yamada  * Add the ARM architecture version to the version magic string
9*62d0fd59SMasahiro Yamada  */
10*62d0fd59SMasahiro Yamada #define MODULE_ARCH_VERMAGIC_ARMVSN "ARMv" __stringify(__LINUX_ARM_ARCH__) " "
11*62d0fd59SMasahiro Yamada 
12*62d0fd59SMasahiro Yamada /* Add __virt_to_phys patching state as well */
13*62d0fd59SMasahiro Yamada #ifdef CONFIG_ARM_PATCH_PHYS_VIRT
14*62d0fd59SMasahiro Yamada #define MODULE_ARCH_VERMAGIC_P2V "p2v8 "
15*62d0fd59SMasahiro Yamada #else
16*62d0fd59SMasahiro Yamada #define MODULE_ARCH_VERMAGIC_P2V ""
17*62d0fd59SMasahiro Yamada #endif
18*62d0fd59SMasahiro Yamada 
19*62d0fd59SMasahiro Yamada /* Add instruction set architecture tag to distinguish ARM/Thumb kernels */
20*62d0fd59SMasahiro Yamada #ifdef CONFIG_THUMB2_KERNEL
21*62d0fd59SMasahiro Yamada #define MODULE_ARCH_VERMAGIC_ARMTHUMB "thumb2 "
22*62d0fd59SMasahiro Yamada #else
23*62d0fd59SMasahiro Yamada #define MODULE_ARCH_VERMAGIC_ARMTHUMB ""
24*62d0fd59SMasahiro Yamada #endif
25*62d0fd59SMasahiro Yamada 
26*62d0fd59SMasahiro Yamada #define MODULE_ARCH_VERMAGIC \
27*62d0fd59SMasahiro Yamada 	MODULE_ARCH_VERMAGIC_ARMVSN \
28*62d0fd59SMasahiro Yamada 	MODULE_ARCH_VERMAGIC_ARMTHUMB \
29*62d0fd59SMasahiro Yamada 	MODULE_ARCH_VERMAGIC_P2V
30*62d0fd59SMasahiro Yamada 
31*62d0fd59SMasahiro Yamada #endif /* _ASM_VERMAGIC_H */
32