VMX: fix vmx_handle_eoi()
authorJan Beulich <jbeulich@suse.com>
Fri, 2 Nov 2018 11:15:33 +0000 (12:15 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 2 Nov 2018 11:15:33 +0000 (12:15 +0100)
commit45cb9a4123b5550eb1f84846fe5482acae1c13a3
treee6373611d1e8ccdeb60ce68a96d5c6933b62445b
parent87e89bd112e16503f37d219a525a5b5d470e08f9
VMX: fix vmx_handle_eoi()

In commit 303066fdb1e ("VMX: fix interaction of APIC-V and Viridian
emulation") I screwed up: Instead of clearing SVI, other ISR bits
should be taken into account.

Introduce a new helper set_svi(), split out of vmx_process_isr(), and
use it also from vmx_handle_eoi().

Following the problems in vmx_intr_assist() (see the still present big
block of debugging code there) also warn (once) if EOI'd vector and
original SVI don't match.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Chao Gao <chao.gao@intel.com>
Acked-by: Kevin Tian <kevin.tian@intel.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/hvm/vlapic.c
xen/arch/x86/hvm/vmx/vmx.c
xen/include/asm-x86/hvm/hvm.h