Browse Source

New upstream version 4.10.0

tags/upstream/4.10.0^0
Guido Günther 2 years ago
parent
commit
54a5cdbf49
100 changed files with 201224 additions and 192192 deletions
  1. +9
    -0
      AUTHORS
  2. +5766
    -0
      ChangeLog
  3. +126
    -0
      NEWS
  4. +3
    -2
      cfg.mk
  5. +3
    -18
      config.h.in
  6. +57
    -81
      configure
  7. +42
    -10
      configure.ac
  8. +129
    -1
      docs/aclpolkit.html
  9. +117
    -0
      docs/aclpolkit.html.in
  10. +6
    -0
      docs/devhelp/libvirt.devhelp
  11. +2
    -2
      docs/drvqemu.html
  12. +1
    -1
      docs/drvqemu.html.in
  13. +2
    -2
      docs/drvxen.html
  14. +1
    -1
      docs/drvxen.html.in
  15. +17
    -3
      docs/formatcaps.html
  16. +25
    -2
      docs/formatcaps.html.in
  17. +72
    -22
      docs/formatdomain.html
  18. +92
    -29
      docs/formatdomain.html.in
  19. +1
    -1
      docs/html/index.html
  20. +1
    -1
      docs/html/libvirt-libvirt-common.html
  21. +1
    -1
      docs/html/libvirt-libvirt-domain-snapshot.html
  22. +119
    -4
      docs/html/libvirt-libvirt-domain.html
  23. +1
    -1
      docs/html/libvirt-libvirt-event.html
  24. +1
    -1
      docs/html/libvirt-libvirt-host.html
  25. +1
    -1
      docs/html/libvirt-libvirt-interface.html
  26. +1
    -1
      docs/html/libvirt-libvirt-network.html
  27. +1
    -1
      docs/html/libvirt-libvirt-nodedev.html
  28. +1
    -1
      docs/html/libvirt-libvirt-nwfilter.html
  29. +1
    -1
      docs/html/libvirt-libvirt-secret.html
  30. +1
    -1
      docs/html/libvirt-libvirt-storage.html
  31. +1
    -1
      docs/html/libvirt-libvirt-stream.html
  32. +1
    -1
      docs/html/libvirt-virterror.html
  33. +110
    -82
      docs/hvsupport.html
  34. +109
    -81
      docs/hvsupport.html.in
  35. +104
    -3
      docs/libvirt-api.xml
  36. +260
    -54
      docs/libvirt-refs.xml
  37. +1
    -0
      docs/libvirt.css
  38. +211
    -1
      docs/news.html
  39. +127
    -1
      docs/news.html.in
  40. +236
    -0
      docs/news.xml
  41. +2
    -2
      docs/platforms.html
  42. +1
    -1
      docs/platforms.html.in
  43. +27
    -0
      docs/schemas/basictypes.rng
  44. +36
    -1
      docs/schemas/capability.rng
  45. +33
    -3
      docs/schemas/domaincommon.rng
  46. +1
    -0
      docs/schemas/storagevol.rng
  47. +5
    -1
      examples/Makefile.am
  48. +5
    -1
      examples/Makefile.in
  49. +1
    -1
      include/libvirt/libvirt-common.h
  50. +47
    -0
      include/libvirt/libvirt-domain.h
  51. +13
    -27
      libvirt.spec
  52. +12
    -26
      libvirt.spec.in
  53. +13
    -23
      m4/virt-driver-libxl.m4
  54. BIN
      po/af.gmo
  55. +8399
    -8321
      po/af.po
  56. BIN
      po/am.gmo
  57. +8399
    -8321
      po/am.po
  58. BIN
      po/anp.gmo
  59. +8399
    -8321
      po/anp.po
  60. BIN
      po/ar.gmo
  61. +8399
    -8321
      po/ar.po
  62. BIN
      po/as.gmo
  63. +8411
    -8392
      po/as.po
  64. BIN
      po/ast.gmo
  65. +8399
    -8321
      po/ast.po
  66. BIN
      po/bal.gmo
  67. +8399
    -8321
      po/bal.po
  68. BIN
      po/be.gmo
  69. +8399
    -8321
      po/be.po
  70. BIN
      po/bg.gmo
  71. +8399
    -8321
      po/bg.po
  72. BIN
      po/bn.gmo
  73. +8398
    -8320
      po/bn.po
  74. BIN
      po/bn_IN.gmo
  75. +8407
    -8350
      po/bn_IN.po
  76. BIN
      po/bo.gmo
  77. +8399
    -8321
      po/bo.po
  78. BIN
      po/br.gmo
  79. +8399
    -8321
      po/br.po
  80. BIN
      po/brx.gmo
  81. +8399
    -8321
      po/brx.po
  82. BIN
      po/bs.gmo
  83. +8399
    -8321
      po/bs.po
  84. BIN
      po/ca.gmo
  85. +8401
    -8323
      po/ca.po
  86. BIN
      po/cs.gmo
  87. +8444
    -8372
      po/cs.po
  88. BIN
      po/cy.gmo
  89. +8398
    -8320
      po/cy.po
  90. BIN
      po/da.gmo
  91. +8399
    -8321
      po/da.po
  92. BIN
      po/de.gmo
  93. +8412
    -8402
      po/de.po
  94. BIN
      po/de_CH.gmo
  95. +8399
    -8321
      po/de_CH.po
  96. BIN
      po/el.gmo
  97. +8399
    -8324
      po/el.po
  98. BIN
      po/en_GB.gmo
  99. +8412
    -8396
      po/en_GB.po
  100. BIN
      po/eo.gmo

+ 9
- 0
AUTHORS View File

@@ -177,6 +177,7 @@ Dan Zheng <dzheng@redhat.com>
Daniel Berteaud <daniel@firewall-services.com>
Daniel Gollub <gollub@b1-systems.de>
Daniel Hansel <daniel.hansel@linux.vnet.ibm.com>
Daniel Henrique Barboza <danielhb413@gmail.com>
Daniel J Walsh <dwalsh@redhat.com>
Daniel Liu <srwx4096@gmail.com>
Daniel Nicoletti <dantti12@gmail.com>
@@ -369,6 +370,7 @@ Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Marek Marczykowski <marmarek@invisiblethingslab.com>
Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Marian Neagul <marian@info.uvt.ro>
Mark Asselstine <mark.asselstine@windriver.com>
Mark Wu <dwu@redhat.com>
Marko Myllynen <myllynen@redhat.com>
Markus Groß <gross@univention.de>
@@ -443,6 +445,7 @@ Pavel Raiskup <praiskup@redhat.com>
Pavel Timofeev <timp87@gmail.com>
Paweł Krześniak <pawel.krzesniak@gmail.com>
Peng Zhou <ailvpeng25@gmail.com>
Peter Chubb <Peter.Chubb@data61.csiro.au>
Peter Feiner <peter@gridcentric.ca>
Peter Kieser <peter@kieser.ca>
Peter Robinson <pbrobinson@gmail.com>
@@ -506,6 +509,7 @@ Shanzhi Yu <shyu@redhat.com>
ShaoHe Feng <shaohe.feng@intel.com>
Shaohe Feng <shaohe.feng@intel.com>
Sharadha Prabhakar <sharadha.prabhakar@citrix.com>
Shi Lei <shi_lei@massclouds.com>
Shi Lei <shilei.massclouds@gmx.com>
Shichangkuo <shi.changkuo@h3c.com>
Shivangi Dhir <shivangi.dhir.02@gmail.com>
@@ -567,8 +571,10 @@ Vitaly Kuznetsov <vkuznets@redhat.com>
Vitor de Lima <vitor.lima@eldorado.org.br>
Vladislav Bogdanov <bubble@hoster-ok.com>
Václav Pavlín <vpavlin@redhat.com>
Wang Huaqiang <huaqiang.wang@intel.com>
Wang King <king.wang@huawei.com>
Wang Rui <moon.wangrui@huawei.com>
Wang Yechao <wang.yechao255@zte.com.cn>
Wang Yufei (James) <james.wangyufei@huawei.com>
Wangjing (King, Euler) <king.wang@huawei.com>
Wangrui (K) <moon.wangrui@huawei.com>
@@ -586,6 +592,7 @@ Wojciech Macek <wma@semihalf.com>
Wolfgang Mauerer <wolfgang.mauerer@siemens.com>
Wout Mertens <Wout.Mertens@gmail.com>
Wout Mertens <wout.mertens@gmail.com>
Wu Zongyong <cordius.wu@huawei.com>
Xian Han Yu <xhyubj@linux.vnet.ibm.com>
Xiao Feng Ren <renxiaof@linux.vnet.ibm.com>
Xing Lin <xinglin@cs.utah.edu>
@@ -596,6 +603,7 @@ Yanbing Du <ydu@redhat.com>
Yanbing Du <ydu@ydu-0.nay.redhat.com>
Yaniv Kaul <ykaul@redhat.com>
Yanqiu Zhang <yanqzhan@redhat.com>
Yi Min Zhao <zyimin@linux.ibm.com>
Yi Wang <wang.yi59@zte.com.cn>
Yogesh Tillu <tillu.yogesh@gmail.com>
Yohan BELLEGUIC <yohan.belleguic@diateam.net>
@@ -615,6 +623,7 @@ Zhang Bo <oscar.zhangbo@huawei.com>
Zhang Xiaohe <zhangxh@cn.fujitsu.com>
Zhangzijian <zhang.zijian@h3c.com>
ZhiPeng Lu <lu.zhipeng@zte.com.cn>
ZhiPeng Lu <luzhipeng@uniudc.com>
Zhou Yimin <zhouyimin@huawei.com>
Zhou yimin <zhouyimin@huawei.com>
Zhuang Yanying <ann.zhuangyanying@huawei.com>


+ 5766
- 0
ChangeLog
File diff suppressed because it is too large
View File


+ 126
- 0
NEWS View File

@@ -1,6 +1,132 @@
libvirt releases
================

# v4.10.0 (2018-12-03)

* New features

- qemu: Add Hyper-V PV IPI and Enlightened VMCS support
The QEMU driver now has support for Hyper-V PV IPI and Enlightened VMCS
for Windows and Hyper-V guests.

- qemu: Added support for PCI devices on S390
PCI addresses can now include the new zpci element which contains uid
(user-defined identifier) and fid (PCI function identifier) attributes
and makes the corresponding devices usable by S390 guests.

