[PATCH 0/2] aarch64: Add support for FEAT_MPAMv2_VID

richard.ball@arm.com richard.ball@arm.com
Thu Jan 15 18:42:18 GMT 2026


From: Richard Ball <Richard.Ball@arm.com>

This patch series adds support for FEAT_MPAMv2_VID
This patch requires: https://inbox.sourceware.org/binutils/20260115163056.72370-1-Ezra.Sitorus@arm.com/T/#u

========================================================================
[1/2] aarch64: Add FEAT_MPAMv2_VID system registers

This patch adds the system registers defined by
FEAT_MPAMv2_VID. These registers are:

   *mpamvidcr_el2
   *mpamvidsr_el2
   *mpamvidsr_el3


========================================================================
[2/2] aarch64: Add support for MLBI system instructions

This patch adds support for MLB invalidate operation (MLBI) instruction
and the corresponding system registers as operand (<mlbi_op>).

Syntax: MLBI <mlbi_op>{, <Xt>}

This instruction is an alias to "SYS #4, C7, C0, #<op2>{, <Xt>}"
and MLBI being the preferred disassembly.

The following list of system registers are supported in this patch for the
MLBI instructions enabled by "+mpamv2"

   * alle1
   * vmalle1
   * vpide1
   * vpmge1

========================================================================

Richard Ball (2):
  aarch64: Add FEAT_MPAMv2_VID system registers
  aarch64: Add support for MLBI system instructions

 gas/config/tc-aarch64.c                           | 12 ++++++++++++
 gas/testsuite/gas/aarch64/mlbi-1.d                | 14 ++++++++++++++
 gas/testsuite/gas/aarch64/mlbi-1.s                |  9 +++++++++
 gas/testsuite/gas/aarch64/mlbi-invalid-1.d        |  3 +++
 gas/testsuite/gas/aarch64/mlbi-invalid-1.l        |  7 +++++++
 gas/testsuite/gas/aarch64/mlbi-invalid-1.s        |  9 +++++++++
 gas/testsuite/gas/aarch64/mlbi-invalid-2.d        |  4 ++++
 gas/testsuite/gas/aarch64/mlbi-invalid-2.l        | 13 +++++++++++++
 gas/testsuite/gas/aarch64/sysreg/mpamv2_vid-bad.d |  3 +++
 gas/testsuite/gas/aarch64/sysreg/mpamv2_vid-bad.l | 13 +++++++++++++
 gas/testsuite/gas/aarch64/sysreg/mpamv2_vid.d     | 14 ++++++++++++++
 gas/testsuite/gas/aarch64/sysreg/mpamv2_vid.s     |  5 +++++
 include/opcode/aarch64.h                          |  2 ++
 opcodes/aarch64-asm-2.c                           |  2 ++
 opcodes/aarch64-dis-2.c                           |  4 ++++
 opcodes/aarch64-dis.c                             |  1 +
 opcodes/aarch64-opc-2.c                           |  1 +
 opcodes/aarch64-opc.c                             | 10 ++++++++++
 opcodes/aarch64-sys-regs.def                      |  3 +++
 opcodes/aarch64-tbl-2.h                           |  1 +
 opcodes/aarch64-tbl.h                             |  8 ++++++++
 21 files changed, 138 insertions(+)
 create mode 100644 gas/testsuite/gas/aarch64/mlbi-1.d
 create mode 100644 gas/testsuite/gas/aarch64/mlbi-1.s
 create mode 100644 gas/testsuite/gas/aarch64/mlbi-invalid-1.d
 create mode 100644 gas/testsuite/gas/aarch64/mlbi-invalid-1.l
 create mode 100644 gas/testsuite/gas/aarch64/mlbi-invalid-1.s
 create mode 100644 gas/testsuite/gas/aarch64/mlbi-invalid-2.d
 create mode 100644 gas/testsuite/gas/aarch64/mlbi-invalid-2.l
 create mode 100644 gas/testsuite/gas/aarch64/sysreg/mpamv2_vid-bad.d
 create mode 100644 gas/testsuite/gas/aarch64/sysreg/mpamv2_vid-bad.l
 create mode 100644 gas/testsuite/gas/aarch64/sysreg/mpamv2_vid.d
 create mode 100644 gas/testsuite/gas/aarch64/sysreg/mpamv2_vid.s

-- 
2.34.1



More information about the Binutils mailing list