Merge tag 'block-5.14-2021-08-07' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / arch / arm / include / asm / insn.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_ARM_INSN_H
3 #define __ASM_ARM_INSN_H
4
5 static inline unsigned long
6 arm_gen_nop(void)
7 {
8 #ifdef CONFIG_THUMB2_KERNEL
9         return 0xf3af8000; /* nop.w */
10 #else
11         return 0xe1a00000; /* mov r0, r0 */
12 #endif
13 }
14
15 unsigned long
16 __arm_gen_branch(unsigned long pc, unsigned long addr, bool link, bool warn);
17
18 static inline unsigned long
19 arm_gen_branch(unsigned long pc, unsigned long addr)
20 {
21         return __arm_gen_branch(pc, addr, false, true);
22 }
23
24 static inline unsigned long
25 arm_gen_branch_link(unsigned long pc, unsigned long addr, bool warn)
26 {
27         return __arm_gen_branch(pc, addr, true, warn);
28 }
29
30 #endif