diff options
author | J. Bruce Fields <bfields@citi.umich.edu> | 2010-06-08 20:05:18 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2010-06-08 20:05:18 -0400 |
commit | 44b56603c4c476b845a824cff6fe905c6268b2a1 (patch) | |
tree | b7e792414fef2390718a657765719fbbb529ce84 /arch/mips/include/asm/uasm.h | |
parent | c3935e30495869dd611e1cd62253c94ebc7c6c04 (diff) | |
parent | b160fdabe93a8a53094f90f02bf4dcb500782aab (diff) |
Merge branch 'for-2.6.34-incoming' into for-2.6.35-incoming
Diffstat (limited to 'arch/mips/include/asm/uasm.h')
-rw-r--r-- | arch/mips/include/asm/uasm.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/mips/include/asm/uasm.h b/arch/mips/include/asm/uasm.h index 11a8b5252549..697e40c06497 100644 --- a/arch/mips/include/asm/uasm.h +++ b/arch/mips/include/asm/uasm.h @@ -167,6 +167,24 @@ static inline void __cpuinit uasm_l##lb(struct uasm_label **lab, u32 *addr) \ #define uasm_i_ssnop(buf) uasm_i_sll(buf, 0, 0, 1) #define uasm_i_ehb(buf) uasm_i_sll(buf, 0, 0, 3) +static inline void uasm_i_dsrl_safe(u32 **p, unsigned int a1, + unsigned int a2, unsigned int a3) +{ + if (a3 < 32) + uasm_i_dsrl(p, a1, a2, a3); + else + uasm_i_dsrl32(p, a1, a2, a3 - 32); +} + +static inline void uasm_i_dsll_safe(u32 **p, unsigned int a1, + unsigned int a2, unsigned int a3) +{ + if (a3 < 32) + uasm_i_dsll(p, a1, a2, a3); + else + uasm_i_dsll32(p, a1, a2, a3 - 32); +} + /* Handle relocations. */ struct uasm_reloc { u32 *addr; |