Re: [PATCH v6 01/16] x86/mtrr: remove physical address size calculation

Borislav Petkov
2023-05-04T07:48:16Z

On Tue, May 02, 2023 at 02:09:16PM +0200, Juergen Gross wrote:
> diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c
> index ee09d359e08f..3922552340b1 100644
> --- a/arch/x86/kernel/cpu/mtrr/generic.c
> +++ b/arch/x86/kernel/cpu/mtrr/generic.c
> @@ -38,6 +38,16 @@ u64 mtrr_tom2;
> struct mtrr_state_type mtrr_state;
> EXPORT_SYMBOL_GPL(mtrr_state);
>
> +static u64 size_or_mask, size_and_mask;
> +
> +void __init mtrr_set_mask(void)
> +{
> + unsigned int phys_addr = boot_cpu_data.x86_phys_bits;
> +
> + size_or_mask = ~GENMASK_ULL(phys_addr - PAGE_SHIFT - 1, 0);
> + size_and_mask = ~size_or_mask & GENMASK_ULL(39, 20);

What happened to getting rid of those:

https://lore.kernel.org/r/20230405202633.GFZC3ZeVWtmjkODYW7@fat_crate.local

and using the reserved bitfield masks as they're defined for the MSRs?

--
Regards/Gruss,
Boris.