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