• David Woodhouse's avatar
    KVM: x86/xen: Add KVM_IRQ_ROUTING_XEN_EVTCHN and event channel delivery · 14243b38
    David Woodhouse authored
    This adds basic support for delivering 2 level event channels to a guest.
    
    Initially, it only supports delivery via the IRQ routing table, triggered
    by an eventfd. In order to do so, it has a kvm_xen_set_evtchn_fast()
    function which will use the pre-mapped shared_info page if it already
    exists and is still valid, while the slow path through the irqfd_inject
    workqueue will remap the shared_info page if necessary.
    
    It sets the bits in the shared_info page but not the vcpu_info; that is
    deferred to __kvm_xen_has_interrupt() which raises the vector to the
    appropriate vCPU.
    
    Add a 'verbose' mode to xen_shinfo_test while adding test cases for this.
    Signed-off-by: default avatarDavid Woodhouse <dwmw@amazon.co.uk>
    Message-Id: <20211210163625.2886-5-dwmw2@infradead.org>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    14243b38
xen.c 27 KB