[PATCH v3 02/22] arm64: Generate sign macro for sysreg Enums
Mark Rutland
mark.rutland at arm.com
Mon Jul 7 09:07:53 PDT 2025
On Thu, Jun 26, 2025 at 08:04:38PM +0000, Colton Lewis wrote:
> There's no reason Enums shouldn't be equivalent to UnsignedEnums and
> explicitly specify they are unsigned. This will avoid the annoyance I
> had with HPMN0.
>
> Signed-off-by: Colton Lewis <coltonlewis at google.com>
I realise you've already agreed to drop this, so the below is mostly for
the sake of the archive.
We deliberately kept Enum separate from SignedEnum and UnsignedEnum as
there are enumerated ID fields which have no ordering, and are neither
signed nor unsigned (e.g. CTR_EL0.L1Ip).
That was discussed previously at:
https://lore.kernel.org/all/Y5MrVC3d8MPhvshE@FVFF77S0Q05N/
We could consider adding a comment to that effect in gen-sysreg.awk, but
that needn't be part of this series.
Mark.
> ---
> arch/arm64/tools/gen-sysreg.awk | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm64/tools/gen-sysreg.awk b/arch/arm64/tools/gen-sysreg.awk
> index f2a1732cb1f6..fa21a632d9b7 100755
> --- a/arch/arm64/tools/gen-sysreg.awk
> +++ b/arch/arm64/tools/gen-sysreg.awk
> @@ -308,6 +308,7 @@ $1 == "Enum" && (block_current() == "Sysreg" || block_current() == "SysregFields
> parse_bitdef(reg, field, $2)
>
> define_field(reg, field, msb, lsb)
> + define_field_sign(reg, field, "false")
>
> next
> }
> --
> 2.50.0.727.gbf7dc18ff4-goog
>
More information about the linux-arm-kernel
mailing list