[libvirt] [PATCH v5 0/9] Add setting CPU features (CPUID) with libxenlight driver.

Marek Marczykowski-Górecki marmarek at invisiblethingslab.com
Wed Mar 14 02:26:07 UTC 2018


Add support for CPUID setting based on <cpu> element. Since libxl format
support only adjusting specific bits over host CPU, only
mode='host-passthrough' is supported - other values are rejected (including
default 'custom'). This will break some configurations working before (bare
<cpu> element with for example NUMA configuration), but libxl driver never
supported full 'custom' mode - it was silently ignored, which might lead to
some unexpected effects.
Since mode='host-passthrough' is now necessary to specify CPU options, do not
enable nested HVM feature by mere presence of this element, require also
enabling it in libxl.conf. Nested HVM is still in "preview" state, so better be
explicit here.

v2 of this patch series:
https://www.redhat.com/archives/libvir-list/2017-July/msg00050.html

v3 of this patch series:
https://www.redhat.com/archives/libvir-list/2017-December/msg00314.html

v4 of this patch series:
https://www.redhat.com/archives/libvir-list/2018-February/msg00504.html

Marek Marczykowski-Górecki (9):
  libxl: fix libxlDriverConfigDispose for partially constructed object
  libxl: pass driver config to libxlMakeDomBuildInfo
  libxl: error out on not supported CPU mode, instead of silently ignoring
  libxl: do not enable nested HVM unless global nested_hvm option enabled
  xenconfig: do not override def->cpu if already set elsewhere
  libxl: add support for CPUID features policy
  tests: check CPU features handling in libxl driver
  xenconfig: add CPUID handling to domXML <-> xl.cfg conversion
  tests: add test case for CPUID in xenconfig driver

 src/libxl/libvirtd_libxl.aug                            |   2 +-
 src/libxl/libxl.conf                                    |   8 +-
 src/libxl/libxl_conf.c                                  |  70 ++-
 src/libxl/libxl_conf.h                                  |   6 +-
 src/libxl/libxl_domain.c                                |   7 +-
 src/libxl/test_libvirtd_libxl.aug.in                    |   1 +-
 src/xenconfig/xen_xl.c                                  | 238 ++++++++-
 src/xenconfig/xen_xl.h                                  |   2 +-
 tests/libxlxml2domconfigdata/fullvirt-cpuid.json        |  64 ++-
 tests/libxlxml2domconfigdata/fullvirt-cpuid.xml         |  37 +-
 tests/libxlxml2domconfigtest.c                          |  27 +-
 tests/virmocklibxl.c                                    |  25 +-
 tests/xlconfigdata/test-fullvirt-cpuid.cfg              |  25 +-
 tests/xlconfigdata/test-fullvirt-cpuid.xml              |  35 +-
 tests/xlconfigdata/test-fullvirt-vnuma-autocomplete.cfg |   1 +-
 tests/xlconfigdata/test-fullvirt-vnuma-autocomplete.xml |   2 +-
 tests/xlconfigdata/test-fullvirt-vnuma-nodistances.cfg  |   1 +-
 tests/xlconfigdata/test-fullvirt-vnuma-nodistances.xml  |   2 +-
 tests/xlconfigdata/test-fullvirt-vnuma-partialdist.cfg  |   1 +-
 tests/xlconfigdata/test-fullvirt-vnuma-partialdist.xml  |   2 +-
 tests/xlconfigdata/test-fullvirt-vnuma.cfg              |   1 +-
 tests/xlconfigdata/test-fullvirt-vnuma.xml              |   2 +-
 tests/xlconfigtest.c                                    |   1 +-
 23 files changed, 509 insertions(+), 51 deletions(-)
 create mode 100644 tests/libxlxml2domconfigdata/fullvirt-cpuid.json
 create mode 100644 tests/libxlxml2domconfigdata/fullvirt-cpuid.xml
 create mode 100644 tests/xlconfigdata/test-fullvirt-cpuid.cfg
 create mode 100644 tests/xlconfigdata/test-fullvirt-cpuid.xml

base-commit: 6ce3acc129bfdbe7fd02bcb8bbe8af6d13903684
-- 
git-series 0.9.1




More information about the libvir-list mailing list