[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1/2] x86/cpu/intel: Clear cache self-snoop capability in CPUs with known errata
On 18.07.2019 14:23, Andrew Cooper wrote: > On 18/07/2019 13:09, Jan Beulich wrote: >> --- a/xen/arch/x86/cpu/intel.c >> +++ b/xen/arch/x86/cpu/intel.c >> @@ -15,6 +15,32 @@ >> #include "cpu.h" >> >> /* >> + * Processors which have self-snooping capability can handle conflicting >> + * memory type across CPUs by snooping its own cache. However, there exists >> + * CPU models in which having conflicting memory types still leads to >> + * unpredictable behavior, machine check errors, or hangs. Clear this >> + * feature to prevent its use on machines with known erratas. >> + */ >> +static void __init check_memory_type_self_snoop_errata(void) >> +{ >> + switch (boot_cpu_data.x86_model) { >> + case 0x0f: /* Merom */ >> + case 0x16: /* Merom L */ >> + case 0x17: /* Penryn */ >> + case 0x1d: /* Dunnington */ >> + case 0x1e: /* Nehalem */ >> + case 0x1f: /* Auburndale / Havendale */ >> + case 0x1a: /* Nehalem EP */ >> + case 0x2e: /* Nehalem EX */ >> + case 0x25: /* Westmere */ >> + case 0x2c: /* Westmere EP */ >> + case 0x2a: /* SandyBridge */ > > It would have been nice if the errata had actually been identified... Indeed; I hope you don't expect me to go hunt them down. I'm cloning a Linux commit here only, after all. >> + setup_clear_cpu_cap(X86_FEATURE_SS); > > I'm regretting exposing SS to guests at this point. > > As this stands, it will result in a migration compatibility issue, > because updating Xen will cause a feature to disappear. If we had a > default vs full policy split, this would be easy enough to work around > in a compatible way. I wonder if there is anything clever we can do in > the meantime as a stopgap workaround. Should we perhaps introduce X86_FEATURE_XEN_SELFSNOOP, just like we do for SMEP and SMAP, such that we can leave the real one alone? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |