xref: /linux/arch/arm/include/asm/insn.h (revision 93df8a1ed6231727c5db94a80b1a6bd5ee67cec3)
1 #ifndef __ASM_ARM_INSN_H
2 #define __ASM_ARM_INSN_H
3 
4 static inline unsigned long
5 arm_gen_nop(void)
6 {
7 #ifdef CONFIG_THUMB2_KERNEL
8 	return 0xf3af8000; /* nop.w */
9 #else
10 	return 0xe1a00000; /* mov r0, r0 */
11 #endif
12 }
13 
14 unsigned long
15 __arm_gen_branch(unsigned long pc, unsigned long addr, bool link);
16 
17 static inline unsigned long
18 arm_gen_branch(unsigned long pc, unsigned long addr)
19 {
20 	return __arm_gen_branch(pc, addr, false);
21 }
22 
23 static inline unsigned long
24 arm_gen_branch_link(unsigned long pc, unsigned long addr)
25 {
26 	return __arm_gen_branch(pc, addr, true);
27 }
28 
29 #endif
30