]> 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>
Wed, 22 Feb 2023 10:47:34 +0000 (10:47 +0000)
commit11d6f9f1f5d132fe8a1d703a3cdc46c2233c5ce3
treef88826d30d47f02d10aa18d95072153e1a0046f9
parent71e28c58bb514f6c852ed062e0c2f863a447f52e
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>
Reviewed-by: Paul Durrant <paul@xen.org>
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