- Support changing IOThread polling parameters for a live guest
Introduced virDomainSetIOThreadParams which allows dynamically setting
the IOThread polling parameters used by QEMU to manage the thread
polling interval and the algorithm for growth or shrink of the polling
time. The values only affect a running guest with IOThreads. The
guest's IOThread polling values can be viewed via the domain
statistics.

- Xen: Add support for PVH
The libxl driver now supports Xen's PVH virtual machine type. PVH
machines are enabled with the new "xenpvh" OS type, e.g.
<os><type>xenpvh</type></os>

- qemu: Added support for CMT (Cache Monitoring Technology)
Introduced cache monitoring using the monitor element in cachetune for
vCPU threads. Added interfaces to get and display the cache utilization
statistics through the command 'virsh domstats' via the
virConnectGetAllDomainStats API.

- qemu: Add support for nested HV for pSeries guests
Nested HV support makes it possible to run nested (L2) guests with
minimal performance penalty when compared to regular (L1) guests on
ppc64 hardware.

* Improvements

* Bug fixes

- Xen: Handle soft reset shutdown event
The pvops Linux kernel uses soft reset to handle the crash machine
operation. The libxl driver now supports the soft reset shutdown event,
allowing proper crash handling of pvops-based HVM domains.

# v4.9.0 (2018-11-04)

* New features

- util: Add cgroup v2 support
cgroup v2 support has been implemented in libvirt, with both "unified"
(v2 only) and "hybrid" (v2 + v1) setups being usable; existing "legacy"
(v1 only) setups will keep working.

- qemu: Add vfio AP support
The QEMU driver now has support to passthrough adjunct processors into
QEMU guests on S390.

* Improvements

- rpc: Make 'genprotocol' output reproducible
This is another step towards making libvirt builds fully reproducible.

* Bug fixes

- security: Fix permissions for UNIX sockets
Since 4.5.0, libvirt is using FD passing to hand sockets over to QEMU,
which in theory removes the need for them to be accessible by the user
under which the QEMU process is running; however, other processes such
as vdsm need to access the sockets as well, which means adjusting
permissions is still necessary.

- cpu_map: Add Icelake model definitions
These CPU models will be available in the upcoming 3.1.0 QEMU release.

- util: Properly parse URIs with missing trailing slash
Some storage URIs were not parsed correctly, in which case libvirt
ended up emitting XML that it would then refuse to parse back.

# v4.8.0 (2018-10-01)

* New features

- Xen: Support PM Suspend and Wakeup
The libxl driver now supports the virDomainPMSuspendForDuration and
virDomainPMWakeup APIs.

* Removed features

- Xen: Drop support for Xen 4.4 and 4.5
Xen 4.4 and 4.5 are no longer supported by the Xen community. Drop
support for these older versions and require Xen >= 4.6.

- nwfilter: Disallow binding creation in session mode
Ensure that a filter binding creation is not attempted in session mode
and generates a proper error message.

* Improvements

- qemu: Retrieve guest hostname through QEMU Guest Agent command
QEMU is now able to retrieve the guest hostname using a new QEMU-GA
command called 'guest-get-host-name'. Virsh users can execute
'domhostname' for QEMU driver for domains configured to use the Guest
Agent.

- virsh: Implement vsh-table in virsh and virsh-admin
The new API fixes problems with table-alignment, making the tables more
readable and deals with unicode.

* Bug fixes

- storage: Allow inputvol to be encrypted
When creating a storage volume based on another volume, the base input
volume is allowed to be encrypted.

- virsh: Require explicit --domain for domxml-to-native
The --domain option for domxml-to-native virsh command has always been
documented as required, but commit v4.3.0-127-gd86531daf2 accidentally
made it optional.

- lxc_monitor: Avoid AB / BA lock race
A deadlock situation could occur when autostarting a LXC domain 'guest'
due to two threads attempting to take opposing locks while holding
opposing locks (AB BA problem).

# v4.7.0 (2018-09-03)

* New features


+ 3
- 2
cfg.mk View File

@@ -472,6 +472,7 @@ sc_prohibit_canonicalize_file_name:
# Insist on correct types for [pug]id.
sc_correct_id_types:
@prohibit='\<(int|long) *[pug]id\>' \
exclude='exempt from syntax-check' \
halt='use pid_t for pid, uid_t for uid, gid_t for gid' \
$(_sc_search_regexp)

@@ -1063,7 +1064,7 @@ sc_prohibit_backslash_alignment:
# Rule to ensure that varibales declared using a cleanup macro are
# always initialized.
sc_require_attribute_cleanup_initialization:
@prohibit='VIR_AUTO(FREE|PTR)\(.+\) *[^=]+;' \
@prohibit='VIR_AUTO((FREE|PTR)\(.+\)|CLOSE) *[^=]+;' \
in_vc_files='\.[chx]$$' \
halt='variable declared with a cleanup macro must be initialized' \
$(_sc_search_regexp)
@@ -1227,7 +1228,7 @@ exclude_file_name_regexp--sc_prohibit_select = \
^cfg\.mk$$

exclude_file_name_regexp--sc_prohibit_canonicalize_file_name = \
^cfg\.mk$$
^(cfg\.mk|tests/virfilemock\.c)$$

exclude_file_name_regexp--sc_prohibit_raw_allocation = \
^(docs/hacking\.html\.in|src/util/viralloc\.[ch]|examples/.*|tests/(securityselinuxhelper|(vircgroup|nss)mock|commandhelper)\.c|tools/wireshark/src/packet-libvirt\.c)$$


+ 3
- 18
config.h.in View File

@@ -1204,9 +1204,6 @@
/* Define to 1 if you have the 'getgid' function. */
#undef HAVE_GETGID

/* Define to 1 if you have the 'getgrnam_r' function. */
#undef HAVE_GETGRNAM_R

/* Define to 1 if you have the 'getgrouplist' function. */
#undef HAVE_GETGROUPLIST

@@ -1316,9 +1313,6 @@
/* Define to 1 if you have the 'iswctype' function. */
#undef HAVE_ISWCTYPE

/* Define to 1 if you have the 'kill' function. */
#undef HAVE_KILL

/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
#undef HAVE_LANGINFO_CODESET

@@ -1397,9 +1391,6 @@
/* Define to 1 if you have the <libxlutil.h> header file. */
#undef HAVE_LIBXLUTIL_H

/* Define to 1 if you have the `libxl_domain_config_from_json' function. */
#undef HAVE_LIBXL_DOMAIN_CONFIG_FROM_JSON

/* Define to 1 if you have the `yajl' library (-lyajl). */
#undef HAVE_LIBYAJL

@@ -1655,12 +1646,6 @@
/* Define to 1 if you have the 'recvmsg' function. */
#undef HAVE_RECVMSG

/* Define to 1 if you have the 'regexec' function. */
#undef HAVE_REGEXEC

/* Define to 1 if you have the <regex.h> header file. */
#undef HAVE_REGEX_H

/* Define to 1 if you have the `revoke' function. */
#undef HAVE_REVOKE

@@ -1961,9 +1946,6 @@
/* Define to 1 if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H

/* Define to 1 if you have the <sys/poll.h> header file. */
#undef HAVE_SYS_POLL_H

/* Define to 1 if you have the <sys/pstat.h> header file. */
#undef HAVE_SYS_PSTAT_H

@@ -2155,6 +2137,9 @@
/* Define to 1 if you have the `xdr_u_int64_t' function. */
#undef HAVE_XDR_U_INT64_T

/* Define to 1 if Xen has PVH support. */
#undef HAVE_XEN_PVH

/* Define to 1 if you have the <xfs/xfs.h> header file. */
#undef HAVE_XFS_XFS_H



+ 57
- 81
configure View File

@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for libvirt 4.7.0.
# Generated by GNU Autoconf 2.69 for libvirt 4.10.0.
#
# Report bugs to <libvir-list@redhat.com>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='libvirt'
PACKAGE_TARNAME='libvirt'
PACKAGE_VERSION='4.7.0'
PACKAGE_STRING='libvirt 4.7.0'
PACKAGE_VERSION='4.10.0'
PACKAGE_STRING='libvirt 4.10.0'
PACKAGE_BUGREPORT='libvir-list@redhat.com'
PACKAGE_URL='https://libvirt.org'

