Hi! This series migrates our eBPF offload from old PoC firmware to a redesigned, faster and more feature rich FW. Marking support is dropped for now. We have to teach the JIT about encoding local memory accesses (one of NFP memory types). There is also code to populate the ECC of instructions (PoC had ECC protection on instruction store disabled). There is also a minor ld_field fix and all 64 bit shifts can now be encoded.
Jakub Kicinski (15): nfp: output control messages to trace_devlink_hwmsg() nfp: bpf: lift the single-port limitation nfp: bpf: use the power of sparse to check we encode registers right nfp: bpf: move software reg helpers and cmd table out of translator nfp: bpf: encode all 64bit shifts nfp: bpf: remove register rename nfp: bpf: remove packet marking support nfp: add more white space to the instruction defines nfp: bpf: encode LMEM accesses nfp: bpf: encode extended LM pointer operands nfp: bpf: move to datapath ABI version 2 nfp: bpf: calculate code store ECC nfp: bpf: pad code with valid nops nfp: bpf: byte swap the instructions nfp: bpf: pass dst register to ld_field instruction drivers/net/ethernet/netronome/nfp/Makefile | 1 + drivers/net/ethernet/netronome/nfp/bpf/jit.c | 403 ++++++++-------------- drivers/net/ethernet/netronome/nfp/bpf/main.c | 8 - drivers/net/ethernet/netronome/nfp/bpf/main.h | 49 +-- drivers/net/ethernet/netronome/nfp/nfp_app.h | 8 + drivers/net/ethernet/netronome/nfp/nfp_asm.c | 254 ++++++++++++++ drivers/net/ethernet/netronome/nfp/nfp_asm.h | 293 +++++++++++----- drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h | 2 +- 8 files changed, 640 insertions(+), 378 deletions(-) create mode 100644 drivers/net/ethernet/netronome/nfp/nfp_asm.c -- 2.14.1