[libvirt] [PATCH v5 0/6] libxl: PVHv2 support

Marek Marczykowski-Górecki marmarek at invisiblethingslab.com
Mon Nov 26 19:34:35 UTC 2018


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




More information about the libvir-list mailing list