@@ -3204,7 +3204,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures libvirt 4.7.0 to adapt to many kinds of systems.
\`configure' configures libvirt 4.10.0 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

@@ -3274,7 +3274,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of libvirt 4.7.0:";;
short | recursive ) echo "Configuration of libvirt 4.10.0:";;
esac
cat <<\_ACEOF

@@ -3616,7 +3616,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
libvirt configure 4.7.0
libvirt configure 4.10.0
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
@@ -4325,7 +4325,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by libvirt $as_me 4.7.0, which was
It was created by libvirt $as_me 4.10.0, which was
generated by GNU Autoconf 2.69. Invocation command line was

$ $0 $@
@@ -4719,24 +4719,21 @@ gl_func_list="$gl_func_list shutdown"
gl_func_list="$gl_func_list wctob"
gl_func_list="$gl_func_list cfmakeraw"
gl_func_list="$gl_func_list fallocate"
gl_func_list="$gl_func_list getgrnam_r"
gl_func_list="$gl_func_list getifaddrs"
gl_func_list="$gl_func_list getmntent_r"
gl_func_list="$gl_func_list getpwuid_r"
gl_func_list="$gl_func_list getrlimit"
gl_func_list="$gl_func_list if_indextoname"
gl_func_list="$gl_func_list kill"
gl_func_list="$gl_func_list mmap"
gl_func_list="$gl_func_list posix_fallocate"
gl_func_list="$gl_func_list posix_memalign"
gl_func_list="$gl_func_list prlimit"
gl_func_list="$gl_func_list regexec"
gl_func_list="$gl_func_list sched_getaffinity"
gl_func_list="$gl_func_list sched_setscheduler"
gl_func_list="$gl_func_list setgroups"
gl_func_list="$gl_func_list setns"
gl_func_list="$gl_func_list setrlimit"
gl_func_list="$gl_func_list sysctlbyname"
gl_func_list="$gl_func_list getifaddrs"
gl_func_list="$gl_func_list sched_setscheduler"
gl_func_list="$gl_func_list unshare"
# Check that the precious variables saved in the cache have kept the same
# value.
@@ -5326,7 +5323,7 @@ fi

# Define the identity of the package.
PACKAGE='libvirt'
VERSION='4.7.0'
VERSION='4.10.0'


cat >>confdefs.h <<_ACEOF
@@ -68270,21 +68267,6 @@ _ACEOF





















@@ -68374,19 +68356,22 @@ _ACEOF



for ac_header in \
ifaddrs.h \
libtasn1.h \
linux/magic.h \
mntent.h \
net/ethernet.h \
netinet/tcp.h \
pwd.h \
stdarg.h \
syslog.h \
sys/mount.h \
sys/syscall.h \
sys/sysctl.h \
sys/ucred.h \
sys/un.h \









for ac_header in pwd.h regex.h sys/un.h \
sys/poll.h syslog.h mntent.h net/ethernet.h linux/magic.h \
sys/un.h sys/syscall.h sys/sysctl.h netinet/tcp.h ifaddrs.h \
libtasn1.h sys/ucred.h sys/mount.h stdarg.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -70762,9 +70747,9 @@ fi
LIBXL_CFLAGS=""
LIBXL_FIRMWARE_DIR=""
LIBXL_EXECBIN_DIR=""
LIBXL_API_VERSION="-DLIBXL_API_VERSION=0x040400"
LIBXL_API_VERSION="-DLIBXL_API_VERSION=0x040500"

old_with_libxl="$with_libxl"
old_with_libxl="$with_libxl"



@@ -70790,12 +70775,12 @@ if test -n "$LIBXL_CFLAGS"; then
pkg_cv_LIBXL_CFLAGS="$LIBXL_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xenlight >= 4.4.0\""; } >&5
($PKG_CONFIG --exists --print-errors "xenlight >= 4.4.0") 2>&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xenlight >= 4.6.0\""; } >&5
($PKG_CONFIG --exists --print-errors "xenlight >= 4.6.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_LIBXL_CFLAGS=`$PKG_CONFIG --cflags "xenlight >= 4.4.0" 2>/dev/null`
pkg_cv_LIBXL_CFLAGS=`$PKG_CONFIG --cflags "xenlight >= 4.6.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -70807,12 +70792,12 @@ if test -n "$LIBXL_LIBS"; then
pkg_cv_LIBXL_LIBS="$LIBXL_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xenlight >= 4.4.0\""; } >&5
($PKG_CONFIG --exists --print-errors "xenlight >= 4.4.0") 2>&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xenlight >= 4.6.0\""; } >&5
($PKG_CONFIG --exists --print-errors "xenlight >= 4.6.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_LIBXL_LIBS=`$PKG_CONFIG --libs "xenlight >= 4.4.0" 2>/dev/null`
pkg_cv_LIBXL_LIBS=`$PKG_CONFIG --libs "xenlight >= 4.6.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -70833,9 +70818,9 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
LIBXL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xenlight >= 4.4.0" 2>&1`
LIBXL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xenlight >= 4.6.0" 2>&1`
else
LIBXL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xenlight >= 4.4.0" 2>&1`
LIBXL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xenlight >= 4.6.0" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$LIBXL_PKG_ERRORS" >&5
@@ -70905,10 +70890,10 @@ fi
LIBXL_EXECBIN_DIR=$($PKG_CONFIG --variable libexec_bin xenlight)
fi

if test "x$with_libxl" = "xno" ; then
if test "x$with_libxl" = "xno" ; then
with_libxl="$old_with_libxl"

libxlold_CFLAGS="$CFLAGS"
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $LIBXL_API_VERSION"


@@ -70938,9 +70923,9 @@ fi
fi
CFLAGS="$CFLAGS $LIBXL_CFLAGS"
LIBS="$LIBS $LIBXL_LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxl_ctx_alloc in -lxenlight" >&5
$as_echo_n "checking for libxl_ctx_alloc in -lxenlight... " >&6; }
if ${ac_cv_lib_xenlight_libxl_ctx_alloc+:} false; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxl_cpupool_cpuadd_cpumap in -lxenlight" >&5
$as_echo_n "checking for libxl_cpupool_cpuadd_cpumap in -lxenlight... " >&6; }
if ${ac_cv_lib_xenlight_libxl_cpupool_cpuadd_cpumap+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -70954,27 +70939,27 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
#ifdef __cplusplus
extern "C"
#endif
char libxl_ctx_alloc ();
char libxl_cpupool_cpuadd_cpumap ();
int
main ()
{
return libxl_ctx_alloc ();
return libxl_cpupool_cpuadd_cpumap ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_xenlight_libxl_ctx_alloc=yes
ac_cv_lib_xenlight_libxl_cpupool_cpuadd_cpumap=yes
else
ac_cv_lib_xenlight_libxl_ctx_alloc=no
ac_cv_lib_xenlight_libxl_cpupool_cpuadd_cpumap=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xenlight_libxl_ctx_alloc" >&5
$as_echo "$ac_cv_lib_xenlight_libxl_ctx_alloc" >&6; }
if test "x$ac_cv_lib_xenlight_libxl_ctx_alloc" = xyes; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xenlight_libxl_cpupool_cpuadd_cpumap" >&5
$as_echo "$ac_cv_lib_xenlight_libxl_cpupool_cpuadd_cpumap" >&6; }
if test "x$ac_cv_lib_xenlight_libxl_cpupool_cpuadd_cpumap" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBXENLIGHT 1
_ACEOF
@@ -71055,17 +71040,14 @@ fi



CFLAGS="$libxlold_CFLAGS"
CFLAGS="$save_CFLAGS"

if test $fail = 1; then
as_fn_error $? "You must install the libxl Library from Xen >= 4.4 to compile libxenlight driver with -lxl" "$LINENO" 5
as_fn_error $? "You must install the libxl Library from Xen >= 4.6 to compile libxenlight driver with -lxl" "$LINENO" 5
fi
fi

if test "$with_libxl" = "yes"; then
old_LIBS="$LIBS"
old_CFLAGS="$CFLAGS"

LIBXL_CFLAGS="$LIBXL_CFLAGS $LIBXL_API_VERSION"

for ac_header in libxlutil.h
@@ -71141,22 +71123,16 @@ else

fi

fi

LIBS="$LIBS -lxenlight -lxenctrl"
for ac_func in libxl_domain_config_from_json
do :
ac_fn_c_check_func "$LINENO" "libxl_domain_config_from_json" "ac_cv_func_libxl_domain_config_from_json"
if test "x$ac_cv_func_libxl_domain_config_from_json" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBXL_DOMAIN_CONFIG_FROM_JSON 1
_ACEOF
ac_fn_c_check_decl "$LINENO" "LIBXL_DOMAIN_TYPE_PVH" "ac_cv_have_decl_LIBXL_DOMAIN_TYPE_PVH" "#include <libxl.h>
"
if test "x$ac_cv_have_decl_LIBXL_DOMAIN_TYPE_PVH" = xyes; then :

$as_echo "#define HAVE_XEN_PVH 1" >>confdefs.h

fi
done

CFLAGS="$old_CFLAGS"
LIBS="$old_LIBS"
fi



@@ -77443,7 +77419,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by libvirt $as_me 4.7.0, which was
This file was extended by libvirt $as_me 4.10.0, which was
generated by GNU Autoconf 2.69. Invocation command line was

CONFIG_FILES = $CONFIG_FILES
@@ -77514,7 +77490,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
libvirt config.status 4.7.0
libvirt config.status 4.10.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"



+ 42
- 10
configure.ac View File

@@ -16,7 +16,7 @@ dnl You should have received a copy of the GNU Lesser General Public
dnl License along with this library. If not, see
dnl <http://www.gnu.org/licenses/>.

