[PATCH v2 01/11] arm64: Skip update of an idreg field affected by an override
Suzuki K Poulose
suzuki.poulose at arm.com
Mon Mar 2 05:24:49 PST 2026
On 02/03/2026 11:56, Marc Zyngier wrote:
> When computing the new value od an idreg that contains a field
> affected by an override, do not update that particular field.
>
> The value computed at init-time must be kept as-is, as that's
> what the user has asked for, for better or worse.
>
> Signed-off-by: Marc Zyngier <maz at kernel.org>
> ---
> arch/arm64/kernel/cpufeature.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
> index c31f8e17732a3..28fc77443ccd3 100644
> --- a/arch/arm64/kernel/cpufeature.c
> +++ b/arch/arm64/kernel/cpufeature.c
> @@ -1224,6 +1224,13 @@ static void update_cpu_ftr_reg(struct arm64_ftr_reg *reg, u64 new)
> s64 ftr_cur = arm64_ftr_value(ftrp, reg->sys_val);
> s64 ftr_new = arm64_ftr_value(ftrp, new);
>
> + /*
> + * Don't alter the initial value that has been forced
> + * by an override.
> + */
> + if ((reg->override->mask & arm64_ftr_mask(ftrp)) == arm64_ftr_mask(ftrp))
> + continue;
> +
Reviewed-by: Suzuki K Poulose <suzuki.poulose at arm.com>
> if (ftr_cur == ftr_new)
> continue;
> /* Find a safe value */
More information about the linux-arm-kernel
mailing list