[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH 00/10] libxl: PVHv2 support

This is a respin of my old PVHv1 patch[1], converted to PVHv2.
Should the code use "PVH" name (as libxl does internally), or "PVHv2" as in
many places in Xen documentation? I've chosen the former, but want to confirm

Also, not sure about VIR_DOMAIN_OSTYPE_XENPVH (as discussed on PVHv1 patch) -
while it will be messy in many cases, there is
libxl_domain_build_info.u.{hvm,pv,pvh} which would be good to not mess up.
Also, PVHv2 needs different kernel features than PV (CONFIG_XEN_PVH vs
CONFIG_XEN_PV), so keeping the same VIR_DOMAIN_OSTYPE_XEN could be
On the other hand, libxl_domain_build_info.u.pv is used in very few places (one
section of libxlMakeDomBuildInfo), so guarding u.hvm access with
VIR_DOMAIN_OSTYPE_HVM may be enough.
For now I've reused VIR_DOMAIN_OSTYPE_XEN - in the driver itself, most of
the code is the same as for PV.

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?

First few preparatory patches can be applied independently.

[1] https://www.redhat.com/archives/libvir-list/2016-August/msg00376.html

Marek Marczykowski-Górecki (10):
  docs: don't refer to deprecated 'linux' ostype in example
  docs: add documentation of arch element of capabilities.xml
  docs: update domain schema for machine attribute
  libxl: set shadow memory for any guest type, not only HVM
  libxl: prefer new location of nested_hvm in libxl_domain_build_info
  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"

 docs/formatcaps.html.in                          | 20 +++-
 docs/formatdomain.html.in                        | 12 +-
 docs/schemas/domaincommon.rng                    |  3 +-
 src/libxl/libxl_capabilities.c                   | 23 +++-
 src/libxl/libxl_conf.c                           | 90 ++++++++++++-----
 src/libxl/libxl_driver.c                         |  6 +-
 src/xenconfig/xen_common.c                       | 27 ++++-
 src/xenconfig/xen_xl.c                           |  5 +-
 tests/libxlxml2domconfigdata/basic-pv.json       |  1 +-
 tests/libxlxml2domconfigdata/basic-pvh.json      | 49 +++++++++-
 tests/libxlxml2domconfigdata/basic-pvh.xml       | 28 +++++-
 tests/libxlxml2domconfigdata/fullvirt-cpuid.json |  2 +-
 tests/libxlxml2domconfigdata/multiple-ip.json    |  1 +-
 tests/libxlxml2domconfigdata/vnuma-hvm.json      |  2 +-
 tests/libxlxml2domconfigtest.c                   |  1 +-
 tests/testutilsxen.c                             |  3 +-
 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 +-
 23 files changed, 358 insertions(+), 42 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: 49a5fcfac7d13ac8082a80aff7d7156968afee0f
git-series 0.9.1

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]