x86/dpci: EOI interrupt regardless of its masking status
authorRoger Pau Monné <roger.pau@citrix.com>
Thu, 21 Jan 2021 15:18:32 +0000 (16:18 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 21 Jan 2021 15:18:32 +0000 (16:18 +0100)
commita3509dcd0fbb86cfe2e4b32996eed3afc363d7da
treebdcaf0f3e3017a5dbe1c2e2699a8a1a81748180a
parent5f9b0f90ee7dcc96ffbb5e0c8d284aeb89d7495d
x86/dpci: EOI interrupt regardless of its masking status

Modify hvm_pirq_eoi to always EOI the interrupt if required, instead
of not doing such EOI if the interrupt is routed through the vIO-APIC
and the entry is masked at the time the EOI is performed.

Further unmask of the vIO-APIC pin won't EOI the interrupt, and thus
the guest OS has to wait for the timeout to expire and the automatic
EOI to be performed.

This allows to simplify the helpers and drop the vioapic_redir_entry
parameter from all of them.

Fixes: ccfe4e08455 ('Intel vt-d specific changes in arch/x86/hvm/vmx/vtd.')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
master commit: eb298f32fac5ac362eef30a66a9c9c42724d4ce6
master date: 2021-01-07 15:10:29 +0100
xen/arch/x86/hvm/vioapic.c
xen/arch/x86/hvm/vpic.c
xen/drivers/passthrough/io.c
xen/include/asm-x86/hvm/io.h