[PATCH] arm64: arm64_ftr_reg->name may not be a human-readable string

Oliver Upton oupton at google.com
Mon Nov 1 09:59:48 PDT 2021


On Sun, Oct 31, 2021 at 9:54 PM Reiji Watanabe <reijiw at google.com> wrote:
>
> The id argument of ARM64_FTR_REG_OVERRIDE() is used for two purposes:
> one as the system register encoding (used for the sys_id field of
> __ftr_reg_entry), and the other as the register name (stringified
> and used for the name field of arm64_ftr_reg), which is debug
> information. The id argument is supposed to be a macro that
> indicates an encoding of the register (eg. SYS_ID_AA64PFR0_EL1, etc).
>
> ARM64_FTR_REG(), which also has the same id argument,
> uses ARM64_FTR_REG_OVERRIDE() and passes the id to the macro.
> Since the id argument is completely macro-expanded before it is
> substituted into a macro body of ARM64_FTR_REG_OVERRIDE(),
> the stringified id in the body of ARM64_FTR_REG_OVERRIDE is not
> a human-readable register name, but a string of numeric bitwise
> operations.
>
> Fix this so that human-readable register names are available as
> debug information.
>
> Fixes: 8f266a5d878a ("arm64: cpufeature: Add global feature override facility")
> Signed-off-by: Reiji Watanabe <reijiw at google.com>

Reviewed-by: Oliver Upton <oupton at google.com>



More information about the linux-arm-kernel mailing list