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...

> +             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.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to