18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef _ASM_VERMAGIC_H
38c2ecf20Sopenharmony_ci#define _ASM_VERMAGIC_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include <linux/stringify.h>
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci/*
88c2ecf20Sopenharmony_ci * Add the ARM architecture version to the version magic string
98c2ecf20Sopenharmony_ci */
108c2ecf20Sopenharmony_ci#define MODULE_ARCH_VERMAGIC_ARMVSN "ARMv" __stringify(__LINUX_ARM_ARCH__) " "
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci/* Add __virt_to_phys patching state as well */
138c2ecf20Sopenharmony_ci#ifdef CONFIG_ARM_PATCH_PHYS_VIRT
148c2ecf20Sopenharmony_ci#define MODULE_ARCH_VERMAGIC_P2V "p2v8 "
158c2ecf20Sopenharmony_ci#else
168c2ecf20Sopenharmony_ci#define MODULE_ARCH_VERMAGIC_P2V ""
178c2ecf20Sopenharmony_ci#endif
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci/* Add instruction set architecture tag to distinguish ARM/Thumb kernels */
208c2ecf20Sopenharmony_ci#ifdef CONFIG_THUMB2_KERNEL
218c2ecf20Sopenharmony_ci#define MODULE_ARCH_VERMAGIC_ARMTHUMB "thumb2 "
228c2ecf20Sopenharmony_ci#else
238c2ecf20Sopenharmony_ci#define MODULE_ARCH_VERMAGIC_ARMTHUMB ""
248c2ecf20Sopenharmony_ci#endif
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci#define MODULE_ARCH_VERMAGIC \
278c2ecf20Sopenharmony_ci	MODULE_ARCH_VERMAGIC_ARMVSN \
288c2ecf20Sopenharmony_ci	MODULE_ARCH_VERMAGIC_ARMTHUMB \
298c2ecf20Sopenharmony_ci	MODULE_ARCH_VERMAGIC_P2V
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci#endif /* _ASM_VERMAGIC_H */
32