AC_INIT([libvirt], [4.7.0], [libvir-list@redhat.com], [], [https://libvirt.org])
AC_INIT([libvirt], [4.10.0], [libvir-list@redhat.com], [], [https://libvirt.org])
AC_CONFIG_SRCDIR([src/libvirt.c])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([config.h])
@@ -322,17 +322,49 @@ AC_CHECK_SIZEOF([long])

dnl Availability of various common functions (non-fatal if missing),
dnl and various less common threadsafe functions
AC_CHECK_FUNCS_ONCE([cfmakeraw fallocate geteuid getgid getgrnam_r \
getmntent_r getpwuid_r getrlimit getuid if_indextoname kill mmap \
newlocale posix_fallocate posix_memalign prlimit regexec \
sched_getaffinity setgroups setns setrlimit symlink sysctlbyname \
getifaddrs sched_setscheduler unshare])
AC_CHECK_FUNCS_ONCE([\
cfmakeraw \
fallocate \
geteuid \
getgid \
getifaddrs \
getmntent_r \
getpwuid_r \
getrlimit \
getuid \
if_indextoname \
mmap \
newlocale \
posix_fallocate \
posix_memalign \
prlimit \
sched_getaffinity \
sched_setscheduler \
setgroups \
setns \
setrlimit \
symlink \
sysctlbyname \
unshare \
])

dnl Availability of various common headers (non-fatal if missing).
AC_CHECK_HEADERS([pwd.h regex.h sys/un.h \
sys/poll.h syslog.h mntent.h net/ethernet.h linux/magic.h \
sys/un.h sys/syscall.h sys/sysctl.h netinet/tcp.h ifaddrs.h \
libtasn1.h sys/ucred.h sys/mount.h stdarg.h])
AC_CHECK_HEADERS([\
ifaddrs.h \
libtasn1.h \
linux/magic.h \
mntent.h \
net/ethernet.h \
netinet/tcp.h \
pwd.h \
stdarg.h \
syslog.h \
sys/mount.h \
sys/syscall.h \
sys/sysctl.h \
sys/ucred.h \
sys/un.h \
])
dnl Check whether endian provides handy macros.
AC_CHECK_DECLS([htole64], [], [], [[#include <endian.h>]])
AC_CHECK_FUNCS([stat stat64 __xstat __xstat64 lstat lstat64 __lxstat __lxstat64])


+ 129
- 1
docs/aclpolkit.html View File

@@ -6,7 +6,7 @@
Do not edit this file. Changes will be lost.
-->
<!--
This page was generated at Tue Aug 28 09:04:24 UTC 2018.
This page was generated at Tue Nov 27 18:28:28 UTC 2018.
-->
<head>
<meta charset="UTF-8"/>
@@ -102,6 +102,14 @@
</li>
</ul>
</li>
<li>
<a href="#connect_driver">Hypervisor Driver connect_driver</a>
<ul>
<li>
<a href="#object_connect_driver">Connection Driver Name</a>
</li>
</ul>
</li>
<li>
<a href="#user">User identity attributes</a>
</li>
@@ -408,6 +416,126 @@
</tr>
</tbody>
</table>
<h2>
<a id="connect_driver">Hypervisor Driver connect_driver</a>
<a class="headerlink" href="#connect_driver" title="Permalink to this headline">¶</a>
</h2>
<p>
The <code>connect_driver</code> parameter describes the
client's <a href="remote.html">remote Connection Driver</a>
name based on the <a href="uri.html">URI</a> used for the
connection.
</p>
<p><span class="since">Since 4.1.0</span>, when calling an API
outside the scope of the primary connection driver, the
primary driver will attempt to open a secondary connection
to the specific API driver in order to process the API. For
example, when hypervisor domain processing needs to make an
API call within the storage driver or the network filter driver
an attempt to open a connection to the "storage" or "nwfilter"
driver will be made. Similarly, a "storage" primary connection
may need to create a connection to the "secret" driver in order
to process secrets for the API. If successful, then calls to
those API's will occur in the <code>connect_driver</code> context
of the secondary connection driver rather than in the context of
the primary driver. This affects the <code>connect_driver</code>
returned from rule generation from the <code>action.loookup</code>
function. The following table provides a list of the various
connection drivers and the <code>connect_driver</code> name
used by each regardless of primary or secondary connection.
The access denied error message from libvirt will list the
connection driver by name that denied the access.
</p>
<h3>
<a id="object_connect_driver">Connection Driver Name</a>
<a class="headerlink" href="#object_connect_driver" title="Permalink to this headline">¶</a>
</h3>
<table class="acl">
<thead>
<tr>
<th>Connection Driver</th>
<th><code>connect_driver</code> name</th>
</tr>
</thead>
<tbody>
<tr>
<td>bhyve</td>
<td>bhyve</td>
</tr>
<tr>
<td>esx</td>
<td>ESX</td>
</tr>
<tr>
<td>hyperv</td>
<td>Hyper-V</td>
</tr>
<tr>
<td>interface</td>
<td>interface</td>
</tr>
<tr>
<td>libxl</td>
<td>xenlight</td>
</tr>
<tr>
<td>lxc</td>
<td>LXC</td>
</tr>
<tr>
<td>network</td>
<td>network</td>
</tr>
<tr>
<td>nodedev</td>
<td>nodedev</td>
</tr>
<tr>
<td>nwfilter</td>
<td>NWFilter</td>
</tr>
<tr>
<td>openvz</td>
<td>OPENVZ</td>
</tr>
<tr>
<td>phyp</td>
<td>PHYP</td>
</tr>
<tr>
<td>qemu</td>
<td>QEMU</td>
</tr>
<tr>
<td>secret</td>
<td>secret</td>
</tr>
<tr>
<td>storage</td>
<td>storage</td>
</tr>
<tr>
<td>uml</td>
<td>UML</td>
</tr>
<tr>
<td>vbox</td>
<td>VBOX</td>
</tr>
<tr>
<td>vmware</td>
<td>VMWARE</td>
</tr>
<tr>
<td>vz</td>
<td>vz</td>
</tr>
<tr>
<td>xenapi</td>
<td>XenAPI</td>
</tr>
</tbody>
</table>
<h2>
<a id="user">User identity attributes</a>
<a class="headerlink" href="#user" title="Permalink to this headline">¶</a>


+ 117
- 0
docs/aclpolkit.html.in View File

@@ -287,6 +287,123 @@
</tbody>
</table>

<h2><a id="connect_driver">Hypervisor Driver connect_driver</a></h2>
<p>
The <code>connect_driver</code> parameter describes the
client's <a href="remote.html">remote Connection Driver</a>
name based on the <a href="uri.html">URI</a> used for the
connection.
</p>
<p>
<span class="since">Since 4.1.0</span>, when calling an API
outside the scope of the primary connection driver, the
primary driver will attempt to open a secondary connection
to the specific API driver in order to process the API. For
example, when hypervisor domain processing needs to make an
API call within the storage driver or the network filter driver
an attempt to open a connection to the "storage" or "nwfilter"
driver will be made. Similarly, a "storage" primary connection
may need to create a connection to the "secret" driver in order
to process secrets for the API. If successful, then calls to
those API's will occur in the <code>connect_driver</code> context
of the secondary connection driver rather than in the context of
the primary driver. This affects the <code>connect_driver</code>
returned from rule generation from the <code>action.loookup</code>
function. The following table provides a list of the various
connection drivers and the <code>connect_driver</code> name
used by each regardless of primary or secondary connection.
The access denied error message from libvirt will list the
connection driver by name that denied the access.
</p>

<h3><a id="object_connect_driver">Connection Driver Name</a></h3>
<table class="acl">
<thead>
<tr>
<th>Connection Driver</th>
<th><code>connect_driver</code> name</th>
</tr>
</thead>
<tbody>
<tr>
<td>bhyve</td>
<td>bhyve</td>
</tr>
<tr>
<td>esx</td>
<td>ESX</td>
</tr>
<tr>
<td>hyperv</td>
<td>Hyper-V</td>
</tr>
<tr>
<td>interface</td>
<td>interface</td>
</tr>
<tr>
<td>libxl</td>
<td>xenlight</td>
</tr>
<tr>
<td>lxc</td>
<td>LXC</td>
</tr>
<tr>
<td>network</td>
<td>network</td>
</tr>
<tr>
<td>nodedev</td>
<td>nodedev</td>
</tr>
<tr>
<td>nwfilter</td>
<td>NWFilter</td>
</tr>
<tr>
<td>openvz</td>
<td>OPENVZ</td>
</tr>
<tr>
<td>phyp</td>
<td>PHYP</td>
</tr>
<tr>
<td>qemu</td>
<td>QEMU</td>
</tr>
<tr>
<td>secret</td>
<td>secret</td>
</tr>
<tr>
<td>storage</td>
<td>storage</td>
</tr>
<tr>
<td>uml</td>
<td>UML</td>
</tr>
<tr>
<td>vbox</td>
<td>VBOX</td>
</tr>
<tr>
<td>vmware</td>
<td>VMWARE</td>
</tr>
<tr>
<td>vz</td>
<td>vz</td>
</tr>
<tr>
<td>xenapi</td>
<td>XenAPI</td>
</tr>
</tbody>
</table>


<h2><a id="user">User identity attributes</a></h2>



+ 6
- 0
docs/devhelp/libvirt.devhelp View File

@@ -76,6 +76,9 @@
<function name="VIR_DOMAIN_CPU_STATS_USERTIME" link="libvirt-libvirt-domain.html#VIR_DOMAIN_CPU_STATS_USERTIME"/>
<function name="VIR_DOMAIN_CPU_STATS_VCPUTIME" link="libvirt-libvirt-domain.html#VIR_DOMAIN_CPU_STATS_VCPUTIME"/>
<function name="VIR_DOMAIN_EVENT_CALLBACK" link="libvirt-libvirt-domain.html#VIR_DOMAIN_EVENT_CALLBACK"/>
<function name="VIR_DOMAIN_IOTHREAD_POLL_GROW" link="libvirt-libvirt-domain.html#VIR_DOMAIN_IOTHREAD_POLL_GROW"/>
<function name="VIR_DOMAIN_IOTHREAD_POLL_MAX_NS" link="libvirt-libvirt-domain.html#VIR_DOMAIN_IOTHREAD_POLL_MAX_NS"/>
<function name="VIR_DOMAIN_IOTHREAD_POLL_SHRINK" link="libvirt-libvirt-domain.html#VIR_DOMAIN_IOTHREAD_POLL_SHRINK"/>
<function name="VIR_DOMAIN_JOB_AUTO_CONVERGE_THROTTLE" link="libvirt-libvirt-domain.html#VIR_DOMAIN_JOB_AUTO_CONVERGE_THROTTLE"/>
<function name="VIR_DOMAIN_JOB_COMPRESSION_BYTES" link="libvirt-libvirt-domain.html#VIR_DOMAIN_JOB_COMPRESSION_BYTES"/>
<function name="VIR_DOMAIN_JOB_COMPRESSION_CACHE" link="libvirt-libvirt-domain.html#VIR_DOMAIN_JOB_COMPRESSION_CACHE"/>
@@ -731,6 +734,7 @@
<function name="VIR_DOMAIN_SHUTDOWN_USER" link="libvirt-libvirt-domain.html#VIR_DOMAIN_SHUTDOWN_USER"/>
<function name="VIR_DOMAIN_SHUTOFF" link="libvirt-libvirt-domain.html#VIR_DOMAIN_SHUTOFF"/>
<function name="VIR_DOMAIN_SHUTOFF_CRASHED" link="libvirt-libvirt-domain.html#VIR_DOMAIN_SHUTOFF_CRASHED"/>
<function name="VIR_DOMAIN_SHUTOFF_DAEMON" link="libvirt-libvirt-domain.html#VIR_DOMAIN_SHUTOFF_DAEMON"/>
<function name="VIR_DOMAIN_SHUTOFF_DESTROYED" link="libvirt-libvirt-domain.html#VIR_DOMAIN_SHUTOFF_DESTROYED"/>
<function name="VIR_DOMAIN_SHUTOFF_FAILED" link="libvirt-libvirt-domain.html#VIR_DOMAIN_SHUTOFF_FAILED"/>
<function name="VIR_DOMAIN_SHUTOFF_FROM_SNAPSHOT" link="libvirt-libvirt-domain.html#VIR_DOMAIN_SHUTOFF_FROM_SNAPSHOT"/>
@@ -774,6 +778,7 @@
<function name="VIR_DOMAIN_STATS_BLOCK" link="libvirt-libvirt-domain.html#VIR_DOMAIN_STATS_BLOCK"/>
<function name="VIR_DOMAIN_STATS_CPU_TOTAL" link="libvirt-libvirt-domain.html#VIR_DOMAIN_STATS_CPU_TOTAL"/>
<function name="VIR_DOMAIN_STATS_INTERFACE" link="libvirt-libvirt-domain.html#VIR_DOMAIN_STATS_INTERFACE"/>
<function name="VIR_DOMAIN_STATS_IOTHREAD" link="libvirt-libvirt-domain.html#VIR_DOMAIN_STATS_IOTHREAD"/>
<function name="VIR_DOMAIN_STATS_PERF" link="libvirt-libvirt-domain.html#VIR_DOMAIN_STATS_PERF"/>
<function name="VIR_DOMAIN_STATS_STATE" link="libvirt-libvirt-domain.html#VIR_DOMAIN_STATS_STATE"/>
<function name="VIR_DOMAIN_STATS_VCPU" link="libvirt-libvirt-domain.html#VIR_DOMAIN_STATS_VCPU"/>
@@ -1637,6 +1642,7 @@
<function name="virDomainSetBlockIoTune ()" link="libvirt-libvirt-domain.html#virDomainSetBlockIoTune"/>
<function name="virDomainSetBlockThreshold ()" link="libvirt-libvirt-domain.html#virDomainSetBlockThreshold"/>
<function name="virDomainSetGuestVcpus ()" link="libvirt-libvirt-domain.html#virDomainSetGuestVcpus"/>
<function name="virDomainSetIOThreadParams ()" link="libvirt-libvirt-domain.html#virDomainSetIOThreadParams"/>
<function name="virDomainSetInterfaceParameters ()" link="libvirt-libvirt-domain.html#virDomainSetInterfaceParameters"/>
<function name="virDomainSetLifecycleAction ()" link="libvirt-libvirt-domain.html#virDomainSetLifecycleAction"/>
<function name="virDomainSetMaxMemory ()" link="libvirt-libvirt-domain.html#virDomainSetMaxMemory"/>


+ 2
- 2
docs/drvqemu.html View File

@@ -6,7 +6,7 @@
Do not edit this file. Changes will be lost.
-->
<!--
This page was generated at Tue Aug 28 09:04:25 UTC 2018.
This page was generated at Tue Oct 30 19:00:06 UTC 2018.
-->
<head>
<meta charset="UTF-8"/>
@@ -113,7 +113,7 @@
</ul>
<p>
The libvirt KVM/QEMU driver can manage any QEMU emulator from
version 0.12.0 or later.
version 1.5.0 or later.
</p>
<h2>
<a id="project">Project Links</a>


+ 1
- 1
docs/drvqemu.html.in View File

@@ -8,7 +8,7 @@

<p>
The libvirt KVM/QEMU driver can manage any QEMU emulator from
version 0.12.0 or later.
version 1.5.0 or later.
</p>

<h2><a id="project">Project Links</a></h2>


+ 2
- 2
docs/drvxen.html View File

@@ -6,7 +6,7 @@
Do not edit this file. Changes will be lost.
-->
<!--
This page was generated at Tue Aug 28 09:04:25 UTC 2018.
This page was generated at Wed Sep 26 11:29:31 UTC 2018.
-->
<head>
<meta charset="UTF-8"/>
@@ -83,7 +83,7 @@
</ul>
<p>
The libvirt libxl driver provides the ability to manage virtual
machines on any Xen release from 4.4.0 onwards.
machines on any Xen release from 4.6.0 onwards.
</p>
<h2>
<a id="project">Project Links</a>


+ 1
- 1
docs/drvxen.html.in View File

@@ -8,7 +8,7 @@

<p>
The libvirt libxl driver provides the ability to manage virtual
machines on any Xen release from 4.4.0 onwards.
machines on any Xen release from 4.6.0 onwards.
</p>

<h2><a id="project">Project Links</a></h2>


+ 17
- 3
docs/formatcaps.html View File

@@ -6,7 +6,7 @@
Do not edit this file. Changes will be lost.
-->
<!--
This page was generated at Tue Aug 28 09:04:26 UTC 2018.
This page was generated at Tue Nov 27 18:28:28 UTC 2018.
-->
<head>
<meta charset="UTF-8"/>
@@ -145,12 +145,26 @@
</dt>
<dd>This expresses what kind of operating system the hypervisor
is able to run. Possible values are:
<dl><dt><code>xen</code></dt><dd>for XEN</dd><dt><code>linux</code></dt><dd>legacy alias for <code>xen</code></dd><dt><code>hvm</code></dt><dd>Unmodified operating system</dd><dt><code>exe</code></dt><dd>Container based virtualization</dd><dt><code>uml</code></dt><dd>User Mode Linux</dd></dl>
<dl><dt><code>xen</code></dt><dd>for XEN PV</dd><dt><code>linux</code></dt><dd>legacy alias for <code>xen</code></dd><dt><code>xenpvh</code></dt><dd>for XEN PVH</dd><dt><code>hvm</code></dt><dd>Unmodified operating system</dd><dt><code>exe</code></dt><dd>Container based virtualization</dd><dt><code>uml</code></dt><dd>User Mode Linux</dd></dl>
</dd>
<dt>
<code>arch</code>
</dt>
<dd>This element brings some information on supported guest architecture.</dd>
<dd>This element brings some information on supported guest
architecture. Possible subelements are:
<dl><dt><code>wordsize</code></dt><dd>Size of CPU word in bits, for example 64.</dd><dt><code>emulator</code></dt><dd>Emulator (device model) path, for
use in <a href="formatdomain.html#elementEmulator">emulator</a>
element of domain XML.</dd><dt><code>loader</code></dt><dd>Loader path, for use in
<a href="formatdomain.html#elementLoader">loader</a> element of domain
XML.</dd><dt><code>machine</code></dt><dd>Machine type, for use in
<a href="formatdomain.html#attributeOSTypeMachine">machine</a>
attribute of os/type element in domain XML. For example Xen
supports <code>xenfv</code> for HVM, <code>xenpv</code> for
PV, or <code>xenpvh</code> for PVH.</dd><dt><code>domain</code></dt><dd>The <code>type</code> attribute of
this element specifies the type of hypervisor required to run the
domain. Use in <a href="formatdomain.html#attributeDomainType">type</a>
attribute of the domain root element.</dd></dl>
</dd>
<dt>
<code>features</code>
</dt>


+ 25
- 2
docs/formatcaps.html.in View File

@@ -74,11 +74,14 @@
is able to run. Possible values are:
<dl>
<dt><code>xen</code></dt>
<dd>for XEN</dd>
<dd>for XEN PV</dd>

<dt><code>linux</code></dt>
<dd>legacy alias for <code>xen</code></dd>

<dt><code>xenpvh</code></dt>
<dd>for XEN PVH</dd>

<dt><code>hvm</code></dt>
<dd>Unmodified operating system</dd>

@@ -91,7 +94,27 @@
</dd>

<dt><code>arch</code></dt>
<dd>This element brings some information on supported guest architecture.</dd>
<dd>This element brings some information on supported guest
architecture. Possible subelements are:
<dl>
<dt><code>wordsize</code></dt><dd>Size of CPU word in bits, for example 64.</dd>
<dt><code>emulator</code></dt><dd>Emulator (device model) path, for
use in <a href="formatdomain.html#elementEmulator">emulator</a>
element of domain XML.</dd>
<dt><code>loader</code></dt><dd>Loader path, for use in
<a href="formatdomain.html#elementLoader">loader</a> element of domain
XML.</dd>
<dt><code>machine</code></dt><dd>Machine type, for use in
<a href="formatdomain.html#attributeOSTypeMachine">machine</a>
attribute of os/type element in domain XML. For example Xen
supports <code>xenfv</code> for HVM, <code>xenpv</code> for
PV, or <code>xenpvh</code> for PVH.</dd>
<dt><code>domain</code></dt><dd>The <code>type</code> attribute of
this element specifies the type of hypervisor required to run the
domain. Use in <a href="formatdomain.html#attributeDomainType">type</a>
attribute of the domain root element.</dd>
</dl>
</dd>

<dt><code>features</code></dt>
<dd>This optional element encases possible features that can be used


+ 72
- 22
docs/formatdomain.html View File

@@ -6,7 +6,7 @@
Do not edit this file. Changes will be lost.
-->
<!--
This page was generated at Thu Aug 30 07:49:31 UTC 2018.
This page was generated at Tue Nov 27 18:28:28 UTC 2018.
-->
<head>
<meta charset="UTF-8"/>
@@ -384,7 +384,8 @@
<p>
The root element required for all virtual machines is
named <code>domain</code>. It has two attributes, the
<code>type</code> specifies the hypervisor used for running
<a id="attributeDomainType"><code>type</code></a>
specifies the hypervisor used for running
the domain. The allowed values are driver specific, but
include "xen", "kvm", "qemu", "lxc" and "kqemu". The
second attribute is <code>id</code> which is a unique
@@ -517,12 +518,14 @@
(badly named!) refers to an OS that supports the Xen 3 hypervisor
guest ABI. There are also two optional attributes, <code>arch</code>
specifying the CPU architecture to virtualization,
and <code>machine</code> referring to the machine
type. The <a href="formatcaps.html">Capabilities XML</a>
and <a id="attributeOSTypeMachine"><code>machine</code></a> referring
to the machine type. The <a href="formatcaps.html">Capabilities XML</a>
provides details on allowed values for
these. <span class="since">Since 0.0.1</span></dd>
<dt>
<code>loader</code>
<a id="elementLoader">
<code>loader</code>
</a>
</dt>
<dd>The optional <code>loader</code> tag refers to a firmware blob,
which is specified by absolute path,
@@ -1096,6 +1099,12 @@
&lt;cachetune vcpus='0-3'&gt;
&lt;cache id='0' level='3' type='both' size='3' unit='MiB'/&gt;
&lt;cache id='1' level='3' type='both' size='3' unit='MiB'/&gt;
&lt;monitor level='3' vcpus='1'/&gt;
&lt;monitor level='3' vcpus='0-3'/&gt;
&lt;/cachetune&gt;
&lt;cachetune vcpus='4-5'&gt;
&lt;monitor level='3' vcpus='4'/&gt;
&lt;monitor level='3' vcpus='5'/&gt;
&lt;/cachetune&gt;
&lt;memorytune vcpus='0-3'&gt;
&lt;node id='0' bandwidth='60'/&gt;
@@ -1302,8 +1311,8 @@
in memorytune, however they are not allowed to overlap.
Supported subelements are:
<dl><dt><code>cache</code></dt><dd>
This element controls the allocation of CPU cache and has the
following attributes:
This optional element controls the allocation of CPU cache and has
the following attributes:
<dl><dt><code>level</code></dt><dd>
Host cache level from which to allocate.
</dd><dt><code>id</code></dt><dd>
@@ -1325,6 +1334,19 @@
for <a href="#elementsMemoryAllocation">Memory Allocation</a>)
in which <code>size</code> is specified, defaults to bytes.
</dd></dl>
</dd><dt><code>monitor</code><span class="since">Since 4.10.0</span></dt><dd>
The optional element <code>monitor</code> creates the cache
monitor(s) for current cache allocation and has the following
required attributes:
<dl><dt><code>level</code></dt><dd>
Host cache level the monitor belongs to.
</dd><dt><code>vcpus</code></dt><dd>
vCPU list the monitor applies to. A monitor's vCPU list
can only be the member(s) of the vCPU list of the associated
allocation. The default monitor has the same vCPU list as the
associated allocation. For non-default monitors, overlapping
vCPUs are not permitted.
</dd></dl>
</dd></dl>
</dd>
<dt>
@@ -1445,7 +1467,7 @@
&lt;/hugepages&gt;
&lt;nosharepages/&gt;
&lt;locked/&gt;
&lt;source type="file|anonymous"/&gt;
&lt;source type="file|anonymous|memfd"/&gt;
&lt;access mode="shared|private"/&gt;
&lt;allocation mode="immediate|ondemand"/&gt;
&lt;discard/&gt;
@@ -1502,17 +1524,21 @@
<dt>
<code>source</code>
</dt>
<dd>In this attribute you can switch to file memorybacking or keep
default anonymous.</dd>
<dd>Using the <code>type</code> attribute, it's possible to
provide "file" to utilize file memorybacking or keep the
default "anonymous". <span class="since">Since 4.10.0</span>,
you may choose "memfd" backing. (QEMU/KVM only)</dd>
<dt>
<code>access</code>
</dt>
<dd>Specify if memory is shared or private. This can be overridden per
numa node by <code>memAccess</code></dd>
<dd>Using the <code>mode</code> attribute, specify if the memory is
to be "shared" or "private". This can be overridden per numa node by
<code>memAccess</code>.</dd>
<dt>
<code>allocation</code>
</dt>
<dd>Specify when allocate the memory</dd>
<dd>Using the <code>mode</code> attribute, specify when to allocate
the memory by supplying either "immediate" or "ondemand".</dd>
<dt>
<code>discard</code>
</dt>
@@ -2299,6 +2325,8 @@
&lt;frequencies state='on'/&gt;
&lt;reenlightenment state='on'/&gt;
&lt;tlbflush state='on'/&gt;
&lt;ipi state='on'/&gt;
&lt;evmcs state='on'/&gt;
&lt;/hyperv&gt;
&lt;kvm&gt;
&lt;hidden state='on'/&gt;
@@ -2372,7 +2400,7 @@
</dt>
<dd>Enable various features improving behavior of guests
running Microsoft Windows.
<table class="top_table"><tr><th>Feature</th><th>Description</th><th>Value</th><th>Since</th></tr><tr><td>relaxed</td><td>Relax constraints on timers</td><td> on, off</td><td><span class="since">1.0.0 (QEMU 2.0)</span></td></tr><tr><td>vapic</td><td>Enable virtual APIC</td><td>on, off</td><td><span class="since">1.1.0 (QEMU 2.0)</span></td></tr><tr><td>spinlocks</td><td>Enable spinlock support</td><td>on, off; retries - at least 4095</td><td><span class="since">1.1.0 (QEMU 2.0)</span></td></tr><tr><td>vpindex</td><td>Virtual processor index</td><td> on, off</td><td><span class="since">1.3.3 (QEMU 2.5)</span></td></tr><tr><td>runtime</td><td>Processor time spent on running guest code and on behalf of guest code</td><td> on, off</td><td><span class="since">1.3.3 (QEMU 2.5)</span></td></tr><tr><td>synic</td><td>Enable Synthetic Interrupt Controller (SyNIC)</td><td> on, off</td><td><span class="since">1.3.3 (QEMU 2.6)</span></td></tr><tr><td>stimer</td><td>Enable SyNIC timers</td><td> on, off</td><td><span class="since">1.3.3 (QEMU 2.6)</span></td></tr><tr><td>reset</td><td>Enable hypervisor reset</td><td> on, off</td><td><span class="since">1.3.3 (QEMU 2.5)</span></td></tr><tr><td>vendor_id</td><td>Set hypervisor vendor id</td><td>on, off; value - string, up to 12 characters</td><td><span class="since">1.3.3 (QEMU 2.5)</span></td></tr><tr><td>frequencies</td><td>Expose frequency MSRs</td><td> on, off</td><td><span class="since">4.7.0 (QEMU 2.12)</span></td></tr><tr><td>reenlightenment</td><td>Enable re-enlightenment notification on migration</td><td> on, off</td><td><span class="since">4.7.0 (QEMU 3.0)</span></td></tr><tr><td>tlbflush</td><td>Enable PV TLB flush support</td><td> on, off</td><td><span class="since">4.7.0 (QEMU 3.0)</span></td></tr></table>
<table class="top_table"><tr><th>Feature</th><th>Description</th><th>Value</th><th>Since</th></tr><tr><td>relaxed</td><td>Relax constraints on timers</td><td>on, off</td><td><span class="since">1.0.0 (QEMU 2.0)</span></td></tr><tr><td>vapic</td><td>Enable virtual APIC</td><td>on, off</td><td><span class="since">1.1.0 (QEMU 2.0)</span></td></tr><tr><td>spinlocks</td><td>Enable spinlock support</td><td>on, off; retries - at least 4095</td><td><span class="since">1.1.0 (QEMU 2.0)</span></td></tr><tr><td>vpindex</td><td>Virtual processor index</td><td>on, off</td><td><span class="since">1.3.3 (QEMU 2.5)</span></td></tr><tr><td>runtime</td><td>Processor time spent on running guest code and on behalf of guest code</td><td>on, off</td><td><span class="since">1.3.3 (QEMU 2.5)</span></td></tr><tr><td>synic</td><td>Enable Synthetic Interrupt Controller (SyNIC)</td><td>on, off</td><td><span class="since">1.3.3 (QEMU 2.6)</span></td></tr><tr><td>stimer</td><td>Enable SyNIC timers</td><td>on, off</td><td><span class="since">1.3.3 (QEMU 2.6)</span></td></tr><tr><td>reset</td><td>Enable hypervisor reset</td><td>on, off</td><td><span class="since">1.3.3 (QEMU 2.5)</span></td></tr><tr><td>vendor_id</td><td>Set hypervisor vendor id</td><td>on, off; value - string, up to 12 characters</td><td><span class="since">1.3.3 (QEMU 2.5)</span></td></tr><tr><td>frequencies</td><td>Expose frequency MSRs</td><td>on, off</td><td><span class="since">4.7.0 (QEMU 2.12)</span></td></tr><tr><td>reenlightenment</td><td>Enable re-enlightenment notification on migration</td><td>on, off</td><td><span class="since">4.7.0 (QEMU 3.0)</span></td></tr><tr><td>tlbflush</td><td>Enable PV TLB flush support</td><td>on, off</td><td><span class="since">4.7.0 (QEMU 3.0)</span></td></tr><tr><td>ipi</td><td>Enable PV IPI support</td><td>on, off</td><td><span class="since">4.10.0 (QEMU 3.1)</span></td></tr><tr><td>evmcs</td><td>Enable Enlightened VMCS</td><td>on, off</td><td><span class="since">4.10.0 (QEMU 3.1)</span></td></tr></table>
</dd>
<dt>
<code>pvspinlock</code>
@@ -2517,6 +2545,20 @@
are <code>on</code> and <code>off</code>. If the attribute is not
defined, the hypervisor default will be used.
<span class="since">Since 4.6.0</span> (QEMU/KVM only)
</dd>
<dt>
<code>nested-hv</code>
</dt>
<dd>Configure nested HV availability for pSeries guests. This needs to
be enabled from the host (L0) in order to be effective; having HV
support in the (L1) guest is very desiderable if it's planned to
run nested (L2) guests inside it, because it will result in those
nested guests having much better performance than they would when
using KVM PR or TCG.
Possible values for the <code>state</code> attribute are
<code>on</code> and <code>off</code>. If the attribute is not
defined, the hypervisor default will be used.
<span class="since">Since 4.10.0</span> (QEMU/KVM only)
</dd>
</dl>
<h3>
@@ -3006,7 +3048,9 @@
...</pre>
<dl>
<dt>
<code>emulator</code>
<a id="elementEmulator">
<code>emulator</code>
</a>
</dt>
<dd>
The contents of the <code>emulator</code> element specify
@@ -3178,7 +3222,6 @@
&lt;/source&gt;
&lt;target dev='sdb' bus='scsi'/&gt;
&lt;/disk&gt;
&lt;/disk&gt;
&lt;disk type='network' device='lun'&gt;
&lt;driver name='qemu' type='raw'/&gt;
&lt;source protocol='iscsi' name='iqn.2013-07.com.example:iscsi-nopool/0'&gt;
@@ -4149,7 +4192,15 @@
(<span class="since">since 0.9.7, requires QEMU
0.13</span>). <code>multifunction</code> defaults to 'off',
but should be set to 'on' for function 0 of a slot that will
have multiple functions used.<br/>
have multiple functions used.
(<span class="since">Since 4.10.0</span>), PCI address extensions
depending on the architecture are supported. For example, PCI
addresses for S390 guests will have a <code>zpci</code> child
element, with two attributes: <code>uid</code> (a hex value
between 0x0001 and 0xffff, inclusive), and <code>fid</code> (a
hex value between 0x00000000 and 0xffffffff, inclusive) used by
PCI devices on S390 for User-defined Identifiers and Function
Identifiers.<br/>
<span class="since">Since 1.3.5</span>, some hypervisor
drivers may accept an <code>&lt;address type='pci'/&gt;</code>
element with no other attributes as an explicit request to
@@ -4861,8 +4912,9 @@
</dd><dt><code>mdev</code></dt><dd>For mediated devices (<span class="since">Since 3.2.0</span>)
the <code>model</code> attribute specifies the device API which
determines how the host's vfio driver will expose the device to the
guest. Currently, <code>model='vfio-pci'</code> and
guest. Currently, <code>model='vfio-pci'</code>,
<code>model='vfio-ccw'</code> (<span class="since">Since 4.4.0</span>)
and <code>model='vfio-ap'</code> (<span class="since">Since 4.9.0</span>)
is supported. <a href="drvnodedev.html#MDEV">MDEV</a> section
provides more information about mediated devices as well as how to
create mediated devices on the host.
@@ -5404,7 +5456,6 @@
&lt;virtualport&gt;
&lt;parameters instanceid='09b11c53-8b5c-4eeb-8f00-d84eaa0aaa4f'/&gt;
&lt;/virtualport&gt;

&lt;/interface&gt;
&lt;/devices&gt;
...</pre>
@@ -5905,8 +5956,7 @@ qemu-kvm -net nic,model=? /dev/null
&lt;host csum='off' gso='off' tso4='off' tso6='off' ecn='off' ufo='off' mrg_rxbuf='off'/&gt;
&lt;guest csum='off' tso4='off' tso6='off' ecn='off' ufo='off'/&gt;
&lt;/driver&gt;
</b>
&lt;/interface&gt;
</b>&lt;/interface&gt;
&lt;/devices&gt;
...</pre>
<p>
@@ -6429,7 +6479,7 @@ qemu-kvm -net nic,model=? /dev/null
<b>&lt;route family='ipv4' address='192.168.122.0' prefix='24' gateway='192.168.122.1'/&gt;</b>
<b>&lt;route family='ipv4' address='192.168.122.8' gateway='192.168.122.1'/&gt;</b>
&lt;/hostdev&gt;
...
&lt;/devices&gt;
...
</pre>


+ 92
- 29
docs/formatdomain.html.in View File

@@ -19,7 +19,8 @@
<p>
The root element required for all virtual machines is
named <code>domain</code>. It has two attributes, the
<code>type</code> specifies the hypervisor used for running
<a id="attributeDomainType"><code>type</code></a>
specifies the hypervisor used for running
the domain. The allowed values are driver specific, but
include "xen", "kvm", "qemu", "lxc" and "kqemu". The
second attribute is <code>id</code> which is a unique
@@ -148,11 +149,11 @@
(badly named!) refers to an OS that supports the Xen 3 hypervisor
guest ABI. There are also two optional attributes, <code>arch</code>
specifying the CPU architecture to virtualization,
and <code>machine</code> referring to the machine
type. The <a href="formatcaps.html">Capabilities XML</a>
and <a id="attributeOSTypeMachine"><code>machine</code></a> referring
to the machine type. The <a href="formatcaps.html">Capabilities XML</a>
provides details on allowed values for
these. <span class="since">Since 0.0.1</span></dd>
<dt><code>loader</code></dt>
<dt><a id="elementLoader"><code>loader</code></a></dt>
<dd>The optional <code>loader</code> tag refers to a firmware blob,
which is specified by absolute path,
used to assist the domain creation process. It is used by Xen
@@ -758,6 +759,12 @@
&lt;cachetune vcpus='0-3'&gt;
&lt;cache id='0' level='3' type='both' size='3' unit='MiB'/&gt;
&lt;cache id='1' level='3' type='both' size='3' unit='MiB'/&gt;
&lt;monitor level='3' vcpus='1'/&gt;
&lt;monitor level='3' vcpus='0-3'/&gt;
&lt;/cachetune&gt;
&lt;cachetune vcpus='4-5'&gt;
&lt;monitor level='3' vcpus='4'/&gt;
&lt;monitor level='3' vcpus='5'/&gt;
&lt;/cachetune&gt;
&lt;memorytune vcpus='0-3'&gt;
&lt;node id='0' bandwidth='60'/&gt;
@@ -942,8 +949,8 @@
<dl>
<dt><code>cache</code></dt>
<dd>
This element controls the allocation of CPU cache and has the
following attributes:
This optional element controls the allocation of CPU cache and has
the following attributes:
<dl>
<dt><code>level</code></dt>
<dd>
@@ -977,6 +984,26 @@
</dd>
</dl>
</dd>
<dt><code>monitor</code><span class="since">Since 4.10.0</span></dt>
<dd>
The optional element <code>monitor</code> creates the cache
monitor(s) for current cache allocation and has the following
required attributes:
<dl>
<dt><code>level</code></dt>
<dd>
Host cache level the monitor belongs to.
</dd>
<dt><code>vcpus</code></dt>
<dd>
vCPU list the monitor applies to. A monitor's vCPU list
can only be the member(s) of the vCPU list of the associated
allocation. The default monitor has the same vCPU list as the
associated allocation. For non-default monitors, overlapping
vCPUs are not permitted.
</dd>
</dl>
</dd>
</dl>
</dd>

@@ -1099,7 +1126,7 @@
&lt;/hugepages&gt;
&lt;nosharepages/&gt;
&lt;locked/&gt;
&lt;source type="file|anonymous"/&gt;
&lt;source type="file|anonymous|memfd"/&gt;
&lt;access mode="shared|private"/&gt;
&lt;allocation mode="immediate|ondemand"/&gt;
&lt;discard/&gt;
@@ -1150,13 +1177,17 @@
suitable for the specific environment at the same time to mitigate
the risks described above. <span class="since">Since 1.0.6</span></dd>
<dt><code>source</code></dt>
<dd>In this attribute you can switch to file memorybacking or keep
default anonymous.</dd>
<dd>Using the <code>type</code> attribute, it's possible to
provide "file" to utilize file memorybacking or keep the
default "anonymous". <span class="since">Since 4.10.0</span>,
you may choose "memfd" backing. (QEMU/KVM only)</dd>
<dt><code>access</code></dt>
<dd>Specify if memory is shared or private. This can be overridden per
numa node by <code>memAccess</code></dd>
<dd>Using the <code>mode</code> attribute, specify if the memory is
to be "shared" or "private". This can be overridden per numa node by
<code>memAccess</code>.</dd>
<dt><code>allocation</code></dt>
<dd>Specify when allocate the memory</dd>
<dd>Using the <code>mode</code> attribute, specify when to allocate
the memory by supplying either "immediate" or "ondemand".</dd>
<dt><code>discard</code></dt>
<dd>When set and supported by hypervisor the memory
content is discarded just before guest shuts down (or
@@ -1977,6 +2008,8 @@
&lt;frequencies state='on'/&gt;
&lt;reenlightenment state='on'/&gt;
&lt;tlbflush state='on'/&gt;
&lt;ipi state='on'/&gt;
&lt;evmcs state='on'/&gt;
&lt;/hyperv&gt;
&lt;kvm&gt;
&lt;hidden state='on'/&gt;
@@ -2048,7 +2081,7 @@
<tr>
<td>relaxed</td>
<td>Relax constraints on timers</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">1.0.0 (QEMU 2.0)</span></td>
</tr>
<tr>
@@ -2066,31 +2099,31 @@
<tr>
<td>vpindex</td>
<td>Virtual processor index</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">1.3.3 (QEMU 2.5)</span></td>
</tr>
<tr>
<td>runtime</td>
<td>Processor time spent on running guest code and on behalf of guest code</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">1.3.3 (QEMU 2.5)</span></td>
</tr>
<tr>
<td>synic</td>
<td>Enable Synthetic Interrupt Controller (SyNIC)</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">1.3.3 (QEMU 2.6)</span></td>
</tr>
<tr>
<td>stimer</td>
<td>Enable SyNIC timers</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">1.3.3 (QEMU 2.6)</span></td>
</tr>
<tr>
<td>reset</td>
<td>Enable hypervisor reset</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">1.3.3 (QEMU 2.5)</span></td>
</tr>
<tr>
@@ -2102,21 +2135,33 @@
<tr>
<td>frequencies</td>
<td>Expose frequency MSRs</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">4.7.0 (QEMU 2.12)</span></td>
</tr>
<tr>
<td>reenlightenment</td>
<td>Enable re-enlightenment notification on migration</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">4.7.0 (QEMU 3.0)</span></td>
</tr>
<tr>
<td>tlbflush</td>
<td>Enable PV TLB flush support</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">4.7.0 (QEMU 3.0)</span></td>
</tr>
<tr>
<td>ipi</td>
<td>Enable PV IPI support</td>
<td>on, off</td>
<td><span class="since">4.10.0 (QEMU 3.1)</span></td>
</tr>
<tr>
<td>evmcs</td>
<td>Enable Enlightened VMCS</td>
<td>on, off</td>
<td><span class="since">4.10.0 (QEMU 3.1)</span></td>
</tr>
</table>
</dd>
<dt><code>pvspinlock</code></dt>
@@ -2250,6 +2295,18 @@
defined, the hypervisor default will be used.
<span class="since">Since 4.6.0</span> (QEMU/KVM only)
</dd>
<dt><code>nested-hv</code></dt>
<dd>Configure nested HV availability for pSeries guests. This needs to
be enabled from the host (L0) in order to be effective; having HV
support in the (L1) guest is very desiderable if it's planned to
run nested (L2) guests inside it, because it will result in those
nested guests having much better performance than they would when
using KVM PR or TCG.
Possible values for the <code>state</code> attribute are
<code>on</code> and <code>off</code>. If the attribute is not
defined, the hypervisor default will be used.
<span class="since">Since 4.10.0</span> (QEMU/KVM only)
</dd>
</dl>

<h3><a id="elementsTime">Time keeping</a></h3>
@@ -2618,7 +2675,7 @@
...</pre>

<dl>
<dt><code>emulator</code></dt>
<dt><a id="elementEmulator"><code>emulator</code></a></dt>
<dd>
The contents of the <code>emulator</code> element specify
the fully qualified path to the device model emulator binary.
@@ -2791,7 +2848,6 @@
&lt;/source&gt;
&lt;target dev='sdb' bus='scsi'/&gt;
&lt;/disk&gt;
&lt;/disk&gt;
&lt;disk type='network' device='lun'&gt;
&lt;driver name='qemu' type='raw'/&gt;
&lt;source protocol='iscsi' name='iqn.2013-07.com.example:iscsi-nopool/0'&gt;
@@ -3921,7 +3977,15 @@
(<span class="since">since 0.9.7, requires QEMU
0.13</span>). <code>multifunction</code> defaults to 'off',
but should be set to 'on' for function 0 of a slot that will
have multiple functions used.<br/>
have multiple functions used.
(<span class="since">Since 4.10.0</span>), PCI address extensions
depending on the architecture are supported. For example, PCI
addresses for S390 guests will have a <code>zpci</code> child
element, with two attributes: <code>uid</code> (a hex value
between 0x0001 and 0xffff, inclusive), and <code>fid</code> (a
hex value between 0x00000000 and 0xffffffff, inclusive) used by
PCI devices on S390 for User-defined Identifiers and Function
Identifiers.<br/>
<span class="since">Since 1.3.5</span>, some hypervisor
drivers may accept an <code>&lt;address type='pci'/&gt;</code>
element with no other attributes as an explicit request to
@@ -4612,8 +4676,9 @@
<dd>For mediated devices (<span class="since">Since 3.2.0</span>)
the <code>model</code> attribute specifies the device API which
determines how the host's vfio driver will expose the device to the
guest. Currently, <code>model='vfio-pci'</code> and
guest. Currently, <code>model='vfio-pci'</code>,
<code>model='vfio-ccw'</code> (<span class="since">Since 4.4.0</span>)
and <code>model='vfio-ap'</code> (<span class="since">Since 4.9.0</span>)
is supported. <a href="drvnodedev.html#MDEV">MDEV</a> section
provides more information about mediated devices as well as how to
create mediated devices on the host.
@@ -5163,7 +5228,6 @@
&lt;virtualport&gt;
&lt;parameters instanceid='09b11c53-8b5c-4eeb-8f00-d84eaa0aaa4f'/&gt;
&lt;/virtualport&gt;

&lt;/interface&gt;
&lt;/devices&gt;
...</pre>
@@ -5656,8 +5720,7 @@ qemu-kvm -net nic,model=? /dev/null
&lt;host csum='off' gso='off' tso4='off' tso6='off' ecn='off' ufo='off' mrg_rxbuf='off'/&gt;
&lt;guest csum='off' tso4='off' tso6='off' ecn='off' ufo='off'/&gt;
&lt;/driver&gt;
</b>
&lt;/interface&gt;
</b>&lt;/interface&gt;
&lt;/devices&gt;
...</pre>

@@ -6159,7 +6222,7 @@ qemu-kvm -net nic,model=? /dev/null
<b>&lt;route family='ipv4' address='192.168.122.0' prefix='24' gateway='192.168.122.1'/&gt;</b>
<b>&lt;route family='ipv4' address='192.168.122.8' gateway='192.168.122.1'/&gt;</b>
&lt;/hostdev&gt;
...
&lt;/devices&gt;
...
</pre>


+ 1
- 1
docs/html/index.html View File

@@ -6,7 +6,7 @@
Do not edit this file. Changes will be lost.
-->
<!--
This page was generated at Tue Aug 28 09:04:27 UTC 2018.
This page was generated at Tue Nov 27 18:28:28 UTC 2018.
-->
<head>
<meta charset="UTF-8"/>


+ 1
- 1
docs/html/libvirt-libvirt-common.html View File

@@ -6,7 +6,7 @@
Do not edit this file. Changes will be lost.
-->
<!--
This page was generated at Tue Aug 28 09:04:27 UTC 2018.
This page was generated at Tue Nov 27 18:28:28 UTC 2018.
-->
<head>
<meta charset="UTF-8"/>


+ 1
- 1
docs/html/libvirt-libvirt-domain-snapshot.html View File

@@ -6,7 +6,7 @@
Do not edit this file. Changes will be lost.
-->
<!--
This page was generated at Tue Aug 28 09:04:27 UTC 2018.
This page was generated at Tue Nov 27 18:28:28 UTC 2018.
-->
<head>
<meta charset="UTF-8"/>


+ 119
- 4
docs/html/libvirt-libvirt-domain.html View File

@@ -6,7 +6,7 @@
Do not edit this file. Changes will be lost.
-->
<!--
This page was generated at Tue Aug 28 09:04:27 UTC 2018.
This page was generated at Tue Nov 27 18:28:28 UTC 2018.
-->
<head>
<meta charset="UTF-8"/>
@@ -117,6 +117,9 @@
<span class="directive">#define</span> <a href="#VIR_DOMAIN_CPU_STATS_USERTIME">VIR_DOMAIN_CPU_STATS_USERTIME</a>
<span class="directive">#define</span> <a href="#VIR_DOMAIN_CPU_STATS_VCPUTIME">VIR_DOMAIN_CPU_STATS_VCPUTIME</a>
<span class="directive">#define</span> <a href="#VIR_DOMAIN_EVENT_CALLBACK">VIR_DOMAIN_EVENT_CALLBACK</a>
<span class="directive">#define</span> <a href="#VIR_DOMAIN_IOTHREAD_POLL_GROW">VIR_DOMAIN_IOTHREAD_POLL_GROW</a>
<span class="directive">#define</span> <a href="#VIR_DOMAIN_IOTHREAD_POLL_MAX_NS">VIR_DOMAIN_IOTHREAD_POLL_MAX_NS</a>
<span class="directive">#define</span> <a href="#VIR_DOMAIN_IOTHREAD_POLL_SHRINK">VIR_DOMAIN_IOTHREAD_POLL_SHRINK</a>
<span class="directive">#define</span> <a href="#VIR_DOMAIN_JOB_AUTO_CONVERGE_THROTTLE">VIR_DOMAIN_JOB_AUTO_CONVERGE_THROTTLE</a>
<span class="directive">#define</span> <a href="#VIR_DOMAIN_JOB_COMPRESSION_BYTES">VIR_DOMAIN_JOB_COMPRESSION_BYTES</a>
<span class="directive">#define</span> <a href="#VIR_DOMAIN_JOB_COMPRESSION_CACHE">VIR_DOMAIN_JOB_COMPRESSION_CACHE</a>
@@ -604,6 +607,7 @@
<span class="type">int</span> <a href="#virDomainSetBlockIoTune">virDomainSetBlockIoTune</a> (<span class="type"><a href="libvirt-libvirt-domain.html#virDomainPtr">virDomainPtr</a></span> dom, <br/> <span class="type">const char *</span> disk, <br/> <span class="type"><a href="libvirt-libvirt-common.html#virTypedParameterPtr">virTypedParameterPtr</a></span> params, <br/> <span class="type">int</span> nparams, <br/> <span class="type">unsigned int</span> flags)
<span class="type">int</span> <a href="#virDomainSetBlockThreshold">virDomainSetBlockThreshold</a> (<span class="type"><a href="libvirt-libvirt-domain.html#virDomainPtr">virDomainPtr</a></span> domain, <br/> <span class="type">const char *</span> dev, <br/> <span class="type">unsigned long long</span> threshold, <br/> <span class="type">unsigned int</span> flags)
<span class="type">int</span> <a href="#virDomainSetGuestVcpus">virDomainSetGuestVcpus</a> (<span class="type"><a href="libvirt-libvirt-domain.html#virDomainPtr">virDomainPtr</a></span> domain, <br/> <span class="type">const char *</span> cpumap, <br/> <span class="type">int</span> state, <br/> <span class="type">unsigned int</span> flags)
<span class="type">int</span> <a href="#virDomainSetIOThreadParams">virDomainSetIOThreadParams</a> (<span class="type"><a href="libvirt-libvirt-domain.html#virDomainPtr">virDomainPtr</a></span> domain, <br/> <span class="type">unsigned int</span> iothread_id, <br/> <span class="type"><a href="libvirt-libvirt-common.html#virTypedParameterPtr">virTypedParameterPtr</a></span> params, <br/> <span class="type">int</span> nparams, <br/> <span class="type">unsigned int</span> flags)
<span class="type">int</span> <a href="#virDomainSetInterfaceParameters">virDomainSetInterfaceParameters</a> (<span class="type"><a href="libvirt-libvirt-domain.html#virDomainPtr">virDomainPtr</a></span> domain, <br/> <span class="type">const char *</span> device, <br/> <span class="type"><a href="libvirt-libvirt-common.html#virTypedParameterPtr">virTypedParameterPtr</a></span> params, <br/> <span class="type">int</span> nparams, <br/> <span class="type">unsigned int</span> flags)
<span class="type">int</span> <a href="#virDomainSetLifecycleAction">virDomainSetLifecycleAction</a> (<span class="type"><a href="libvirt-libvirt-domain.html#virDomainPtr">virDomainPtr</a></span> domain, <br/> <span class="type">unsigned int</span> type, <br/> <span class="type">unsigned int</span> action, <br/> <span class="type">unsigned int</span> flags)
<span class="type">int</span> <a href="#virDomainSetMaxMemory">virDomainSetMaxMemory</a> (<span class="type"><a href="libvirt-libvirt-domain.html#virDomainPtr">virDomainPtr</a></span> domain, <br/> <span class="type">unsigned long</span> memory)
@@ -1137,6 +1141,33 @@
<div class="description">
<p>Used to cast the event specific callback into the generic one for use for <a href="libvirt-libvirt-domain.html#virConnectDomainEventRegisterAny">virConnectDomainEventRegisterAny</a>()</p>
</div>
<h3>
<a name="VIR_DOMAIN_IOTHREAD_POLL_GROW">
<code>VIR_DOMAIN_IOTHREAD_POLL_GROW</code>
</a>
</h3>
<pre class="api"><span class="directive">#define</span> VIR_DOMAIN_IOTHREAD_POLL_GROW</pre>
<div class="description">
<p>This provides a value for the dynamic polling adjustment algorithm to use to grow its polling interval up to the poll_max_ns value. A value of 0 (zero) allows the hypervisor to choose its own value. The algorithm to use for adjustment is hypervisor specific.</p>
</div>
<h3>
<a name="VIR_DOMAIN_IOTHREAD_POLL_MAX_NS">
<code>VIR_DOMAIN_IOTHREAD_POLL_MAX_NS</code>
</a>
</h3>
<pre class="api"><span class="directive">#define</span> VIR_DOMAIN_IOTHREAD_POLL_MAX_NS</pre>
<div class="description">
<p>The maximum polling time that can be used by polling algorithm in ns. The polling time starts at 0 (zero) and is the time spent by the guest to process IOThread data before returning the CPU to the host. The polling time will be dynamically modified over time based on the poll_grow and poll_shrink parameters provided. A value set too large will cause more CPU time to be allocated the guest. A value set too small will not provide enough cycles for the guest to process data. The polling interval is not available for statistical purposes.</p>
</div>
<h3>
<a name="VIR_DOMAIN_IOTHREAD_POLL_SHRINK">
<code>VIR_DOMAIN_IOTHREAD_POLL_SHRINK</code>
</a>
</h3>
<pre class="api"><span class="directive">#define</span> VIR_DOMAIN_IOTHREAD_POLL_SHRINK</pre>
<div class="description">
<p>This provides a value for the dynamic polling adjustment algorithm to use to shrink its polling interval when the polling interval exceeds the poll_max_ns value. A value of 0 (zero) allows the hypervisor to choose its own value. The algorithm to use for adjustment is hypervisor specific.</p>
</div>
<h3>
<a name="VIR_DOMAIN_JOB_AUTO_CONVERGE_TH