[PATCH 0/4] Add support for V3 BPF atomic instructions

Jose E. Marchesi jose.marchesi@oracle.com
Thu May 11 14:13:47 GMT 2023


Hello people!

The BPF v3 ISA introduces a whole new set of atomic instructions.
This patch series adds support for these to the GNU binutils.

The first patch in the series is preparatory, and it changes the
generic CGEN support in opcodes to allow base instructions longer than
32-bit, which is required when you have opcodes past that position, as
it happens with these new instructions.  This is the part for which I
need an OK from a global maintainer.

Of course review of the BPF specific parts is also appreciated!
Salud!

Jose E. Marchesi (4):
  opcodes: use CGEN_INSN_LGUINT for base instructions
  cpu: add V3 BPF atomic instructions
  gas: add tests for BPF V3 atomic instructions
  gas: document V3 BPF atomic instructions in the GAS manual

 cpu/ChangeLog                        |   4 +
 cpu/bpf.cpu                          | 164 ++++++++++++++++---
 gas/ChangeLog                        |  14 +-
 gas/doc/c-bpf.texi                   |  56 ++++++-
 gas/testsuite/gas/bpf/atomic-v3-be.d |  30 ++++
 gas/testsuite/gas/bpf/atomic-v3.d    |  30 ++++
 gas/testsuite/gas/bpf/atomic-v3.s    |  22 +++
 gas/testsuite/gas/bpf/bpf.exp        |   2 +
 include/ChangeLog                    |   4 +
 include/opcode/cgen.h                |  10 +-
 opcodes/ChangeLog                    |  26 +++
 opcodes/bpf-desc.c                   | 182 +++++++++++++++++++++
 opcodes/bpf-desc.h                   |  30 +++-
 opcodes/bpf-dis.c                    |   2 +-
 opcodes/bpf-opc.c                    | 232 ++++++++++++++++++++++++++-
 opcodes/bpf-opc.h                    |  14 +-
 opcodes/cgen-dis.c                   |   2 +-
 opcodes/cgen-dis.in                  |   2 +-
 opcodes/cgen-opc.c                   |   8 +-
 opcodes/epiphany-dis.c               |   2 +-
 opcodes/fr30-dis.c                   |   2 +-
 opcodes/frv-dis.c                    |   2 +-
 opcodes/ip2k-dis.c                   |   2 +-
 opcodes/iq2000-dis.c                 |   2 +-
 opcodes/lm32-dis.c                   |   2 +-
 opcodes/m32c-dis.c                   |   2 +-
 opcodes/m32r-dis.c                   |   2 +-
 opcodes/mep-dis.c                    |   2 +-
 opcodes/mt-dis.c                     |   2 +-
 opcodes/or1k-dis.c                   |   2 +-
 opcodes/xstormy16-dis.c              |   2 +-
 31 files changed, 788 insertions(+), 70 deletions(-)
 create mode 100644 gas/testsuite/gas/bpf/atomic-v3-be.d
 create mode 100644 gas/testsuite/gas/bpf/atomic-v3.d
 create mode 100644 gas/testsuite/gas/bpf/atomic-v3.s

-- 
2.30.2



More information about the Binutils mailing list