QEMU-4.1 will bring us Direct Mode for Hyper-V Synthetic timers support, we need to support it in libvirt too. As this is not a new enlightenment but rather an enhancement of an existing one ('stimer'), support it in <stimer state='on'> <direct state='on'/> </stimer> form. Backwards compatibility is (hopefully) preserved. Because of an existing imcompatibility between libvirt-5.5+ and QEMU-4.1-git (see https://www.redhat.com/archives/libvir-list/2019-July/msg01435.html) I had to backport hv-stimer-direct to QEMU-4.0 to test this. If someone wants to do it too here is a list of QEMU patches needed: 128531d9e1 i386/kvm: add support for Direct Mode for Hyper-V synthetic timers 8caba36db5 i386/kvm: hv-evmcs requires hv-vapic bd59fbdf4f i386/kvm: hv-tlbflush/ipi require hv-vpindex c686193072 i386/kvm: hv-stimer requires hv-time and hv-synic e48ddcc6ce i386/kvm: implement 'hv-passthrough' mode fb19f72b77 i386/kvm: document existing Hyper-V enlightenments 2344d22e50 i386/kvm: move Hyper-V CPUID filling to hyperv_handle_properties() 6760bd2002 i386/kvm: add support for KVM_GET_SUPPORTED_HV_CPUID 2d384d7c83 i386/kvm: convert hyperv enlightenments properties from bools to bits Vitaly Kuznetsov (6): docs: formatdomain: add synic flag to the example xml docs: formatdomain: fix 'SynIC' spelling docs: formatdomain: move 'msrs' out of Hyper-V Enlightenments conf: add support for Direct Mode for Hyper-V Synthetic timers qemu: add support for Direct Mode for Hyper-V Synthetic timers news: mention Direct Mode for Hyper-V Synthetic timers support docs/formatdomain.html.in | 13 ++- docs/news.xml | 9 ++ docs/schemas/domaincommon.rng | 16 +++- src/conf/domain_conf.c | 138 +++++++++++++++++++++++++--- src/conf/domain_conf.h | 8 ++ src/cpu/cpu_x86.c | 51 +++++----- src/cpu/cpu_x86_data.h | 2 + src/libvirt_private.syms | 2 + src/qemu/qemu_command.c | 22 ++++- src/qemu/qemu_process.c | 39 +++++++- tests/qemuxml2argvdata/hyperv.args | 4 +- tests/qemuxml2argvdata/hyperv.xml | 4 +- tests/qemuxml2xmloutdata/hyperv.xml | 4 +- 13 files changed, 263 insertions(+), 49 deletions(-) -- 2.20.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list