blob: e96065da4daebe8347f6dab3da2f3ba542ac320b [file] [log] [blame]
Rabin Vincentd82227c2012-02-18 17:50:06 +01001#ifndef __ASM_ARM_INSN_H
2#define __ASM_ARM_INSN_H
3
Rabin Vincent09f05d82012-02-18 17:52:41 +01004static inline unsigned long
5arm_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
Rabin Vincentd82227c2012-02-18 17:50:06 +010014unsigned long
15__arm_gen_branch(unsigned long pc, unsigned long addr, bool link);
16
17static inline unsigned long
18arm_gen_branch(unsigned long pc, unsigned long addr)
19{
20 return __arm_gen_branch(pc, addr, false);
21}
22
23static inline unsigned long
24arm_gen_branch_link(unsigned long pc, unsigned long addr)
25{
26 return __arm_gen_branch(pc, addr, true);
27}
28
29#endif