]> www.infradead.org Git - users/dwmw2/qemu.git/commit
hw/xen: Implement EVTCHNOP_bind_virq
authorDavid Woodhouse <dwmw@amazon.co.uk>
Tue, 13 Dec 2022 22:40:56 +0000 (22:40 +0000)
committerDavid Woodhouse <dwmw@amazon.co.uk>
Fri, 20 Jan 2023 12:28:52 +0000 (12:28 +0000)
commit5e2050b685d205faf269980ffbec16caac7e34e4
treea7f956699ed483bf78b0fdedfbebbd2bd6a676a6
parent9d40753896cc2fb2971fabf8aa486bb780ae0503
hw/xen: Implement EVTCHNOP_bind_virq

Add the array of virq ports to each vCPU so that we can deliver timers,
debug ports, etc. Global virqs are allocated against vCPU 0 initially,
but can be migrated to other vCPUs (when we implement that).

The kernel needs to know about VIRQ_TIMER in order to accelerate timers,
so tell it via KVM_XEN_VCPU_ATTR_TYPE_TIMER. Also save/restore the value
of the singleshot timer across migration, as the kernel will handle the
hypercalls automatically now.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
hw/i386/kvm/xen_evtchn.c
hw/i386/kvm/xen_evtchn.h
include/sysemu/kvm_xen.h
target/i386/cpu.h
target/i386/kvm/xen-emu.c
target/i386/machine.c