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
1754 __u32 priority;1754 __u32 priority;
1755 __u64 expires_ns;1755 __u64 expires_ns;
1756 } timer;1756 } timer;
1757 __u8 vector;
1757 } u;1758 } u;
1758};1759};
1759 1760
@@ -1767,6 +1768,7 @@ struct kvm_xen_vcpu_attr { · 7 unmodified lines
1767/* Available with KVM_CAP_XEN_HVM / KVM_XEN_HVM_CONFIG_EVTCHN_SEND */1768/* Available with KVM_CAP_XEN_HVM / KVM_XEN_HVM_CONFIG_EVTCHN_SEND */
1768#define KVM_XEN_VCPU_ATTR_TYPE_VCPU_ID 0x61769#define KVM_XEN_VCPU_ATTR_TYPE_VCPU_ID 0x6
1769#define KVM_XEN_VCPU_ATTR_TYPE_TIMER 0x71770#define KVM_XEN_VCPU_ATTR_TYPE_TIMER 0x7
1771#define KVM_XEN_VCPU_ATTR_TYPE_UPCALL_VECTOR 0x8
1770 1772
1771/* Secure Encrypted Virtualization command */1773/* Secure Encrypted Virtualization command */
1772enum sev_cmd_id {1774enum sev_cmd_id {