[libvirt] [PATCH 0/6] Add support for Direct Mode for Hyper-V Synthetic timers

Vitaly Kuznetsov vkuznets at redhat.com
Thu Jul 25 13:52:12 UTC 2019


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




More information about the libvir-list mailing list