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

Message ID 20230511141351.18886-1-jose.marchesi@oracle.com
Headers
Series Add support for V3 BPF atomic instructions |

Message

Jose E. Marchesi May 11, 2023, 2:13 p.m. UTC
  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