]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
aarch64: Remove +mpamv2 and support for MPAMV2_VID.
authorRichard Earnshaw <rearnsha@arm.com>
Tue, 7 Jul 2026 10:44:48 +0000 (11:44 +0100)
committerRichard Earnshaw <rearnsha@arm.com>
Tue, 7 Jul 2026 16:39:19 +0000 (17:39 +0100)
There are no known implementations of the MPAMV2_VID extension, and
Arm has decided to remove it from the AArch64 architecture specification.
This patch implements that withdrawal.  The only purpose of the +mpamv2
architectural feature extension was to enable the instructions added
by MPAMV2_VID in the assembler and these have also been removed.  The
feature extension is thus redundant and has been removed.  The sysreg
specifications have been updated to conform with similar sysregs that
have no associated instructions in the feature.

gcc/ChangeLog:

* config/aarch64/aarch64-option-extensions.def (AARCH64_OPT_EXTENSION):
Remove +mpamv2.
* config/aarch64/aarch64-sys-regs.def: Remove sysregs associated
with MPAMv2_VID and adjust other related sysregs to use the
base permitted architecture.
* doc/invoke.texi (aarch64: +mpamv2): Remove option.

gcc/config/aarch64/aarch64-option-extensions.def
gcc/config/aarch64/aarch64-sys-regs.def
gcc/doc/invoke.texi

index b23e44efeb0339a8bd0d6886d2c3c7b6942d96bc..85483f38cc47358333827bf2d70a39522f868074 100644 (file)
@@ -359,8 +359,6 @@ AARCH64_OPT_EXTENSION("tlbid", TLBID, (), (), (), "")
 
 AARCH64_OPT_EXTENSION("gcie", GCIE, (), (), (), "")
 
-AARCH64_OPT_EXTENSION("mpamv2", MPAMv2, (), (), (), "")
-
 AARCH64_OPT_EXTENSION("lscp", LSCP, (), (), (), "")
 
 AARCH64_OPT_EXTENSION("mops-go", MOPS_GO, (MOPS, MEMTAG), (), (), "")
index 9daa178ed7b71351a9808179be539224ee86106a..1efbc3f3de5a195c5246885798b3fb0f5447d723 100644 (file)
   SYSREG ("mpambwcap_el2",     CPENC (3,4,10,5,6),     0,              AARCH64_FEATURE (V9_3A)) /* MPAM_PE_BW_CTRL */
   SYSREG ("mpambwidr_el1",     CPENC (3,0,10,4,5),     F_REG_READ,     AARCH64_FEATURE (V9_3A)) /* MPAM_PE_BW_CTRL */
   SYSREG ("mpambwsm_el1",      CPENC (3,0,10,5,7),     0,              AARCH64_FEATURES (2, SME, V9_3A)) /* SME && MPAM_PE_BW_CTRL */
-  SYSREG ("mpamctl_el1",       CPENC (3,0,10,5,2),     0,              AARCH64_FEATURE (MPAMv2))
-  SYSREG ("mpamctl_el12",      CPENC (3,5,10,5,2),     0,              AARCH64_FEATURE (MPAMv2))
-  SYSREG ("mpamctl_el2",       CPENC (3,4,10,5,2),     0,              AARCH64_FEATURE (MPAMv2))
-  SYSREG ("mpamctl_el3",       CPENC (3,6,10,5,2),     0,              AARCH64_FEATURE (MPAMv2))
+  SYSREG ("mpamctl_el1",       CPENC (3,0,10,5,2),     0,              AARCH64_FEATURE (V9_3A)) /* MPAMv2 */
+  SYSREG ("mpamctl_el12",      CPENC (3,5,10,5,2),     0,              AARCH64_FEATURE (V9_3A)) /* MPAMv2 */
+  SYSREG ("mpamctl_el2",       CPENC (3,4,10,5,2),     0,              AARCH64_FEATURE (V9_3A)) /* MPAMv2 */
+  SYSREG ("mpamctl_el3",       CPENC (3,6,10,5,2),     0,              AARCH64_FEATURE (V9_3A)) /* MPAMv2 */
   SYSREG ("mpamhcr_el2",       CPENC (3,4,10,4,0),     0,              AARCH64_FEATURE (V8_2A)) /* MPAM */
   SYSREG ("mpamidr_el1",       CPENC (3,0,10,4,4),     F_REG_READ,     AARCH64_FEATURE (V8_2A)) /* MPAM */
   SYSREG ("mpamsm_el1",                CPENC (3,0,10,5,3),     0,              AARCH64_FEATURES (2, SME, V8_2A)) /* SME && MPAM */
-  SYSREG ("mpamvidcr_el2",     CPENC (3,4,10,7,0),     0,              AARCH64_FEATURE (MPAMv2))
-  SYSREG ("mpamvidsr_el2",     CPENC (3,4,10,7,1),     0,              AARCH64_FEATURE (MPAMv2))
-  SYSREG ("mpamvidsr_el3",     CPENC (3,6,10,7,1),     0,              AARCH64_FEATURE (MPAMv2))
   SYSREG ("mpamvpm0_el2",      CPENC (3,4,10,6,0),     0,              AARCH64_FEATURE (V8_2A)) /* MPAM */
   SYSREG ("mpamvpm1_el2",      CPENC (3,4,10,6,1),     0,              AARCH64_FEATURE (V8_2A)) /* MPAM */
   SYSREG ("mpamvpm2_el2",      CPENC (3,4,10,6,2),     0,              AARCH64_FEATURE (V8_2A)) /* MPAM */
index 122039134f250e6ba0fa54066e3152c931b0e3cf..4cdea71184238eb522557628e3e9baeece13f050 100644 (file)
@@ -22083,8 +22083,6 @@ Enable the TIndex Exception-like Vector Extension.
 Enable the TLBI Domains Extension.
 @item gcie
 Enable the GICv5 (Generic Interrupt Controller) CPU Interface Extension.
-@item mpamv2
-Enable MPAMv2 system registers.
 @item lscp
 Enable the load acquire and store release pair extension.
 @item mops-go