• Juergen Gross's avatar
    x86: Decouple PAT and MTRR handling · adfe7512
    Juergen Gross authored
    Today, PAT is usable only with MTRR being active, with some nasty tweaks
    to make PAT usable when running as a Xen PV guest which doesn't support
    MTRR.
    
    The reason for this coupling is that both PAT MSR changes and MTRR
    changes require a similar sequence and so full PAT support was added
    using the already available MTRR handling.
    
    Xen PV PAT handling can work without MTRR, as it just needs to consume
    the PAT MSR setting done by the hypervisor without the ability and need
    to change it. This in turn has resulted in a convoluted initialization
    sequence and wrong decisions regarding cache mode availability due to
    misguiding PAT availability flags.
    
    Fix all of that by allowing to use PAT without MTRR and by reworking
    the current PAT initialization sequence to match better with the newly
    introduced generic cache initialization.
    
    This removes the need of the recently added pat_force_disabled flag, so
    remove the remnants of the patch adding it.
    Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
    Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
    Link: https://lore.kernel.org/r/20221102074713.21493-14-jgross@suse.comSigned-off-by: default avatarBorislav Petkov <bp@suse.de>
    adfe7512
memtype.h 853 Bytes