arm64: Allow the definition of UNKNOWN system register fields
authorMarc Zyngier <maz@kernel.org>
Thu, 12 Jan 2023 02:38:46 +0000 (11:38 +0900)
committerOliver Upton <oliver.upton@linux.dev>
Thu, 12 Jan 2023 21:07:43 +0000 (21:07 +0000)
commite2c0b51f1c9dacc68292ce9ebffbfd4204d1ca58
treebf6566fea3cd957b06ca4c5667b0f0329e0adb50
parentb7bfaa761d760e72a969d116517eaa12e404c262
arm64: Allow the definition of UNKNOWN system register fields

The CCSIDR_EL1 register contains an UNKNOWN field (which replaces
fields that were actually defined in previous revisions of the
architecture).

Define an 'Unkn' field type modeled after the Res0/Res1 types
to allow such description. This allows the generation of

  #define CCSIDR_EL1_UNKN     (UL(0) | GENMASK_ULL(31, 28))

which may have its use one day. Hopefully the architecture doesn't
add too many of those in the future.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20230112023852.42012-2-akihiko.odaki@daynix.com
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
arch/arm64/tools/gen-sysreg.awk
arch/arm64/tools/sysreg