x86/idle: rework C6 EOI workaround
authorRoger Pau Monné <roger.pau@citrix.com>
Wed, 20 May 2020 10:48:37 +0000 (12:48 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 20 May 2020 10:48:37 +0000 (12:48 +0200)
commit5fef1fd713660406a6187ef352fbf79986abfe43
tree183c9813430a1a796cd57dc88aac9e11f1e0a6ad
parentf546619ce1c5d4de694597c28358cd8e23eea231
x86/idle: rework C6 EOI workaround

Change the C6 EOI workaround (errata AAJ72) to use x86_match_cpu. Also
call the workaround from mwait_idle, previously it was only used by
the ACPI idle driver. Finally make sure the routine is called for all
states equal or greater than ACPI_STATE_C3, note that the ACPI driver
doesn't currently handle them, but the errata condition shouldn't be
limited by that.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/acpi/cpu_idle.c
xen/arch/x86/cpu/mwait-idle.c
xen/include/asm-x86/cpuidle.h