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@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