From: Markos Chandras <markos.chandras@imgtec.com> To: <linux-mips@linux-mips.org> Cc: Markos Chandras <markos.chandras@imgtec.com> Subject: [PATCH 00/14] Initial BPF-JIT support for MIPS Date: Tue, 8 Apr 2014 12:47:01 +0100 [thread overview] Message-ID: <1396957635-27071-1-git-send-email-markos.chandras@imgtec.com> (raw) Hi, This adds support for BPF-JIT for MIPS. Tested on mips32 LE/BE and mips64 BE with a few networking tools such as tcpdump and dhcp but not all opcodes have been tested as far as I can tell. There are a few optimizations left to be made (fastpath for load operations instead of calling the helper functions) but these can be added later on. If someone has complex network setups in place and would like to give it a try, that would be much appreciated. This patchset is for the upstream-sfr/mips-for-linux-next tree Markos Chandras (14): MIPS: uasm: Add u3u2u1 instruction builders MIPS: uasm: Add u2u1 instruction builders MIPS: uasm: Add sllv uasm instruction MIPS: uasm: Add srlv uasm instruction MIPS: uasm: Add divu uasm instruction MIPS: uasm: Add mfhi uasm instruction MIPS: uasm: Add jalr uasm instruction MIPS: uasm: Add sltiu uasm instruction MIPS: uasm: Add sltu uasm instruction MIPS: uasm: Add wsbh uasm instruction MIPS: uasm: Add lh uam instruction MIPS: uasm: Add mul uasm instruction MIPS: net: Add BPF JIT MIPS: Enable the BPF_JIT symbol for MIPS arch/mips/Kbuild | 1 + arch/mips/Kconfig | 1 + arch/mips/include/asm/uasm.h | 16 + arch/mips/include/uapi/asm/inst.h | 17 + arch/mips/mm/uasm-micromips.c | 10 + arch/mips/mm/uasm-mips.c | 10 + arch/mips/mm/uasm.c | 39 +- arch/mips/net/Makefile | 3 + arch/mips/net/bpf_jit.c | 1327 +++++++++++++++++++++++++++++++++++++ arch/mips/net/bpf_jit.h | 45 ++ 10 files changed, 1462 insertions(+), 7 deletions(-) create mode 100644 arch/mips/net/Makefile create mode 100644 arch/mips/net/bpf_jit.c create mode 100644 arch/mips/net/bpf_jit.h -- 1.9.1
WARNING: multiple messages have this Message-ID (diff)
From: Markos Chandras <markos.chandras@imgtec.com> To: linux-mips@linux-mips.org Cc: Markos Chandras <markos.chandras@imgtec.com> Subject: [PATCH 00/14] Initial BPF-JIT support for MIPS Date: Tue, 8 Apr 2014 12:47:01 +0100 [thread overview] Message-ID: <1396957635-27071-1-git-send-email-markos.chandras@imgtec.com> (raw) Message-ID: <20140408114701.MrRQmEMqOp6mh5N3fQ_yf6_Edw6rTY3j7lf86UWuTG4@z> (raw) Hi, This adds support for BPF-JIT for MIPS. Tested on mips32 LE/BE and mips64 BE with a few networking tools such as tcpdump and dhcp but not all opcodes have been tested as far as I can tell. There are a few optimizations left to be made (fastpath for load operations instead of calling the helper functions) but these can be added later on. If someone has complex network setups in place and would like to give it a try, that would be much appreciated. This patchset is for the upstream-sfr/mips-for-linux-next tree Markos Chandras (14): MIPS: uasm: Add u3u2u1 instruction builders MIPS: uasm: Add u2u1 instruction builders MIPS: uasm: Add sllv uasm instruction MIPS: uasm: Add srlv uasm instruction MIPS: uasm: Add divu uasm instruction MIPS: uasm: Add mfhi uasm instruction MIPS: uasm: Add jalr uasm instruction MIPS: uasm: Add sltiu uasm instruction MIPS: uasm: Add sltu uasm instruction MIPS: uasm: Add wsbh uasm instruction MIPS: uasm: Add lh uam instruction MIPS: uasm: Add mul uasm instruction MIPS: net: Add BPF JIT MIPS: Enable the BPF_JIT symbol for MIPS arch/mips/Kbuild | 1 + arch/mips/Kconfig | 1 + arch/mips/include/asm/uasm.h | 16 + arch/mips/include/uapi/asm/inst.h | 17 + arch/mips/mm/uasm-micromips.c | 10 + arch/mips/mm/uasm-mips.c | 10 + arch/mips/mm/uasm.c | 39 +- arch/mips/net/Makefile | 3 + arch/mips/net/bpf_jit.c | 1327 +++++++++++++++++++++++++++++++++++++ arch/mips/net/bpf_jit.h | 45 ++ 10 files changed, 1462 insertions(+), 7 deletions(-) create mode 100644 arch/mips/net/Makefile create mode 100644 arch/mips/net/bpf_jit.c create mode 100644 arch/mips/net/bpf_jit.h -- 1.9.1
next reply other threads:[~2014-04-08 11:47 UTC|newest] Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-04-08 11:47 Markos Chandras [this message] 2014-04-08 11:47 ` [PATCH 00/14] Initial BPF-JIT support for MIPS Markos Chandras 2014-04-08 11:47 ` [PATCH 01/14] MIPS: uasm: Add u3u2u1 instruction builders Markos Chandras 2014-04-08 11:47 ` Markos Chandras 2014-04-08 11:47 ` [PATCH 02/14] MIPS: uasm: Add u2u1 " Markos Chandras 2014-04-08 11:47 ` Markos Chandras 2014-04-08 11:47 ` [PATCH 03/14] MIPS: uasm: Add sllv uasm instruction Markos Chandras 2014-04-08 11:47 ` Markos Chandras 2014-04-08 11:47 ` [PATCH 04/14] MIPS: uasm: Add srlv " Markos Chandras 2014-04-08 11:47 ` Markos Chandras 2014-04-08 11:47 ` [PATCH 05/14] MIPS: uasm: Add divu " Markos Chandras 2014-04-08 11:47 ` Markos Chandras 2014-04-08 11:47 ` [PATCH 06/14] MIPS: uasm: Add mfhi " Markos Chandras 2014-04-08 11:47 ` Markos Chandras 2014-04-08 11:47 ` [PATCH 07/14] MIPS: uasm: Add jalr " Markos Chandras 2014-04-08 11:47 ` Markos Chandras 2014-04-08 11:47 ` [PATCH 08/14] MIPS: uasm: Add sltiu " Markos Chandras 2014-04-08 11:47 ` Markos Chandras 2014-04-08 11:47 ` [PATCH 09/14] MIPS: uasm: Add sltu " Markos Chandras 2014-04-08 11:47 ` Markos Chandras 2014-04-08 11:47 ` [PATCH 10/14] MIPS: uasm: Add wsbh " Markos Chandras 2014-04-08 11:47 ` Markos Chandras 2014-04-08 11:47 ` [PATCH 11/14] MIPS: uasm: Add lh uam instruction Markos Chandras 2014-04-08 11:47 ` Markos Chandras 2014-04-08 11:47 ` [PATCH 12/14] MIPS: uasm: Add mul uasm instruction Markos Chandras 2014-04-08 11:47 ` Markos Chandras 2014-04-08 11:47 ` [PATCH 13/14] MIPS: net: Add BPF JIT Markos Chandras 2014-04-08 11:47 ` Markos Chandras 2014-04-09 16:00 ` [PATCH v2 " Markos Chandras 2014-04-09 16:00 ` Markos Chandras 2014-04-09 22:28 ` Jonas Gorski 2014-04-10 7:46 ` Markos Chandras 2014-04-10 7:46 ` Markos Chandras 2014-04-10 3:40 ` Alexei Starovoitov 2014-04-10 8:06 ` Markos Chandras 2014-04-10 8:06 ` Markos Chandras 2014-04-24 14:50 ` [PATCH v3 " Markos Chandras 2014-04-24 14:50 ` Markos Chandras 2014-04-24 16:31 ` Paul Burton 2014-04-24 16:31 ` Paul Burton 2014-04-25 12:06 ` Markos Chandras 2014-04-25 12:06 ` Markos Chandras 2014-04-29 15:58 ` [PATCH v4 " Markos Chandras 2014-04-29 15:58 ` Markos Chandras 2014-04-08 11:47 ` [PATCH 14/14] MIPS: Enable the BPF_JIT symbol for MIPS Markos Chandras 2014-04-08 11:47 ` Markos Chandras 2014-04-09 16:02 ` [PATCH v2 " Markos Chandras 2014-04-09 16:02 ` Markos Chandras 2014-04-08 18:38 ` [PATCH 00/14] Initial BPF-JIT support " Florian Fainelli 2014-04-09 8:55 ` Markos Chandras 2014-04-09 10:11 ` Jonas Gorski 2014-04-09 10:56 ` Markos Chandras 2014-04-09 10:56 ` Markos Chandras
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1396957635-27071-1-git-send-email-markos.chandras@imgtec.com \ --to=markos.chandras@imgtec.com \ --cc=linux-mips@linux-mips.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.