aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/include
diff options
context:
space:
mode:
authorMarkos Chandras <markos.chandras@imgtec.com>2014-04-08 07:47:11 -0400
committerRalf Baechle <ralf@linux-mips.org>2014-05-30 09:54:38 -0400
commitab9e4fa092db6c4beea8fde67261959520675456 (patch)
tree9ab1a6cb3ea8e005dd131ce89fd1701c4e923fab /arch/mips/include
parente8ef868b470984064c23ce4bf2cd4c0167e1fbe5 (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.h1
-rw-r--r--arch/mips/include/uapi/asm/inst.h11
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);
157Ip_0(_tlbwi); 157Ip_0(_tlbwi);
158Ip_0(_tlbwr); 158Ip_0(_tlbwr);
159Ip_u1(_wait); 159Ip_u1(_wait);
160Ip_u2u1(_wsbh);
160Ip_u3u1u2(_xor); 161Ip_u3u1u2(_xor);
161Ip_u2u1u3(_xori); 162Ip_u2u1u3(_xori);
162Ip_u2u1(_yield); 163Ip_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 */
211enum 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 */
211enum mm_major_op { 221enum 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,