This is a respin of my old PVHv1 patch[1], converted to PVHv2. The actual code use "PVH" name. It introduce new guest ostype VIR_DOMAIN_OSTYPE_XENPVH, and also PVH machine, machine="xenpvh" attribute is used. Since PVHv2 relies on features in newer Xen versions, I needed to convert also some older code. For example b_info->u.hvm.nested_hvm was deprecated in favor of b_info->nested_hvm. While the code do handle both old and new versions (obviously refusing PVHv2 if Xen is too old), this isn't the case for tests. How it should be handled, if at all? To test this with all supported Xen versions (4.6, 4.7, 4.8, 4.9, 4.10, 4.11, unstable), I've extended travis configuration for that[2]. It isn't exactly trivial to build Xen 4.6-4.8 on recent system, mostly thanks to -Werror and new warnings, but also other toolchain changes. Because of this, the configuration is rather hacky. But it may be a good idea to include multiple pre-built Xen versions in the base docker image and choose one using ./configure options (maybe together with some symlink or environment variable like PKG_CONFIG_PATH). [1] https://www.redhat.com/archives/libvir-list/2016-August/msg00376.html [2] https://github.com/marmarek/libvirt/tree/travis-xen-pvh Changes in v2: - drop "docs: don't refer to deprecated 'linux' ostype in example" patch - migrating further away from "linux" os type is offtopic to this series and apparently is a controversial thing - drop "docs: update domain schema for machine attribute" patch - already applied - apply review comments from Jim - rebase on master Changes in v3: - rebase on master, drop already applied patches - use #ifdef LIBXL_DOMAIN_TYPE_PVH to detect PVH support, fix compilation failure on older Xen - exclude PVH from VIR_DOMAIN_OSTYPE_XEN <-> VIR_DOMAIN_OSTYPE_LINUX conversion - fix reported capabilities for PVH Changes in v4: - change PVH support detection method Changes in v5: - use VIR_DOMAIN_OSTYPE_XENPVH - add news entry Marek Marczykowski-Górecki (6): libxl: reorder libxlMakeDomBuildInfo for upcoming PVH support libxl: add support for PVH tests: add basic Xen PVH test xenconfig: add support for parsing type= xl config entry xenconfig: add support for type="pvh" news: add libxl PVH docs/formatcaps.html.in | 9 ++- docs/news.xml | 8 ++- docs/schemas/domaincommon.rng | 2 +- m4/virt-driver-libxl.m4 | 3 +- src/conf/domain_conf.c | 10 ++- src/conf/domain_conf.h | 1 +- src/libxl/libxl_capabilities.c | 38 +++++++++-- src/libxl/libxl_conf.c | 78 ++++++++++++++++------ src/libxl/libxl_driver.c | 6 +- src/xenconfig/xen_common.c | 25 +++++-- src/xenconfig/xen_xl.c | 5 +- tests/libxlxml2domconfigdata/basic-pvh.json | 49 ++++++++++++++- tests/libxlxml2domconfigdata/basic-pvh.xml | 28 ++++++++- tests/libxlxml2domconfigtest.c | 3 +- tests/testutilsxen.c | 20 +++++- tests/xlconfigdata/test-fullvirt-type.cfg | 21 ++++++- tests/xlconfigdata/test-fullvirt-type.xml | 27 ++++++++- tests/xlconfigdata/test-paravirt-type.cfg | 13 ++++- tests/xlconfigdata/test-paravirt-type.xml | 25 +++++++- tests/xlconfigdata/test-pvh-type.cfg | 13 ++++- tests/xlconfigdata/test-pvh-type.xml | 25 +++++++- tests/xlconfigtest.c | 3 +- 22 files changed, 375 insertions(+), 37 deletions(-) create mode 100644 tests/libxlxml2domconfigdata/basic-pvh.json create mode 100644 tests/libxlxml2domconfigdata/basic-pvh.xml create mode 100644 tests/xlconfigdata/test-fullvirt-type.cfg create mode 100644 tests/xlconfigdata/test-fullvirt-type.xml create mode 100644 tests/xlconfigdata/test-paravirt-type.cfg create mode 100644 tests/xlconfigdata/test-paravirt-type.xml create mode 100644 tests/xlconfigdata/test-pvh-type.cfg create mode 100644 tests/xlconfigdata/test-pvh-type.xml base-commit: 794af564f4c96044b935ab898acc8e61a58b6bb5 -- git-series 0.9.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list