android_kernel_msm-6.1_noth.../include/uapi
David Woodhouse 40da8ccd72 KVM: x86/xen: Add event channel interrupt vector upcall
It turns out that we can't handle event channels *entirely* in userspace
by delivering them as ExtINT, because KVM is a bit picky about when it
accepts ExtINT interrupts from a legacy PIC. The in-kernel local APIC
has to have LVT0 configured in APIC_MODE_EXTINT and unmasked, which
isn't necessarily the case for Xen guests especially on secondary CPUs.

To cope with this, add kvm_xen_get_interrupt() which checks the
evtchn_pending_upcall field in the Xen vcpu_info, and delivers the Xen
upcall vector (configured by KVM_XEN_ATTR_TYPE_UPCALL_VECTOR) if it's
set regardless of LAPIC LVT0 configuration. This gives us the minimum
support we need for completely userspace-based implementation of event
channels.

This does mean that vcpu_enter_guest() needs to check for the
evtchn_pending_upcall flag being set, because it can't rely on someone
having set KVM_REQ_EVENT unless we were to add some way for userspace to
do so manually.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
2021-02-04 14:19:39 +00:00
..
asm-generic epoll: wire up syscall epoll_pwait2 2020-12-19 11:18:38 -08:00
drm drm-misc-next for 5.11: 2020-12-15 10:21:48 +01:00
linux KVM: x86/xen: Add event channel interrupt vector upcall 2021-02-04 14:19:39 +00:00
misc habanalabs: add validation cs counter, fix misplaced counters 2020-12-28 08:47:39 +02:00
mtd
rdma RDMA/rxe: Use acquire/release for memory ordering 2020-12-11 19:57:48 -04:00
scsi scsi: fc: Update formal FPIN descriptor definitions 2020-10-26 18:06:45 -04:00
sound Auxiliary Bus support tag for 5.11-rc1 2020-12-04 20:39:45 +00:00
video
xen
Kbuild