mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-11-16 12:34:43 +00:00
aarch64: Update system register gating
Historically we have been inconsistent and overly restrictive in our choice of features to gate system register accesses. (Originally this gating was always applied, but now it is disabled unless the --menable-sysreg-checking option is specified). This patch updates these constraints, following the principle that we should only reject a system register access if it requires some architecture feature or version whose corresponding command line extension has not been enabled. The most common change in this patch concerns system registers that were: - part of a feature FEAT_X with no corresponding command line extension; - introduced in a newer architecture version ArmvX.Z; - permitted to be implemented from an earlier version ArmvX.Y. Previously these system registers tended to be gated on ArmvX.Z or left ungated, but following the above principle they are now gated on ArmvX.Y instead.
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
#source: armv8_9-a-sysregs.s
|
||||
#as: -menable-sysreg-checking -march=armv8.8-a -I$srcdir/$subdir --no-info
|
||||
#as: -menable-sysreg-checking -march=armv8.7-a -I$srcdir/$subdir --no-info
|
||||
#error_output: armv8_9-a-sysregs-bad.l
|
||||
|
||||
@@ -2,14 +2,6 @@
|
||||
.*: Error: selected processor does not support system register name 'pmsdsfr_el1'
|
||||
.*: Error: selected processor does not support system register name 'pmsdsfr_el1'
|
||||
.*: Error: selected processor does not support system register name 'erxgsr_el1'
|
||||
.*: Error: selected processor does not support system register name 'sctlr2_el1'
|
||||
.*: Error: selected processor does not support system register name 'sctlr2_el1'
|
||||
.*: Error: selected processor does not support system register name 'sctlr2_el12'
|
||||
.*: Error: selected processor does not support system register name 'sctlr2_el12'
|
||||
.*: Error: selected processor does not support system register name 'sctlr2_el2'
|
||||
.*: Error: selected processor does not support system register name 'sctlr2_el2'
|
||||
.*: Error: selected processor does not support system register name 'sctlr2_el3'
|
||||
.*: Error: selected processor does not support system register name 'sctlr2_el3'
|
||||
.*: Error: selected processor does not support system register name 'hdfgrtr2_el2'
|
||||
.*: Error: selected processor does not support system register name 'hdfgrtr2_el2'
|
||||
.*: Error: selected processor does not support system register name 'hdfgwtr2_el2'
|
||||
@@ -71,12 +63,6 @@
|
||||
.*: Error: selected processor does not support system register name 'por_el3'
|
||||
.*: Error: selected processor does not support system register name 's2por_el1'
|
||||
.*: Error: selected processor does not support system register name 's2por_el1'
|
||||
.*: Error: selected processor does not support system register name 'tcr2_el1'
|
||||
.*: Error: selected processor does not support system register name 'tcr2_el1'
|
||||
.*: Error: selected processor does not support system register name 'tcr2_el12'
|
||||
.*: Error: selected processor does not support system register name 'tcr2_el12'
|
||||
.*: Error: selected processor does not support system register name 'tcr2_el2'
|
||||
.*: Error: selected processor does not support system register name 'tcr2_el2'
|
||||
.*: Error: selected processor does not support system register name 'mdselr_el1'
|
||||
.*: Error: selected processor does not support system register name 'mdselr_el1'
|
||||
.*: Error: selected processor does not support system register name 'pmuacr_el1'
|
||||
@@ -283,4 +269,4 @@
|
||||
.*: Error: selected processor does not support system register name 'pmecr_el1'
|
||||
.*: Error: selected processor does not support system register name 'pmecr_el1'
|
||||
.*: Error: selected processor does not support system register name 'pmiar_el1'
|
||||
.*: Error: selected processor does not support system register name 'pmiar_el1'
|
||||
.*: Error: selected processor does not support system register name 'pmiar_el1'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#source: armv8_9-a-sysregs.s
|
||||
#as: -menable-sysreg-checking -march=armv8.9-a -I$srcdir/$subdir
|
||||
#as: -menable-sysreg-checking -march=armv9.4-a+profile -I$srcdir/$subdir
|
||||
#objdump: -dr
|
||||
|
||||
.*: file format .*
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#source: armv9_5-a-sysregs.s
|
||||
#as: -menable-sysreg-checking -march=armv9.4-a -I$srcdir/$subdir
|
||||
#as: -menable-sysreg-checking -march=armv9.3-a -I$srcdir/$subdir
|
||||
#error_output: armv9_5-a-sysregs-archv9_4-unsupported.l
|
||||
|
||||
@@ -8,12 +8,6 @@
|
||||
[^:]*:[0-9]+: Error: selected processor does not support system register name 'cvadp'
|
||||
[^:]*:[0-9]+: Error: selected processor does not support system register name 'rndr'
|
||||
[^:]*:[0-9]+: Error: selected processor does not support system register name 'rndrrs'
|
||||
[^:]*:[0-9]+: Error: selected processor does not support system register name 'scxtnum_el0'
|
||||
[^:]*:[0-9]+: Error: selected processor does not support system register name 'scxtnum_el1'
|
||||
[^:]*:[0-9]+: Error: selected processor does not support system register name 'scxtnum_el2'
|
||||
[^:]*:[0-9]+: Error: selected processor does not support system register name 'scxtnum_el3'
|
||||
[^:]*:[0-9]+: Error: selected processor does not support system register name 'scxtnum_el12'
|
||||
[^:]*:[0-9]+: Error: selected processor does not support system register name 'id_pfr2_el1'
|
||||
[^:]*:[0-9]+: Error: selected processor does not support system register name 'tco'
|
||||
[^:]*:[0-9]+: Error: selected processor does not support system register name 'tco'
|
||||
[^:]*:[0-9]+: Error: selected processor does not support system register name 'tfsre0_el1'
|
||||
|
||||
@@ -13,20 +13,19 @@
|
||||
|
||||
roreg lorid_el1
|
||||
|
||||
.arch armv8.2-a
|
||||
.arch armv8.1-a
|
||||
|
||||
roreg ccsidr2_el1
|
||||
|
||||
.arch armv8.2-a
|
||||
|
||||
rwreg rcwmask_el1
|
||||
rwreg rcwsmask_el1
|
||||
|
||||
.arch armv8.3-a
|
||||
|
||||
rwreg trfcr_el1
|
||||
roreg pmmir_el1
|
||||
rwreg trfcr_el2
|
||||
|
||||
rwreg trfcr_el12
|
||||
|
||||
rwreg amcr_el0
|
||||
roreg amcfgr_el0
|
||||
roreg amcgcr_el0
|
||||
@@ -76,7 +75,7 @@
|
||||
rwreg amevtyper114_el0
|
||||
rwreg amevtyper115_el0
|
||||
|
||||
.arch armv8.5-a
|
||||
.arch armv8.4-a
|
||||
|
||||
roreg amcg1idr_el0
|
||||
roreg cntpctss_el0
|
||||
@@ -121,7 +120,7 @@
|
||||
rwreg amevcntvoff115_el2
|
||||
rwreg cntpoff_el2
|
||||
|
||||
.arch armv8.6-a
|
||||
.arch armv8.5-a+profile
|
||||
|
||||
rwreg pmsnevfr_el1
|
||||
rwreg hcrx_el2
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#name: SME extension (system registers)
|
||||
#as: -menable-sysreg-checking -march=armv8-a+sme
|
||||
#as: -menable-sysreg-checking -march=armv8.2-a+sme
|
||||
#objdump: -dr
|
||||
|
||||
.*: file format .*
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
.*: Assembler messages:
|
||||
.*:1: Error: selected processor does not support system register name 'id_aa64zfr0_el1'
|
||||
.*:2: Error: selected processor does not support system register name 'id_aa64zfr0_el1'
|
||||
.*:4: Error: selected processor does not support system register name 'zcr_el1'
|
||||
.*:5: Error: selected processor does not support system register name 'zcr_el1'
|
||||
.*:6: Error: selected processor does not support system register name 'zcr_el1'
|
||||
|
||||
@@ -172,7 +172,7 @@
|
||||
rw_sys_reg amevcntvoff115_el2
|
||||
rw_sys_reg cntpoff_el2
|
||||
|
||||
.arch armv8.7-a
|
||||
.arch armv8.7-a+profile
|
||||
|
||||
rw_sys_reg pmsnevfr_el1
|
||||
rw_sys_reg hcrx_el2
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
.*: Assembler messages:
|
||||
.*: Error: selected processor does not support system register name 'mpuir_el1'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'afsr0_el12'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'afsr0_el12'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support PSTATE field name 'uao'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'uao'
|
||||
@@ -21,12 +17,6 @@
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'vsttbr_el2'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'scxtnum_el0'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'scxtnum_el0'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'id_pfr2_el1'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'amcg1idr_el0'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'hcrx_el2'
|
||||
@@ -83,18 +73,10 @@
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 's2por_el1'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'sctlr2_el1'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'sctlr2_el1'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'spmaccessr_el1'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'spmaccessr_el1'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'tcr2_el1'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'tcr2_el1'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'amair2_el1'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'amair2_el1'
|
||||
@@ -125,8 +107,6 @@
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'fpmr'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'id_aa64zfr0_el1'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'lorc_el1'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'lorc_el1'
|
||||
@@ -137,8 +117,6 @@
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'gcspr_el0'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'id_aa64smfr0_el1'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'trcitecr_el1'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'trcitecr_el1'
|
||||
@@ -165,7 +143,3 @@
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'rcwmask_el1'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'ttbr1_el2'
|
||||
.*: Info: macro invoked from here
|
||||
.*: Error: selected processor does not support system register name 'ttbr1_el2'
|
||||
.*: Info: macro invoked from here
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
.arch armv8.8-a
|
||||
rw_sys_reg allint // V8_8A
|
||||
|
||||
.arch armv8.9-a
|
||||
.arch armv8.9-a+profile
|
||||
rw_sys_reg pfar_el1 // PFAR
|
||||
rw_sys_reg pir_el1 // S1PIE
|
||||
rw_sys_reg pmecr_el1 // SEBEP
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user