diff options
author | Jiong Wang <jiong.wang@netronome.com> | 2018-12-05 13:52:30 -0500 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2018-12-07 16:30:48 -0500 |
commit | ee94b90c8acaa593b627f5f3fe93e076e7779f5c (patch) | |
tree | 4448eaaafbb857abc286215b121f37ed7656aefb /arch/mips/mm/uasm.c | |
parent | 17f6c83fb5ebf7db4fcc94a5be4c22d5a7bfe428 (diff) |
mips: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_X
Jitting of BPF_K is supported already, but not BPF_X. This patch complete
the support for the latter on both MIPS and microMIPS.
Cc: Paul Burton <paul.burton@mips.com>
Cc: linux-mips@vger.kernel.org
Acked-by: Paul Burton <paul.burton@mips.com>
Signed-off-by: Jiong Wang <jiong.wang@netronome.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'arch/mips/mm/uasm.c')
-rw-r--r-- | arch/mips/mm/uasm.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/mips/mm/uasm.c b/arch/mips/mm/uasm.c index 57570c0649b4..45b6264ff308 100644 --- a/arch/mips/mm/uasm.c +++ b/arch/mips/mm/uasm.c | |||
@@ -61,10 +61,10 @@ enum opcode { | |||
61 | insn_mthc0, insn_mthi, insn_mtlo, insn_mul, insn_multu, insn_nor, | 61 | insn_mthc0, insn_mthi, insn_mtlo, insn_mul, insn_multu, insn_nor, |
62 | insn_or, insn_ori, insn_pref, insn_rfe, insn_rotr, insn_sb, | 62 | insn_or, insn_ori, insn_pref, insn_rfe, insn_rotr, insn_sb, |
63 | insn_sc, insn_scd, insn_sd, insn_sh, insn_sll, insn_sllv, | 63 | insn_sc, insn_scd, insn_sd, insn_sh, insn_sll, insn_sllv, |
64 | insn_slt, insn_slti, insn_sltiu, insn_sltu, insn_sra, insn_srl, | 64 | insn_slt, insn_slti, insn_sltiu, insn_sltu, insn_sra, insn_srav, |
65 | insn_srlv, insn_subu, insn_sw, insn_sync, insn_syscall, insn_tlbp, | 65 | insn_srl, insn_srlv, insn_subu, insn_sw, insn_sync, insn_syscall, |
66 | insn_tlbr, insn_tlbwi, insn_tlbwr, insn_wait, insn_wsbh, insn_xor, | 66 | insn_tlbp, insn_tlbr, insn_tlbwi, insn_tlbwr, insn_wait, insn_wsbh, |
67 | insn_xori, insn_yield, | 67 | insn_xor, insn_xori, insn_yield, |
68 | insn_invalid /* insn_invalid must be last */ | 68 | insn_invalid /* insn_invalid must be last */ |
69 | }; | 69 | }; |
70 | 70 | ||
@@ -353,6 +353,7 @@ I_u2u1s3(_slti) | |||
353 | I_u2u1s3(_sltiu) | 353 | I_u2u1s3(_sltiu) |
354 | I_u3u1u2(_sltu) | 354 | I_u3u1u2(_sltu) |
355 | I_u2u1u3(_sra) | 355 | I_u2u1u3(_sra) |
356 | I_u3u2u1(_srav) | ||
356 | I_u2u1u3(_srl) | 357 | I_u2u1u3(_srl) |
357 | I_u3u2u1(_srlv) | 358 | I_u3u2u1(_srlv) |
358 | I_u2u1u3(_rotr) | 359 | I_u2u1u3(_rotr) |