]> xenbits.xensource.com Git - people/dariof/xen.git/commitdiff
x86/idle: Extend ISR/C6 erratum workaround to Haswell
authorAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 22 May 2020 14:46:44 +0000 (15:46 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 22 May 2020 19:04:23 +0000 (20:04 +0100)
This bug was first discovered against Haswell.  It is definitely affected.

(The XenServer ticket for this bug was opened on 2013-05-30 which is coming up
on 7 years old, and predates Broadwell).

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/acpi/cpu_idle.c

index 178cb607c24bb99318d73b8e3fa710ccaea3da62..a2248ea11f048f93b9a5b5c3fc4db552d4dcb942 100644 (file)
@@ -583,8 +583,16 @@ bool errata_c6_workaround(void)
          * registers), the processor may dispatch the second interrupt (from
          * the IRR bit) before the first interrupt has completed and written to
          * the EOI register, causing the first interrupt to never complete.
+         *
+         * Note: Haswell hasn't had errata issued, but this issue was first
+         * discovered on Haswell hardware, and is affected.
          */
         static const struct x86_cpu_id isr_errata[] = {
+            /* Haswell */
+            INTEL_FAM6_MODEL(0x3c),
+            INTEL_FAM6_MODEL(0x3f),
+            INTEL_FAM6_MODEL(0x45),
+            INTEL_FAM6_MODEL(0x46),
             /* Broadwell */
             INTEL_FAM6_MODEL(0x47),
             INTEL_FAM6_MODEL(0x3d),