diff options
author | Markos Chandras <markos.chandras@imgtec.com> | 2014-04-08 07:47:11 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2014-05-30 09:54:38 -0400 |
commit | ab9e4fa092db6c4beea8fde67261959520675456 (patch) | |
tree | 9ab1a6cb3ea8e005dd131ce89fd1701c4e923fab /arch/mips/include | |
parent | e8ef868b470984064c23ce4bf2cd4c0167e1fbe5 (diff) |
MIPS: uasm: Add wsbh uasm instruction
It will be used later on by bpf-jit
[ralf@linux-mips.org: Resolved conflict.]
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: http://patchwork.linux-mips.org/patch/6732/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/include')
-rw-r--r-- | arch/mips/include/asm/uasm.h | 1 | ||||
-rw-r--r-- | arch/mips/include/uapi/asm/inst.h | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/arch/mips/include/asm/uasm.h b/arch/mips/include/asm/uasm.h index 090f7503e421..d754ddc496d0 100644 --- a/arch/mips/include/asm/uasm.h +++ b/arch/mips/include/asm/uasm.h | |||
@@ -157,6 +157,7 @@ Ip_0(_tlbr); | |||
157 | Ip_0(_tlbwi); | 157 | Ip_0(_tlbwi); |
158 | Ip_0(_tlbwr); | 158 | Ip_0(_tlbwr); |
159 | Ip_u1(_wait); | 159 | Ip_u1(_wait); |
160 | Ip_u2u1(_wsbh); | ||
160 | Ip_u3u1u2(_xor); | 161 | Ip_u3u1u2(_xor); |
161 | Ip_u2u1u3(_xori); | 162 | Ip_u2u1u3(_xori); |
162 | Ip_u2u1(_yield); | 163 | Ip_u2u1(_yield); |
diff --git a/arch/mips/include/uapi/asm/inst.h b/arch/mips/include/uapi/asm/inst.h index c78d235f86ee..aa37373bfd64 100644 --- a/arch/mips/include/uapi/asm/inst.h +++ b/arch/mips/include/uapi/asm/inst.h | |||
@@ -206,6 +206,16 @@ enum lx_func { | |||
206 | }; | 206 | }; |
207 | 207 | ||
208 | /* | 208 | /* |
209 | * BSHFL opcodes | ||
210 | */ | ||
211 | enum bshfl_func { | ||
212 | wsbh_op = 0x2, | ||
213 | dshd_op = 0x5, | ||
214 | seb_op = 0x10, | ||
215 | seh_op = 0x18, | ||
216 | }; | ||
217 | |||
218 | /* | ||
209 | * (microMIPS) Major opcodes. | 219 | * (microMIPS) Major opcodes. |
210 | */ | 220 | */ |
211 | enum mm_major_op { | 221 | enum mm_major_op { |
@@ -258,6 +268,7 @@ enum mm_32a_minor_op { | |||
258 | mm_lwxs_op = 0x118, | 268 | mm_lwxs_op = 0x118, |
259 | mm_addu32_op = 0x150, | 269 | mm_addu32_op = 0x150, |
260 | mm_subu32_op = 0x1d0, | 270 | mm_subu32_op = 0x1d0, |
271 | mm_wsbh_op = 0x1ec, | ||
261 | mm_and_op = 0x250, | 272 | mm_and_op = 0x250, |
262 | mm_or32_op = 0x290, | 273 | mm_or32_op = 0x290, |
263 | mm_xor32_op = 0x310, | 274 | mm_xor32_op = 0x310, |