History

KVM: x86/xen: Support per-vCPU event channel upcall via local APIC

Windows uses a per-vCPU vector, and it's delivered via the local APIC basically like an MSI (with associated EOI) unlike the traditional guest-wide vector which is just magically asserted by Xen (and in the KVM case by kvm_xen_has_interrupt() / kvm_cpu_get_extint()). Now that the kernel is able to raise event channel events for itself, being able to do so for Windows guests is also going to be useful.

David Woodhouse committed 4 years ago

Commit fde04511 parent 28d16293 files · +43 −0Browse files

Showing the changes to include/uapi (1 of 3 files). Show all

Unified · Split

include/uapi/linux/kvm.h+2−0
@@ -1754,6 +1754,7 @@ struct kvm_xen_vcpu_attr { · 1753 unmodified lines
17541754 __u32 priority;
17551755 __u64 expires_ns;
17561756 } timer;
1757+ __u8 vector;
17571758 } u;
17581759 };
17591760
@@ -1767,6 +1768,7 @@ struct kvm_xen_vcpu_attr { · 7 unmodified lines
17671768 /* Available with KVM_CAP_XEN_HVM / KVM_XEN_HVM_CONFIG_EVTCHN_SEND */
17681769 #define KVM_XEN_VCPU_ATTR_TYPE_VCPU_ID 0x6
17691770 #define KVM_XEN_VCPU_ATTR_TYPE_TIMER 0x7
1771+#define KVM_XEN_VCPU_ATTR_TYPE_UPCALL_VECTOR 0x8
17701772
17711773 /* Secure Encrypted Virtualization command */
17721774 enum sev_cmd_id {