On Tue, 2016-03-15 at 01:29 +0100, Luis R. Rodriguez wrote: > I like this approach more as it stuff more PAT setup on its own type > of calls, but: > > On Sat, Mar 12, 2016 at 12:55:44PM +0100, Borislav Petkov wrote: > > diff --git a/arch/x86/kernel/cpu/mtrr/main.c > > b/arch/x86/kernel/cpu/mtrr/main.c > > index 10f8d4796240..5c442b4bd52a 100644 > > --- a/arch/x86/kernel/cpu/mtrr/main.c > > +++ b/arch/x86/kernel/cpu/mtrr/main.c > > @@ -759,8 +761,11 @@ void __init mtrr_bp_init(void) > >   } > >   } > >   > > - if (!mtrr_enabled()) > > + if (!__mtrr_enabled) { > >   pr_info("MTRR: Disabled\n"); > > + pat_disable("PAT disabled by MTRR"); > > + pat_setup(); > > + } > >  } > > This hunk would break PAT on Xen. Can you try the attached patches?  They apply on top of my original patch- set.  With this change, PAT code generally supports Xen, and the PAT init code in Xen is now removed.  If they look OK, I will reorganize the patch series. Thanks, -Toshi