aarch64: Refactor system register data

This patch  moves instances of system register definitions, represented
by the SYSREG macro, out of their original place in `aarch64-opc.c'
and into a dedicated .def file, `aarch64-sys-regs.def'.

System register entries in this new file are ordered alphabetically by
name.  This choice is made to enable the use of fast search algorithms
such as binary search when validating register names.

The SYSREG macro, defined as SYSREG (name, encoding, flags, features)
is kept as is and used in the def file, but all other SR_* macros
which previously served as indirections to SYSREG are removed.

opcodes/ChangeLog:
	* aarch64-opc.c (SR_CORE): Macro definition and uses deleted.
	(SR_FEAT): Likewise.
	(SR_FEAT2): Likewise.
	(SR_V8_1_A): Likewise.
	(SR_V8_4_A): Likewise.
	(SR_V8A): Likewise.
	(SR_V8R): Likewise.
	(SR_V8_1A): Likewise.
	(SR_V8_2A): Likewise.
	(SR_V8_3A): Likewise.
	(SR_V8_4A): Likewise.
	(SR_V8_6A): Likewise.
	(SR_V8_7A): Likewise.
	(SR_V8_8A): Likewise.
	(SR_GIC): Likewise.
	(SR_AMU): Likewise.
	(SR_LOR): Likewise.
	(SR_PAN): Likewise.
	(SR_RAS): Likewise.
	(SR_RNG): Likewise.
	(SR_SME): Likewise.
	(SR_SSBS): Likewise.
	(SR_SVE): Likewise.
	(SR_ID_PFR2): Likewise.
	(SR_PROFILE): Likewise.
	(SR_MEMTAG): Likewise.
	(SR_SCXTNUM): Likewise.
	(SR_EXPAND_ELx): Likewise.
	(SR_EXPAND_EL12): Likewise.
	* opcodes/aarch64-sys-regs.def: New.
This commit is contained in:
Victor Do Nascimento
2023-10-02 09:35:01 +01:00
parent 1bf6696b59
commit 5dd233b314
2 changed files with 1080 additions and 1068 deletions

File diff suppressed because it is too large Load Diff

1060
opcodes/aarch64-sys-regs.def Normal file

File diff suppressed because it is too large Load Diff