2009-04-02 13:19:11 +00:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
2007-01-09 16:29:18 +00:00
|
|
|
<!-- We handle only document defining a domain -->
|
|
|
|
<start>
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="domain"/>
|
2007-01-09 16:29:18 +00:00
|
|
|
</start>
|
2009-07-21 05:23:03 +00:00
|
|
|
|
|
|
|
<include href='storageencryption.rng'/>
|
2009-09-30 14:07:24 +00:00
|
|
|
|
|
|
|
<!--
|
|
|
|
description element, maybe placed anywhere under the root
|
|
|
|
-->
|
|
|
|
<define name="description">
|
|
|
|
<element name="description">
|
|
|
|
<text/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2008-02-05 19:27:37 +00:00
|
|
|
<!--
|
2007-01-09 16:29:18 +00:00
|
|
|
We handle only document defining a domain
|
2007-01-10 15:20:46 +00:00
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="domain">
|
2007-01-10 15:20:46 +00:00
|
|
|
<element name="domain">
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="hvs"/>
|
|
|
|
<ref name="ids"/>
|
2007-01-09 16:29:18 +00:00
|
|
|
<interleave>
|
2009-09-30 14:07:24 +00:00
|
|
|
<optional>
|
|
|
|
<ref name="description"/>
|
|
|
|
</optional>
|
2009-12-18 13:37:09 +00:00
|
|
|
<optional>
|
|
|
|
<ref name="cpu"/>
|
|
|
|
</optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="os"/>
|
|
|
|
<ref name="clock"/>
|
|
|
|
<ref name="resources"/>
|
|
|
|
<ref name="features"/>
|
|
|
|
<ref name="termination"/>
|
|
|
|
<optional>
|
|
|
|
<ref name="devices"/>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<ref name="seclabel"/>
|
|
|
|
</optional>
|
2007-01-09 16:29:18 +00:00
|
|
|
</interleave>
|
2008-07-08 12:05:13 +00:00
|
|
|
</element>
|
2007-01-10 15:20:46 +00:00
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="seclabel">
|
|
|
|
<element name="seclabel">
|
|
|
|
<attribute name="model">
|
|
|
|
<text/>
|
2009-03-03 09:44:41 +00:00
|
|
|
</attribute>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="type">
|
2009-03-19 14:26:51 +00:00
|
|
|
<choice>
|
|
|
|
<value>dynamic</value>
|
|
|
|
<value>static</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="label">
|
|
|
|
<text/>
|
2009-03-03 09:44:41 +00:00
|
|
|
</element>
|
|
|
|
</element>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="hvs">
|
|
|
|
<attribute name="type">
|
2008-07-08 12:05:13 +00:00
|
|
|
<choice>
|
2009-04-02 13:19:11 +00:00
|
|
|
<value>xen</value>
|
|
|
|
<value>kvm</value>
|
|
|
|
<value>kqemu</value>
|
|
|
|
<value>qemu</value>
|
|
|
|
<value>lxc</value>
|
|
|
|
<value>openvz</value>
|
|
|
|
<value>test</value>
|
2008-07-08 12:05:13 +00:00
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="os">
|
2008-07-08 12:05:13 +00:00
|
|
|
<choice>
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="osxen"/>
|
|
|
|
<ref name="oshvm"/>
|
|
|
|
<ref name="osexe"/>
|
2008-07-08 12:05:13 +00:00
|
|
|
</choice>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="osxen">
|
2008-07-08 12:05:13 +00:00
|
|
|
<choice>
|
|
|
|
<group>
|
2009-04-02 13:19:11 +00:00
|
|
|
<optional>
|
|
|
|
<ref name="bootloader"/>
|
|
|
|
</optional>
|
|
|
|
<element name="os">
|
|
|
|
<ref name="ostypexen"/>
|
|
|
|
<ref name="osbootkernel"/>
|
|
|
|
</element>
|
2008-07-08 12:05:13 +00:00
|
|
|
</group>
|
|
|
|
<group>
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="bootloader"/>
|
|
|
|
<optional>
|
|
|
|
<element name="os">
|
|
|
|
<ref name="ostypexen"/>
|
|
|
|
<optional>
|
|
|
|
<ref name="osbootkernel"/>
|
|
|
|
</optional>
|
|
|
|
</element>
|
|
|
|
</optional>
|
2008-07-08 12:05:13 +00:00
|
|
|
</group>
|
|
|
|
</choice>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="oshvm">
|
|
|
|
<element name="os">
|
|
|
|
<ref name="ostypehvm"/>
|
2007-01-10 15:20:46 +00:00
|
|
|
<interleave>
|
2009-04-02 13:19:11 +00:00
|
|
|
<optional>
|
|
|
|
<element name="loader">
|
|
|
|
<ref name="absFilePath"/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
<choice>
|
|
|
|
<ref name="osbootkernel"/>
|
|
|
|
<ref name="osbootdev"/>
|
|
|
|
</choice>
|
2007-01-10 15:20:46 +00:00
|
|
|
</interleave>
|
2008-07-08 12:05:13 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="ostypexen">
|
|
|
|
<element name="type">
|
2008-07-08 12:05:13 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="arch">
|
|
|
|
<choice>
|
|
|
|
<value>i686</value>
|
|
|
|
<value>x86_64</value>
|
|
|
|
<value>ia64</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
2008-07-08 12:05:13 +00:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="machine">
|
|
|
|
<choice>
|
|
|
|
<value>xenpv</value>
|
|
|
|
<value>xenner</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
2008-07-08 12:05:13 +00:00
|
|
|
</optional>
|
|
|
|
<choice>
|
2009-04-02 13:19:11 +00:00
|
|
|
<value>xen</value>
|
|
|
|
<value>linux</value>
|
2008-07-08 12:05:13 +00:00
|
|
|
</choice>
|
|
|
|
</element>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="ostypehvm">
|
|
|
|
<element name="type">
|
2008-07-08 12:05:13 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<choice>
|
|
|
|
<ref name="hvmx86"/>
|
|
|
|
<ref name="hvmmips"/>
|
|
|
|
<ref name="hvmsparc"/>
|
|
|
|
<ref name="hvmppc"/>
|
|
|
|
</choice>
|
2008-07-08 12:05:13 +00:00
|
|
|
</optional>
|
|
|
|
<value>hvm</value>
|
|
|
|
</element>
|
2007-01-10 15:20:46 +00:00
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="hvmx86">
|
2007-01-10 15:20:46 +00:00
|
|
|
<group>
|
2009-10-12 09:47:01 +00:00
|
|
|
<optional>
|
|
|
|
<attribute name="arch">
|
|
|
|
<choice>
|
|
|
|
<value>i686</value>
|
|
|
|
<value>x86_64</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="machine">
|
2009-12-14 15:59:06 +00:00
|
|
|
<data type="string">
|
|
|
|
<param name="pattern">[a-zA-Z0-9_\.\-]+</param>
|
|
|
|
</data>
|
2009-10-12 09:47:01 +00:00
|
|
|
</attribute>
|
2009-12-14 15:59:06 +00:00
|
|
|
</optional>
|
2007-01-10 15:20:46 +00:00
|
|
|
</group>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="hvmmips">
|
2007-01-10 15:20:46 +00:00
|
|
|
<group>
|
2009-10-12 09:47:01 +00:00
|
|
|
<optional>
|
|
|
|
<attribute name="arch">
|
|
|
|
<value>mips</value>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="machine">
|
|
|
|
<value>mips</value>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2007-01-10 15:20:46 +00:00
|
|
|
</group>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="hvmsparc">
|
2007-01-10 15:20:46 +00:00
|
|
|
<group>
|
2009-10-12 09:47:01 +00:00
|
|
|
<optional>
|
|
|
|
<attribute name="arch">
|
|
|
|
<value>sparc</value>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="machine">
|
|
|
|
<value>sun4m</value>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2007-01-10 15:20:46 +00:00
|
|
|
</group>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="hvmppc">
|
2007-01-10 15:20:46 +00:00
|
|
|
<group>
|
2009-10-12 09:47:01 +00:00
|
|
|
<optional>
|
|
|
|
<attribute name="arch">
|
|
|
|
<value>ppc</value>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="machine">
|
|
|
|
<choice>
|
|
|
|
<value>g3beige</value>
|
|
|
|
<value>mac99</value>
|
|
|
|
<value>prep</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2007-01-10 15:20:46 +00:00
|
|
|
</group>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="osexe">
|
|
|
|
<element name="os">
|
|
|
|
<element name="type">
|
|
|
|
<value>exe</value>
|
2008-08-01 13:31:37 +00:00
|
|
|
</element>
|
|
|
|
<interleave>
|
2009-04-02 13:19:11 +00:00
|
|
|
<optional>
|
|
|
|
<element name="init">
|
|
|
|
<ref name="absFilePath"/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
2008-08-01 13:31:37 +00:00
|
|
|
</interleave>
|
|
|
|
</element>
|
|
|
|
</define>
|
2008-02-05 19:27:37 +00:00
|
|
|
<!--
|
2007-01-09 16:29:18 +00:00
|
|
|
The Identifiers can be:
|
|
|
|
- an optional id attribute with a number on the domain element
|
|
|
|
- a mandatory name
|
|
|
|
- an optional uuid
|
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="ids">
|
2007-01-09 16:29:18 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="id">
|
|
|
|
<ref name="unsignedInt"/>
|
2007-01-09 16:29:18 +00:00
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<interleave>
|
|
|
|
<element name="name">
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="domainName"/>
|
2007-01-09 16:29:18 +00:00
|
|
|
</element>
|
|
|
|
<optional>
|
|
|
|
<element name="uuid">
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="UUID"/>
|
2007-01-09 16:29:18 +00:00
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
|
|
|
</define>
|
|
|
|
<!--
|
|
|
|
Resources usage defines the amount of memory (maximum and possibly
|
|
|
|
current usage) and number of virtual CPUs used by that domain.
|
2007-01-10 10:08:06 +00:00
|
|
|
We can't check here the rule that currentMemory <= memory
|
2007-01-09 16:29:18 +00:00
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="resources">
|
2007-01-09 16:29:18 +00:00
|
|
|
<interleave>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="memory">
|
|
|
|
<ref name="memoryKB"/>
|
2007-01-09 16:29:18 +00:00
|
|
|
</element>
|
2007-01-10 10:08:06 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="currentMemory">
|
|
|
|
<ref name="memoryKB"/>
|
2007-01-10 10:08:06 +00:00
|
|
|
</element>
|
|
|
|
</optional>
|
Support configuration of huge pages in guests
Add option to domain XML for
<memoryBacking>
<hugepages/>
</memoryBacking>
* configure.in: Add check for mntent.h
* qemud/libvirtd_qemu.aug, qemud/test_libvirtd_qemu.aug, src/qemu.conf
Add 'hugetlbfs_mount' config parameter
* src/qemu_conf.c, src/qemu_conf.h: Check for -mem-path flag in QEMU,
and pass it when hugepages are requested.
Load hugetlbfs_mount config parameter, search for mount if not given.
* src/qemu_driver.c: Free hugetlbfs_mount/path parameter in driver shutdown.
Create directory for QEMU hugepage usage, chowning if required.
* docs/formatdomain.html.in: Document memoryBacking/hugepages elements
* docs/schemas/domain.rng: Add memoryBacking/hugepages elements to schema
* src/util.c, src/util.h, src/libvirt_private.syms: Add virFileFindMountPoint
helper API
* tests/qemuhelptest.c: Add -mem-path constants
* tests/qemuxml2argvtest.c, tests/qemuxml2xmltest.c: Add tests for hugepage
handling
* tests/qemuxml2argvdata/qemuxml2argv-hugepages.xml,
tests/qemuxml2argvdata/qemuxml2argv-hugepages.args: Data files for
hugepage tests
2009-08-25 14:05:18 +00:00
|
|
|
<optional>
|
2009-10-21 12:26:38 +00:00
|
|
|
<element name="memoryBacking">
|
|
|
|
<optional>
|
|
|
|
<element name="hugepages">
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</element>
|
Support configuration of huge pages in guests
Add option to domain XML for
<memoryBacking>
<hugepages/>
</memoryBacking>
* configure.in: Add check for mntent.h
* qemud/libvirtd_qemu.aug, qemud/test_libvirtd_qemu.aug, src/qemu.conf
Add 'hugetlbfs_mount' config parameter
* src/qemu_conf.c, src/qemu_conf.h: Check for -mem-path flag in QEMU,
and pass it when hugepages are requested.
Load hugetlbfs_mount config parameter, search for mount if not given.
* src/qemu_driver.c: Free hugetlbfs_mount/path parameter in driver shutdown.
Create directory for QEMU hugepage usage, chowning if required.
* docs/formatdomain.html.in: Document memoryBacking/hugepages elements
* docs/schemas/domain.rng: Add memoryBacking/hugepages elements to schema
* src/util.c, src/util.h, src/libvirt_private.syms: Add virFileFindMountPoint
helper API
* tests/qemuhelptest.c: Add -mem-path constants
* tests/qemuxml2argvtest.c, tests/qemuxml2xmltest.c: Add tests for hugepage
handling
* tests/qemuxml2argvdata/qemuxml2argv-hugepages.xml,
tests/qemuxml2argvdata/qemuxml2argv-hugepages.args: Data files for
hugepage tests
2009-08-25 14:05:18 +00:00
|
|
|
</optional>
|
2007-01-10 10:08:06 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="vcpu">
|
2008-07-08 12:05:13 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="cpuset"/>
|
2008-07-08 12:05:13 +00:00
|
|
|
</optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="countCPU"/>
|
2007-01-10 10:08:06 +00:00
|
|
|
</element>
|
|
|
|
</optional>
|
2007-01-09 16:29:18 +00:00
|
|
|
</interleave>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="clock">
|
2008-07-08 12:05:13 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="clock">
|
2010-02-02 17:49:09 +00:00
|
|
|
<choice>
|
|
|
|
<attribute name="offset">
|
2008-07-08 12:05:13 +00:00
|
|
|
<value>localtime</value>
|
2010-02-02 17:49:09 +00:00
|
|
|
</attribute>
|
|
|
|
<attribute name="offset">
|
2008-07-08 12:05:13 +00:00
|
|
|
<value>utc</value>
|
2010-02-02 17:49:09 +00:00
|
|
|
</attribute>
|
2010-02-02 18:28:44 +00:00
|
|
|
<group>
|
|
|
|
<attribute name="offset">
|
|
|
|
<value>timezone</value>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="timezone">
|
|
|
|
<ref name="timeZone"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
</group>
|
2010-02-02 17:49:09 +00:00
|
|
|
<group>
|
|
|
|
<attribute name="offset">
|
|
|
|
<value>variable</value>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="adjustment">
|
|
|
|
<ref name="timeDelta"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
</group>
|
|
|
|
</choice>
|
2008-07-08 12:05:13 +00:00
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</define>
|
2007-01-10 10:08:06 +00:00
|
|
|
<!--
|
|
|
|
A bootloader may be used to extract the OS information instead of
|
|
|
|
defining the OS parameter in the instance. It points just to the
|
|
|
|
binary or script used to extract the data from the first disk device.
|
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="bootloader">
|
2008-07-08 12:05:13 +00:00
|
|
|
<interleave>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="bootloader">
|
|
|
|
<choice>
|
|
|
|
<ref name="absFilePath"/>
|
|
|
|
<empty/>
|
|
|
|
</choice>
|
2008-07-08 12:05:13 +00:00
|
|
|
</element>
|
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="bootloader_args">
|
|
|
|
<text/>
|
|
|
|
</element>
|
2008-07-08 12:05:13 +00:00
|
|
|
</optional>
|
|
|
|
</interleave>
|
2007-01-09 16:29:18 +00:00
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="osbootkernel">
|
2007-01-09 16:29:18 +00:00
|
|
|
<interleave>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="kernel">
|
|
|
|
<ref name="absFilePath"/>
|
2007-01-09 16:29:18 +00:00
|
|
|
</element>
|
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="initrd">
|
|
|
|
<ref name="absFilePath"/>
|
|
|
|
</element>
|
2007-01-09 16:29:18 +00:00
|
|
|
</optional>
|
2007-01-10 10:08:06 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="root">
|
|
|
|
<ref name="devicePath"/>
|
2007-01-10 10:08:06 +00:00
|
|
|
</element>
|
|
|
|
</optional>
|
2007-01-09 16:29:18 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="cmdline">
|
|
|
|
<text/>
|
|
|
|
</element>
|
2007-01-09 16:29:18 +00:00
|
|
|
</optional>
|
|
|
|
</interleave>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="osbootdev">
|
|
|
|
<element name="boot">
|
|
|
|
<attribute name="dev">
|
2008-07-08 12:05:13 +00:00
|
|
|
<choice>
|
|
|
|
<value>hd</value>
|
|
|
|
<value>fd</value>
|
|
|
|
<value>cdrom</value>
|
|
|
|
<value>network</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
2007-01-09 16:29:18 +00:00
|
|
|
</element>
|
2008-07-08 12:05:13 +00:00
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="diskspec">
|
2008-07-08 12:05:13 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="driver"/>
|
2008-07-08 12:05:13 +00:00
|
|
|
</optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="target"/>
|
2008-07-08 12:05:13 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="readonly">
|
2008-07-08 12:05:13 +00:00
|
|
|
<empty/>
|
2007-01-09 16:29:18 +00:00
|
|
|
</element>
|
2008-07-08 12:05:13 +00:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="shareable">
|
2008-07-08 12:05:13 +00:00
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
2009-08-14 11:22:01 +00:00
|
|
|
<optional>
|
|
|
|
<element name="serial">
|
|
|
|
<ref name="diskSerial"/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
2009-07-21 05:23:03 +00:00
|
|
|
<optional>
|
|
|
|
<ref name="encryption"/>
|
|
|
|
</optional>
|
2009-11-30 18:35:58 +00:00
|
|
|
<optional>
|
|
|
|
<ref name="address"/>
|
|
|
|
</optional>
|
2007-01-09 16:29:18 +00:00
|
|
|
</define>
|
|
|
|
<!--
|
|
|
|
A disk description can be either of type file or block
|
|
|
|
The name of the attribute on the source element depends on the type
|
|
|
|
|
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="disk">
|
|
|
|
<element name="disk">
|
2007-01-10 10:08:06 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="device">
|
|
|
|
<choice>
|
|
|
|
<value>floppy</value>
|
|
|
|
<value>disk</value>
|
|
|
|
<value>cdrom</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
2007-01-10 10:08:06 +00:00
|
|
|
</optional>
|
2007-01-09 16:29:18 +00:00
|
|
|
<choice>
|
|
|
|
<group>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="type">
|
|
|
|
<value>file</value>
|
2008-07-08 12:05:13 +00:00
|
|
|
</attribute>
|
2009-04-02 13:19:11 +00:00
|
|
|
<interleave>
|
|
|
|
<optional>
|
|
|
|
<element name="source">
|
|
|
|
<attribute name="file">
|
|
|
|
<ref name="absFilePath"/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
<ref name="diskspec"/>
|
|
|
|
</interleave>
|
2007-01-09 16:29:18 +00:00
|
|
|
</group>
|
|
|
|
<group>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="type">
|
|
|
|
<value>block</value>
|
|
|
|
</attribute>
|
|
|
|
<interleave>
|
|
|
|
<optional>
|
|
|
|
<element name="source">
|
|
|
|
<attribute name="dev">
|
|
|
|
<ref name="deviceName"/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
<ref name="diskspec"/>
|
|
|
|
</interleave>
|
2007-01-09 16:29:18 +00:00
|
|
|
</group>
|
2009-11-16 18:08:29 +00:00
|
|
|
<group>
|
|
|
|
<attribute name="type">
|
|
|
|
<value>dir</value>
|
|
|
|
</attribute>
|
|
|
|
<interleave>
|
|
|
|
<optional>
|
|
|
|
<element name="source">
|
|
|
|
<attribute name="dir">
|
|
|
|
<ref name="absFilePath"/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
<ref name="diskspec"/>
|
|
|
|
</interleave>
|
|
|
|
</group>
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="diskspec"/>
|
2007-01-09 16:29:18 +00:00
|
|
|
</choice>
|
|
|
|
</element>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="target">
|
|
|
|
<element name="target">
|
|
|
|
<attribute name="dev">
|
|
|
|
<ref name="deviceName"/>
|
2007-01-09 16:29:18 +00:00
|
|
|
</attribute>
|
2008-07-08 12:05:13 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="bus">
|
|
|
|
<choice>
|
|
|
|
<value>ide</value>
|
|
|
|
<value>fdc</value>
|
|
|
|
<value>scsi</value>
|
|
|
|
<value>virtio</value>
|
|
|
|
<value>xen</value>
|
|
|
|
<value>usb</value>
|
|
|
|
<value>uml</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
2008-07-08 12:05:13 +00:00
|
|
|
</optional>
|
2007-01-10 10:08:06 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
<!--
|
2008-02-05 19:27:37 +00:00
|
|
|
Disk may use a special driver for access. Currently this is
|
2007-01-10 10:08:06 +00:00
|
|
|
only defined for Xen for tap/aio and file, but will certainly be
|
|
|
|
extended in the future, and libvirt doesn't look for specific values.
|
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="driver">
|
|
|
|
<element name="driver">
|
2009-01-30 17:15:39 +00:00
|
|
|
<choice>
|
2009-04-02 13:19:11 +00:00
|
|
|
<group>
|
|
|
|
<ref name="driverFormat"/>
|
|
|
|
<optional>
|
|
|
|
<ref name="driverCache"/>
|
|
|
|
</optional>
|
|
|
|
</group>
|
|
|
|
<group>
|
|
|
|
<optional>
|
|
|
|
<ref name="driverFormat"/>
|
|
|
|
</optional>
|
|
|
|
<ref name="driverCache"/>
|
|
|
|
</group>
|
2009-01-30 17:15:39 +00:00
|
|
|
</choice>
|
2008-07-08 12:05:13 +00:00
|
|
|
<empty/>
|
|
|
|
</element>
|
2007-01-09 16:29:18 +00:00
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="driverFormat">
|
|
|
|
<attribute name="name">
|
|
|
|
<ref name="genericName"/>
|
2009-01-30 17:15:39 +00:00
|
|
|
</attribute>
|
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="type">
|
|
|
|
<ref name="genericName"/>
|
2009-01-30 17:15:39 +00:00
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="driverCache">
|
|
|
|
<attribute name="cache">
|
2009-01-30 17:15:39 +00:00
|
|
|
<choice>
|
2009-04-02 13:19:11 +00:00
|
|
|
<value>none</value>
|
|
|
|
<value>writeback</value>
|
|
|
|
<value>writethrough</value>
|
2009-01-30 17:15:39 +00:00
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</define>
|
2009-12-02 19:15:38 +00:00
|
|
|
<define name="controller">
|
|
|
|
<element name="controller">
|
2010-02-18 16:52:03 +00:00
|
|
|
<choice>
|
|
|
|
<group>
|
|
|
|
<optional>
|
|
|
|
<attribute name="type">
|
|
|
|
<choice>
|
|
|
|
<value>fdc</value>
|
|
|
|
<value>ide</value>
|
|
|
|
<value>scsi</value>
|
|
|
|
<value>sata</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
</group>
|
|
|
|
<!-- virtio-serial can have 2 additional attributes -->
|
|
|
|
<group>
|
|
|
|
<attribute name="type">
|
|
|
|
<value>virtio-serial</value>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="ports">
|
|
|
|
<ref name="unsignedInt"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="vectors">
|
|
|
|
<ref name="unsignedInt"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
</group>
|
|
|
|
</choice>
|
2009-12-02 19:15:38 +00:00
|
|
|
<attribute name="index">
|
|
|
|
<ref name="unsignedInt"/>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
2010-02-17 16:16:42 +00:00
|
|
|
<ref name="address"/>
|
2009-12-02 19:15:38 +00:00
|
|
|
</optional>
|
|
|
|
</element>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="filesystem">
|
|
|
|
<element name="filesystem">
|
2008-08-01 13:31:37 +00:00
|
|
|
<choice>
|
|
|
|
<group>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="type">
|
|
|
|
<value>file</value>
|
2008-08-01 13:31:37 +00:00
|
|
|
</attribute>
|
2009-04-02 13:19:11 +00:00
|
|
|
<interleave>
|
|
|
|
<element name="source">
|
|
|
|
<attribute name="file">
|
|
|
|
<ref name="absFilePath"/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
<ref name="filesystemtgt"/>
|
|
|
|
</interleave>
|
2008-08-01 13:31:37 +00:00
|
|
|
</group>
|
|
|
|
<group>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="type">
|
|
|
|
<value>block</value>
|
|
|
|
</attribute>
|
|
|
|
<interleave>
|
|
|
|
<element name="source">
|
|
|
|
<attribute name="dev">
|
|
|
|
<ref name="deviceName"/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
<ref name="filesystemtgt"/>
|
|
|
|
</interleave>
|
2008-08-01 13:31:37 +00:00
|
|
|
</group>
|
|
|
|
<group>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="type">
|
|
|
|
<value>mount</value>
|
|
|
|
</attribute>
|
|
|
|
<interleave>
|
|
|
|
<element name="source">
|
|
|
|
<attribute name="dir">
|
|
|
|
<ref name="absFilePath"/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
<ref name="filesystemtgt"/>
|
|
|
|
</interleave>
|
2008-08-01 13:31:37 +00:00
|
|
|
</group>
|
|
|
|
<group>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="type">
|
|
|
|
<value>template</value>
|
|
|
|
</attribute>
|
|
|
|
<interleave>
|
|
|
|
<element name="source">
|
|
|
|
<attribute name="name">
|
|
|
|
<ref name="genericName"/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
<ref name="filesystemtgt"/>
|
|
|
|
</interleave>
|
2008-08-01 13:31:37 +00:00
|
|
|
</group>
|
|
|
|
</choice>
|
Add device info to serial, parallel, channel, input & fs devices
Although the serial, parallel, chanel, input & fs devices do
not have PCI address info, they can all have device aliases.
Thus it neccessary to associate the virDomainDeviceInfo data
with them all.
* src/conf/domain_conf.c, src/conf/domain_conf.h: Add hooks for
parsing / formatting device info for serial, parallel, channel
input and fs devices.
* docs/schemas/domain.rng: Associate device info with character
devices, input & fs device
2010-01-06 12:39:53 +00:00
|
|
|
<optional>
|
2010-02-17 16:16:42 +00:00
|
|
|
<ref name="address"/>
|
Add device info to serial, parallel, channel, input & fs devices
Although the serial, parallel, chanel, input & fs devices do
not have PCI address info, they can all have device aliases.
Thus it neccessary to associate the virDomainDeviceInfo data
with them all.
* src/conf/domain_conf.c, src/conf/domain_conf.h: Add hooks for
parsing / formatting device info for serial, parallel, channel
input and fs devices.
* docs/schemas/domain.rng: Associate device info with character
devices, input & fs device
2010-01-06 12:39:53 +00:00
|
|
|
</optional>
|
2008-08-01 13:31:37 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="filesystemtgt">
|
|
|
|
<element name="target">
|
|
|
|
<attribute name="dir">
|
|
|
|
<ref name="absDirPath"/>
|
2008-08-01 13:31:37 +00:00
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</define>
|
2007-01-09 16:29:18 +00:00
|
|
|
<!--
|
2007-01-10 10:08:06 +00:00
|
|
|
An interface description can either be of type bridge in which case
|
|
|
|
it will use a bridging source, or of type ethernet which uses a device
|
|
|
|
source and a device target instead. They both share a set of interface
|
2008-07-08 12:05:13 +00:00
|
|
|
options. FIXME
|
2007-01-09 16:29:18 +00:00
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="interface">
|
|
|
|
<element name="interface">
|
2007-01-10 10:08:06 +00:00
|
|
|
<choice>
|
|
|
|
<group>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="type">
|
2007-01-10 10:08:06 +00:00
|
|
|
<value>bridge</value>
|
|
|
|
</attribute>
|
2009-04-02 13:19:11 +00:00
|
|
|
<interleave>
|
2008-07-08 12:05:13 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="source">
|
|
|
|
<attribute name="bridge">
|
|
|
|
<ref name="deviceName"/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
2008-07-08 12:05:13 +00:00
|
|
|
</optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="interface-options"/>
|
|
|
|
</interleave>
|
|
|
|
</group>
|
2007-01-10 10:08:06 +00:00
|
|
|
<group>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="type">
|
2007-01-10 10:08:06 +00:00
|
|
|
<value>ethernet</value>
|
|
|
|
</attribute>
|
2009-04-02 13:19:11 +00:00
|
|
|
<interleave>
|
2008-07-08 12:05:13 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="source">
|
|
|
|
<attribute name="dev">
|
|
|
|
<ref name="deviceName"/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
2008-07-08 12:05:13 +00:00
|
|
|
</optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="interface-options"/>
|
|
|
|
</interleave>
|
|
|
|
</group>
|
2008-07-08 12:05:13 +00:00
|
|
|
<group>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="type">
|
2008-07-08 12:05:13 +00:00
|
|
|
<value>network</value>
|
|
|
|
</attribute>
|
2009-04-02 13:19:11 +00:00
|
|
|
<interleave>
|
|
|
|
<element name="source">
|
|
|
|
<attribute name="network">
|
|
|
|
<ref name="deviceName"/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
<ref name="interface-options"/>
|
|
|
|
</interleave>
|
|
|
|
</group>
|
2010-02-15 16:43:42 +00:00
|
|
|
<group>
|
|
|
|
<attribute name="type">
|
|
|
|
<value>direct</value>
|
|
|
|
</attribute>
|
|
|
|
<interleave>
|
|
|
|
<element name="source">
|
|
|
|
<attribute name="dev">
|
|
|
|
<ref name="deviceName"/>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="mode">
|
|
|
|
<ref name="bridgeMode"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
<ref name="interface-options"/>
|
|
|
|
</interleave>
|
|
|
|
</group>
|
2007-01-10 15:20:46 +00:00
|
|
|
<group>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="type">
|
2007-01-10 15:20:46 +00:00
|
|
|
<value>user</value>
|
|
|
|
</attribute>
|
2009-04-02 13:19:11 +00:00
|
|
|
<interleave>
|
|
|
|
<ref name="interface-options"/>
|
|
|
|
</interleave>
|
|
|
|
</group>
|
2009-05-11 09:50:27 +00:00
|
|
|
<group>
|
|
|
|
<attribute name="type">
|
|
|
|
<value>internal</value>
|
|
|
|
</attribute>
|
|
|
|
<interleave>
|
|
|
|
<element name="source">
|
|
|
|
<attribute name="name">
|
|
|
|
<ref name="deviceName"/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
<ref name="interface-options"/>
|
|
|
|
</interleave>
|
|
|
|
</group>
|
2007-01-10 10:08:06 +00:00
|
|
|
</choice>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
<!--
|
|
|
|
The interface options possible are:
|
|
|
|
- the MAC address
|
2009-04-02 13:19:11 +00:00
|
|
|
- the IP address bound to the interface
|
|
|
|
- the name of the script used to set up the binding
|
|
|
|
- the target device used
|
2007-01-10 10:08:06 +00:00
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="interface-options">
|
2008-07-08 12:05:13 +00:00
|
|
|
<interleave>
|
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="target">
|
|
|
|
<attribute name="dev">
|
|
|
|
<ref name="deviceName"/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
2008-07-08 12:05:13 +00:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="mac">
|
|
|
|
<attribute name="address">
|
|
|
|
<ref name="addrMAC"/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
2008-07-08 12:05:13 +00:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="ip">
|
|
|
|
<attribute name="address">
|
|
|
|
<ref name="addrIP"/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
2008-07-08 12:05:13 +00:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="script">
|
|
|
|
<attribute name="path">
|
|
|
|
<ref name="filePath"/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
2008-07-08 12:05:13 +00:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="model">
|
|
|
|
<attribute name="type"/>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
2008-07-08 12:05:13 +00:00
|
|
|
</optional>
|
2009-11-30 18:35:58 +00:00
|
|
|
<optional>
|
2010-02-17 16:16:42 +00:00
|
|
|
<ref name="address"/>
|
2009-11-30 18:35:58 +00:00
|
|
|
</optional>
|
2008-07-08 12:05:13 +00:00
|
|
|
</interleave>
|
2007-01-09 16:29:18 +00:00
|
|
|
</define>
|
|
|
|
<!--
|
2008-07-08 12:05:13 +00:00
|
|
|
An emulator description is just a path to the binary used for the task
|
2007-01-09 16:29:18 +00:00
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="emulator">
|
|
|
|
<element name="emulator">
|
|
|
|
<ref name="absFilePath"/>
|
2007-01-09 16:29:18 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
<!--
|
2007-01-10 10:08:06 +00:00
|
|
|
A graphic description, currently in Xen only 2 types are supported:
|
2008-12-11 11:44:30 +00:00
|
|
|
- sdl with optional display, xauth and fullscreen
|
2009-04-02 13:19:11 +00:00
|
|
|
- vnc with a required port and optional listen IP address, password
|
2008-07-08 12:05:13 +00:00
|
|
|
and keymap
|
2007-01-09 16:29:18 +00:00
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="graphic">
|
|
|
|
<element name="graphics">
|
2007-01-09 16:29:18 +00:00
|
|
|
<choice>
|
2009-04-02 13:19:11 +00:00
|
|
|
<group>
|
|
|
|
<attribute name="type">
|
|
|
|
<value>sdl</value>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="display">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2008-07-08 12:05:13 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="xauth">
|
2008-07-08 12:05:13 +00:00
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<optional>
|
|
|
|
<attribute name="fullscreen">
|
|
|
|
<choice>
|
|
|
|
<value>yes</value>
|
|
|
|
<value>no</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
</group>
|
|
|
|
<group>
|
|
|
|
<attribute name="type">
|
|
|
|
<value>vnc</value>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="port">
|
|
|
|
<ref name="PortNumber"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="autoport">
|
|
|
|
<choice>
|
|
|
|
<value>yes</value>
|
|
|
|
<value>no</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="listen">
|
|
|
|
<ref name="addrIP"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="passwd">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="keymap">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
</group>
|
2009-05-15 09:43:51 +00:00
|
|
|
<group>
|
|
|
|
<attribute name="type">
|
|
|
|
<value>rdp</value>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="port">
|
|
|
|
<ref name="PortNumber"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="autoport">
|
|
|
|
<choice>
|
|
|
|
<value>yes</value>
|
|
|
|
<value>no</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="replaceUser">
|
|
|
|
<choice>
|
|
|
|
<value>yes</value>
|
|
|
|
<value>no</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="multiUser">
|
|
|
|
<choice>
|
|
|
|
<value>yes</value>
|
|
|
|
<value>no</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="listen">
|
|
|
|
<ref name="addrIP"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
</group>
|
|
|
|
<group>
|
|
|
|
<attribute name="type">
|
|
|
|
<value>desktop</value>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="display">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="fullscreen">
|
|
|
|
<choice>
|
|
|
|
<value>yes</value>
|
|
|
|
<value>no</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
</group>
|
2007-01-09 16:29:18 +00:00
|
|
|
</choice>
|
|
|
|
</element>
|
|
|
|
</define>
|
2009-07-06 13:54:44 +00:00
|
|
|
<!--
|
|
|
|
A graphic description, currently in Xen only 2 types are supported:
|
|
|
|
- sdl with optional display, xauth and fullscreen
|
|
|
|
- vnc with a required port and optional listen IP address, password
|
|
|
|
and keymap
|
|
|
|
-->
|
|
|
|
<define name="video">
|
|
|
|
<element name="video">
|
|
|
|
<optional>
|
2009-10-21 12:26:38 +00:00
|
|
|
<element name="model">
|
2009-07-06 13:54:44 +00:00
|
|
|
<attribute name="type">
|
|
|
|
<choice>
|
|
|
|
<value>vga</value>
|
|
|
|
<value>cirrus</value>
|
|
|
|
<value>vmvga</value>
|
|
|
|
<value>xen</value>
|
|
|
|
<value>vbox</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="vram">
|
|
|
|
<ref name="unsignedInt"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="heads">
|
|
|
|
<ref name="unsignedInt"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2009-09-03 08:26:41 +00:00
|
|
|
<optional>
|
|
|
|
<element name="acceleration">
|
|
|
|
<optional>
|
|
|
|
<attribute name="accel3d">
|
|
|
|
<choice>
|
|
|
|
<value>yes</value>
|
|
|
|
<value>no</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="accel2d">
|
|
|
|
<choice>
|
|
|
|
<value>yes</value>
|
|
|
|
<value>no</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
</element>
|
|
|
|
</optional>
|
2009-10-21 12:26:38 +00:00
|
|
|
</element>
|
2009-07-06 13:54:44 +00:00
|
|
|
</optional>
|
2009-12-10 19:19:08 +00:00
|
|
|
<optional>
|
|
|
|
<ref name="address"/>
|
|
|
|
</optional>
|
2009-07-06 13:54:44 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
2007-01-09 16:29:18 +00:00
|
|
|
<!--
|
|
|
|
When a domain terminates multiple policies can be applied depending
|
|
|
|
on how it ended:
|
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="termination">
|
2007-01-09 16:29:18 +00:00
|
|
|
<interleave>
|
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="on_reboot">
|
|
|
|
<ref name="offOptions"/>
|
|
|
|
</element>
|
2007-01-09 16:29:18 +00:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="on_poweroff">
|
|
|
|
<ref name="offOptions"/>
|
|
|
|
</element>
|
2007-01-09 16:29:18 +00:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="on_crash">
|
|
|
|
<ref name="offOptions"/>
|
|
|
|
</element>
|
2007-01-09 16:29:18 +00:00
|
|
|
</optional>
|
|
|
|
</interleave>
|
|
|
|
</define>
|
|
|
|
<!--
|
|
|
|
Options when a domain terminates:
|
|
|
|
destroy: The domain is cleaned up
|
|
|
|
restart: A new domain is started in place of the old one
|
|
|
|
preserve: The domain will remain in memory until it is destroyed manually
|
|
|
|
rename-restart: a variant of the previous one but where the old domain is
|
|
|
|
renamed before being saved to allow a restart
|
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="offOptions">
|
2007-01-09 16:29:18 +00:00
|
|
|
<choice>
|
|
|
|
<value>destroy</value>
|
|
|
|
<value>restart</value>
|
|
|
|
<value>preserve</value>
|
|
|
|
<value>rename-restart</value>
|
|
|
|
</choice>
|
|
|
|
</define>
|
2008-07-08 12:05:13 +00:00
|
|
|
<!--
|
|
|
|
Specific setup for a qemu emulated character device. Note: this
|
|
|
|
definition doesn't fully specify the constraints on this node.
|
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="qemucdev">
|
2009-11-05 14:31:03 +00:00
|
|
|
<ref name="qemucdevSrcType"/>
|
2009-11-18 10:25:20 +00:00
|
|
|
<optional>
|
|
|
|
<attribute name="tty">
|
|
|
|
<ref name="devicePath"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2009-11-05 14:31:03 +00:00
|
|
|
<interleave>
|
|
|
|
<ref name="qemucdevSrcDef"/>
|
|
|
|
<optional>
|
|
|
|
<element name="target">
|
|
|
|
<optional>
|
|
|
|
<attribute name="port"/>
|
|
|
|
</optional>
|
|
|
|
</element>
|
|
|
|
</optional>
|
Add device info to serial, parallel, channel, input & fs devices
Although the serial, parallel, chanel, input & fs devices do
not have PCI address info, they can all have device aliases.
Thus it neccessary to associate the virDomainDeviceInfo data
with them all.
* src/conf/domain_conf.c, src/conf/domain_conf.h: Add hooks for
parsing / formatting device info for serial, parallel, channel
input and fs devices.
* docs/schemas/domain.rng: Associate device info with character
devices, input & fs device
2010-01-06 12:39:53 +00:00
|
|
|
<optional>
|
2010-02-17 16:16:42 +00:00
|
|
|
<ref name="address"/>
|
Add device info to serial, parallel, channel, input & fs devices
Although the serial, parallel, chanel, input & fs devices do
not have PCI address info, they can all have device aliases.
Thus it neccessary to associate the virDomainDeviceInfo data
with them all.
* src/conf/domain_conf.c, src/conf/domain_conf.h: Add hooks for
parsing / formatting device info for serial, parallel, channel
input and fs devices.
* docs/schemas/domain.rng: Associate device info with character
devices, input & fs device
2010-01-06 12:39:53 +00:00
|
|
|
</optional>
|
2009-11-05 14:31:03 +00:00
|
|
|
</interleave>
|
|
|
|
</define>
|
|
|
|
<define name="qemucdevSrcType">
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="type">
|
2008-07-08 12:05:13 +00:00
|
|
|
<choice>
|
|
|
|
<value>dev</value>
|
|
|
|
<value>file</value>
|
|
|
|
<value>pipe</value>
|
|
|
|
<value>unix</value>
|
|
|
|
<value>tcp</value>
|
|
|
|
<value>udp</value>
|
|
|
|
<value>null</value>
|
|
|
|
<value>stdio</value>
|
|
|
|
<value>vc</value>
|
|
|
|
<value>pty</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
2009-11-05 14:31:03 +00:00
|
|
|
</define>
|
|
|
|
<define name="qemucdevSrcDef">
|
2009-12-11 07:46:11 +00:00
|
|
|
<zeroOrMore>
|
|
|
|
<element name="source">
|
|
|
|
<optional>
|
|
|
|
<attribute name="mode"/>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="path"/>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="host"/>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="service"/>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="wiremode"/>
|
|
|
|
</optional>
|
|
|
|
</element>
|
|
|
|
</zeroOrMore>
|
2009-11-05 14:31:03 +00:00
|
|
|
<optional>
|
|
|
|
<element name="protocol">
|
|
|
|
<optional>
|
|
|
|
<attribute name="type"/>
|
|
|
|
</optional>
|
|
|
|
</element>
|
|
|
|
</optional>
|
2008-07-08 12:05:13 +00:00
|
|
|
</define>
|
2007-01-09 16:29:18 +00:00
|
|
|
<!--
|
|
|
|
The description for a console
|
|
|
|
just a tty device
|
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="console">
|
|
|
|
<element name="console">
|
2008-07-08 12:05:13 +00:00
|
|
|
<choice>
|
|
|
|
<group>
|
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="tty">
|
|
|
|
<ref name="devicePath"/>
|
2008-07-08 12:05:13 +00:00
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<empty/>
|
|
|
|
</group>
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="qemucdev"/>
|
2008-07-08 12:05:13 +00:00
|
|
|
</choice>
|
|
|
|
</element>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="sound">
|
|
|
|
<element name="sound">
|
|
|
|
<attribute name="model">
|
2008-07-08 12:05:13 +00:00
|
|
|
<choice>
|
|
|
|
<value>sb16</value>
|
|
|
|
<value>es1370</value>
|
|
|
|
<value>pcspk</value>
|
2009-03-16 10:47:12 +00:00
|
|
|
<value>ac97</value>
|
2008-07-08 12:05:13 +00:00
|
|
|
</choice>
|
2007-01-09 16:29:18 +00:00
|
|
|
</attribute>
|
2009-12-10 19:19:08 +00:00
|
|
|
<optional>
|
|
|
|
<ref name="address"/>
|
|
|
|
</optional>
|
2007-01-09 16:29:18 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
2009-10-21 12:26:38 +00:00
|
|
|
<define name="watchdog">
|
|
|
|
<element name="watchdog">
|
|
|
|
<attribute name="model">
|
|
|
|
<choice>
|
|
|
|
<value>i6300esb</value>
|
|
|
|
<value>ib700</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="action">
|
|
|
|
<choice>
|
|
|
|
<value>reset</value>
|
|
|
|
<value>shutdown</value>
|
|
|
|
<value>poweroff</value>
|
|
|
|
<value>pause</value>
|
|
|
|
<value>none</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2009-12-10 19:19:08 +00:00
|
|
|
<optional>
|
|
|
|
<ref name="address"/>
|
|
|
|
</optional>
|
2009-10-21 12:26:38 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="parallel">
|
|
|
|
<element name="parallel">
|
|
|
|
<ref name="qemucdev"/>
|
2008-07-08 12:05:13 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="serial">
|
|
|
|
<element name="serial">
|
|
|
|
<ref name="qemucdev"/>
|
2008-07-08 12:05:13 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
2009-11-05 14:31:03 +00:00
|
|
|
<define name="guestfwdTarget">
|
|
|
|
<element name="target">
|
2009-11-13 15:03:43 +00:00
|
|
|
<attribute name="type">
|
|
|
|
<value>guestfwd</value>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="address"/>
|
|
|
|
<attribute name="port"/>
|
2009-11-05 14:31:03 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
2010-02-18 16:52:03 +00:00
|
|
|
<define name="virtioTarget">
|
|
|
|
<element name="target">
|
|
|
|
<attribute name="type">
|
|
|
|
<value>virtio</value>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="name"/>
|
|
|
|
</optional>
|
|
|
|
</element>
|
|
|
|
</define>
|
2009-11-05 14:31:03 +00:00
|
|
|
<define name="channel">
|
|
|
|
<element name="channel">
|
|
|
|
<ref name="qemucdevSrcType"/>
|
|
|
|
<interleave>
|
|
|
|
<ref name="qemucdevSrcDef"/>
|
2010-02-18 16:52:03 +00:00
|
|
|
<choice>
|
|
|
|
<ref name="guestfwdTarget"/>
|
|
|
|
<ref name="virtioTarget"/>
|
|
|
|
</choice>
|
2010-02-17 16:16:42 +00:00
|
|
|
<optional>
|
|
|
|
<ref name="address"/>
|
|
|
|
</optional>
|
2009-11-05 14:31:03 +00:00
|
|
|
</interleave>
|
|
|
|
</element>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="input">
|
|
|
|
<element name="input">
|
|
|
|
<attribute name="type">
|
2008-07-08 12:05:13 +00:00
|
|
|
<choice>
|
|
|
|
<value>tablet</value>
|
|
|
|
<value>mouse</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="bus">
|
2008-07-08 12:05:13 +00:00
|
|
|
<choice>
|
|
|
|
<value>ps2</value>
|
|
|
|
<value>usb</value>
|
|
|
|
<value>xen</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
Add device info to serial, parallel, channel, input & fs devices
Although the serial, parallel, chanel, input & fs devices do
not have PCI address info, they can all have device aliases.
Thus it neccessary to associate the virDomainDeviceInfo data
with them all.
* src/conf/domain_conf.c, src/conf/domain_conf.h: Add hooks for
parsing / formatting device info for serial, parallel, channel
input and fs devices.
* docs/schemas/domain.rng: Associate device info with character
devices, input & fs device
2010-01-06 12:39:53 +00:00
|
|
|
<optional>
|
2010-02-17 16:16:42 +00:00
|
|
|
<ref name="address"/>
|
Add device info to serial, parallel, channel, input & fs devices
Although the serial, parallel, chanel, input & fs devices do
not have PCI address info, they can all have device aliases.
Thus it neccessary to associate the virDomainDeviceInfo data
with them all.
* src/conf/domain_conf.c, src/conf/domain_conf.h: Add hooks for
parsing / formatting device info for serial, parallel, channel
input and fs devices.
* docs/schemas/domain.rng: Associate device info with character
devices, input & fs device
2010-01-06 12:39:53 +00:00
|
|
|
</optional>
|
2007-01-09 16:29:18 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="hostdev">
|
|
|
|
<element name="hostdev">
|
2008-08-08 14:27:05 +00:00
|
|
|
<optional>
|
2009-04-02 13:19:11 +00:00
|
|
|
<attribute name="mode">
|
2008-08-08 14:27:05 +00:00
|
|
|
<choice>
|
2009-04-02 13:19:11 +00:00
|
|
|
<value>subsystem</value>
|
|
|
|
<value>capabilities</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="type">
|
|
|
|
<choice>
|
|
|
|
<value>usb</value>
|
|
|
|
<value>pci</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="managed">
|
|
|
|
<choice>
|
|
|
|
<value>yes</value>
|
|
|
|
<value>no</value>
|
2008-08-08 14:27:05 +00:00
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<group>
|
2009-04-02 13:19:11 +00:00
|
|
|
<element name="source">
|
|
|
|
<choice>
|
2010-02-17 16:16:42 +00:00
|
|
|
<group>
|
2010-02-01 17:21:05 +00:00
|
|
|
<ref name="usbproduct"/>
|
2010-02-17 16:16:42 +00:00
|
|
|
<optional>
|
|
|
|
<ref name="usbaddress"/>
|
|
|
|
</optional>
|
|
|
|
</group>
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="usbaddress"/>
|
2009-11-30 18:35:58 +00:00
|
|
|
<element name="address">
|
|
|
|
<ref name="pciaddress"/>
|
|
|
|
</element>
|
2009-04-02 13:19:11 +00:00
|
|
|
</choice>
|
|
|
|
</element>
|
2008-08-08 14:27:05 +00:00
|
|
|
</group>
|
2009-11-30 18:35:58 +00:00
|
|
|
<optional>
|
|
|
|
<ref name="address"/>
|
|
|
|
</optional>
|
2008-08-08 14:27:05 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
<define name="usbproduct">
|
|
|
|
<element name="vendor">
|
|
|
|
<attribute name="id">
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="usbId"/>
|
2008-08-08 14:27:05 +00:00
|
|
|
</attribute>
|
|
|
|
</element>
|
|
|
|
<element name="product">
|
|
|
|
<attribute name="id">
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="usbId"/>
|
2008-08-08 14:27:05 +00:00
|
|
|
</attribute>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
<define name="usbaddress">
|
|
|
|
<element name="address">
|
|
|
|
<attribute name="bus">
|
|
|
|
<ref name="usbAddr"/>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="device">
|
|
|
|
<ref name="usbAddr"/>
|
|
|
|
</attribute>
|
|
|
|
</element>
|
|
|
|
</define>
|
2009-01-12 15:09:19 +00:00
|
|
|
<define name="pciaddress">
|
2009-11-30 18:35:58 +00:00
|
|
|
<optional>
|
|
|
|
<attribute name="domain">
|
|
|
|
<ref name="pciDomain"/>
|
2009-01-12 15:09:19 +00:00
|
|
|
</attribute>
|
2009-11-30 18:35:58 +00:00
|
|
|
</optional>
|
|
|
|
<attribute name="bus">
|
|
|
|
<ref name="pciBus"/>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="slot">
|
|
|
|
<ref name="pciSlot"/>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="function">
|
|
|
|
<ref name="pciFunc"/>
|
|
|
|
</attribute>
|
2009-01-12 15:09:19 +00:00
|
|
|
</define>
|
2009-12-01 16:56:24 +00:00
|
|
|
<define name="driveaddress">
|
|
|
|
<optional>
|
|
|
|
<attribute name="controller">
|
|
|
|
<ref name="driveController"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="bus">
|
2010-02-17 16:16:42 +00:00
|
|
|
<ref name="driveBus"/>
|
2009-12-01 16:56:24 +00:00
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<attribute name="unit">
|
|
|
|
<ref name="driveUnit"/>
|
|
|
|
</attribute>
|
|
|
|
</define>
|
2010-02-18 16:52:03 +00:00
|
|
|
<define name="virtioserialaddress">
|
|
|
|
<attribute name="controller">
|
|
|
|
<ref name="driveController"/>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="bus">
|
|
|
|
<ref name="driveBus"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
</define>
|
2007-01-10 15:20:46 +00:00
|
|
|
<!--
|
2008-07-08 12:05:13 +00:00
|
|
|
Devices attached to a domain.
|
2007-01-10 15:20:46 +00:00
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="devices">
|
|
|
|
<element name="devices">
|
2007-01-10 15:20:46 +00:00
|
|
|
<interleave>
|
2009-04-02 13:19:11 +00:00
|
|
|
<optional>
|
|
|
|
<ref name="emulator"/>
|
|
|
|
</optional>
|
|
|
|
<zeroOrMore>
|
|
|
|
<choice>
|
|
|
|
<ref name="disk"/>
|
2009-12-02 19:15:38 +00:00
|
|
|
<ref name="controller"/>
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="filesystem"/>
|
|
|
|
<ref name="interface"/>
|
|
|
|
<ref name="input"/>
|
|
|
|
<ref name="sound"/>
|
|
|
|
<ref name="hostdev"/>
|
|
|
|
<ref name="graphic"/>
|
2009-07-06 13:54:44 +00:00
|
|
|
<ref name="video"/>
|
2009-04-02 13:19:11 +00:00
|
|
|
<ref name="console"/>
|
|
|
|
<ref name="parallel"/>
|
|
|
|
<ref name="serial"/>
|
2009-11-05 14:31:03 +00:00
|
|
|
<ref name="channel"/>
|
2009-04-02 13:19:11 +00:00
|
|
|
</choice>
|
|
|
|
</zeroOrMore>
|
2009-10-21 12:26:38 +00:00
|
|
|
<optional>
|
|
|
|
<ref name="watchdog"/>
|
|
|
|
</optional>
|
2007-01-10 15:20:46 +00:00
|
|
|
</interleave>
|
|
|
|
</element>
|
|
|
|
</define>
|
2007-01-09 16:29:18 +00:00
|
|
|
<!--
|
|
|
|
A set of optional features: PAE, APIC and ACPI support
|
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="features">
|
2007-01-09 16:29:18 +00:00
|
|
|
<optional>
|
|
|
|
<element name="features">
|
|
|
|
<interleave>
|
2009-04-02 13:19:11 +00:00
|
|
|
<optional>
|
|
|
|
<element name="pae">
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<element name="apic">
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<element name="acpi">
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
2007-01-09 16:29:18 +00:00
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</define>
|
2009-12-18 13:37:09 +00:00
|
|
|
<!--
|
|
|
|
CPU specification
|
|
|
|
-->
|
|
|
|
<define name="cpu">
|
|
|
|
<element name="cpu">
|
2010-02-09 14:53:03 +00:00
|
|
|
<choice>
|
|
|
|
<ref name="cpuTopology"/>
|
|
|
|
<group>
|
|
|
|
<ref name="cpuMatch"/>
|
|
|
|
<interleave>
|
|
|
|
<ref name="cpuModel"/>
|
|
|
|
<optional>
|
|
|
|
<ref name="cpuTopology"/>
|
|
|
|
</optional>
|
|
|
|
<zeroOrMore>
|
|
|
|
<ref name="cpuFeature"/>
|
|
|
|
</zeroOrMore>
|
|
|
|
</interleave>
|
|
|
|
</group>
|
|
|
|
</choice>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name="cpuMatch">
|
|
|
|
<attribute name="match">
|
|
|
|
<choice>
|
|
|
|
<value>minimum</value>
|
|
|
|
<value>exact</value>
|
|
|
|
<value>strict</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name="cpuModel">
|
|
|
|
<element name="model">
|
|
|
|
<text/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name="cpuFeature">
|
|
|
|
<element name="feature">
|
|
|
|
<attribute name="policy">
|
|
|
|
<choice>
|
|
|
|
<value>force</value>
|
|
|
|
<value>require</value>
|
|
|
|
<value>optional</value>
|
|
|
|
<value>disable</value>
|
|
|
|
<value>forbid</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="name">
|
|
|
|
<ref name="featureName"/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name="cpuTopology">
|
|
|
|
<element name="topology">
|
|
|
|
<attribute name="sockets">
|
|
|
|
<ref name="positiveInteger"/>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="cores">
|
|
|
|
<ref name="positiveInteger"/>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="threads">
|
|
|
|
<ref name="positiveInteger"/>
|
|
|
|
</attribute>
|
2009-12-18 13:37:09 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
2009-11-30 18:35:58 +00:00
|
|
|
|
|
|
|
<define name="address">
|
|
|
|
<element name="address">
|
|
|
|
<choice>
|
2010-02-17 16:16:42 +00:00
|
|
|
<group>
|
|
|
|
<attribute name="type">
|
|
|
|
<value>pci</value>
|
|
|
|
</attribute>
|
|
|
|
<ref name="pciaddress"/>
|
|
|
|
</group>
|
|
|
|
<group>
|
|
|
|
<attribute name="type">
|
|
|
|
<value>drive</value>
|
|
|
|
</attribute>
|
|
|
|
<ref name="driveaddress"/>
|
|
|
|
</group>
|
2010-02-18 16:52:03 +00:00
|
|
|
<group>
|
|
|
|
<attribute name="type">
|
|
|
|
<value>virtio-serial</value>
|
|
|
|
</attribute>
|
|
|
|
<ref name="virtioserialaddress"/>
|
|
|
|
</group>
|
2009-11-30 18:35:58 +00:00
|
|
|
</choice>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2007-01-09 16:29:18 +00:00
|
|
|
<!--
|
|
|
|
Type library
|
|
|
|
|
|
|
|
Our unsignedInt doesn't allow a leading '+' in its lexical form
|
|
|
|
A domain name shoul be made of ascii, numbers, _-+ and is non-empty
|
|
|
|
UUID currently allows only the 32 characters strict syntax
|
|
|
|
memoryKB request at least 4Mbytes though Xen will grow bigger if too low
|
|
|
|
-->
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="unsignedInt">
|
|
|
|
<data type="unsignedInt">
|
2007-01-09 16:29:18 +00:00
|
|
|
<param name="pattern">[0-9]+</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-12-18 13:37:09 +00:00
|
|
|
<define name='positiveInteger'>
|
|
|
|
<data type='positiveInteger'>
|
|
|
|
<param name="pattern">[0-9]+</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="countCPU">
|
|
|
|
<data type="unsignedShort">
|
2007-01-09 16:29:18 +00:00
|
|
|
<param name="pattern">[0-9]+</param>
|
|
|
|
<param name="minInclusive">1</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="PortNumber">
|
|
|
|
<data type="short">
|
2007-01-10 10:08:06 +00:00
|
|
|
<param name="minInclusive">-1</param>
|
2007-01-09 16:29:18 +00:00
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="memoryKB">
|
|
|
|
<data type="unsignedInt">
|
2007-01-09 16:29:18 +00:00
|
|
|
<param name="pattern">[0-9]+</param>
|
|
|
|
<param name="minInclusive">4000</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="domainName">
|
|
|
|
<data type="string">
|
2008-07-25 06:37:20 +00:00
|
|
|
<param name="pattern">[A-Za-z0-9_\.\+\-&:/]+</param>
|
2007-01-09 16:29:18 +00:00
|
|
|
</data>
|
|
|
|
</define>
|
2009-08-14 11:22:01 +00:00
|
|
|
<define name="diskSerial">
|
|
|
|
<data type="string">
|
|
|
|
<param name="pattern">[A-Za-z0-9_\.\+\-]+</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="genericName">
|
|
|
|
<data type="string">
|
2007-01-10 10:08:06 +00:00
|
|
|
<param name="pattern">[a-zA-Z0-9_\+\-]+</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="UUID">
|
2007-01-10 15:20:46 +00:00
|
|
|
<choice>
|
2009-04-02 13:19:11 +00:00
|
|
|
<data type="string">
|
2007-01-10 15:20:46 +00:00
|
|
|
<param name="pattern">[a-fA-F0-9]{32}</param>
|
|
|
|
</data>
|
2009-04-02 13:19:11 +00:00
|
|
|
<data type="string">
|
2007-01-10 15:20:46 +00:00
|
|
|
<param name="pattern">[a-fA-F0-9]{8}\-([a-fA-F0-9]{4}\-){3}[a-fA-F0-9]{12}</param>
|
|
|
|
</data>
|
|
|
|
</choice>
|
2007-01-09 16:29:18 +00:00
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="filePath">
|
|
|
|
<data type="string">
|
2008-07-25 06:37:20 +00:00
|
|
|
<param name="pattern">[a-zA-Z0-9_\.\+\-&/%]+</param>
|
2007-01-09 16:29:18 +00:00
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="absFilePath">
|
|
|
|
<data type="string">
|
2008-07-25 06:37:20 +00:00
|
|
|
<param name="pattern">/[a-zA-Z0-9_\.\+\-&/%]+</param>
|
2007-01-09 16:29:18 +00:00
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="absDirPath">
|
|
|
|
<data type="string">
|
2008-08-01 13:31:37 +00:00
|
|
|
<param name="pattern">/[a-zA-Z0-9_\.\+\-&/%]*</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="devicePath">
|
|
|
|
<data type="string">
|
2008-07-25 06:37:20 +00:00
|
|
|
<param name="pattern">/[a-zA-Z0-9_\+\-/%]+</param>
|
2007-01-09 16:29:18 +00:00
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="deviceName">
|
|
|
|
<data type="string">
|
2008-07-25 06:37:20 +00:00
|
|
|
<param name="pattern">[a-zA-Z0-9_\.\-:/]+</param>
|
2007-01-09 16:29:18 +00:00
|
|
|
</data>
|
|
|
|
</define>
|
2010-02-15 16:43:42 +00:00
|
|
|
<define name="bridgeMode">
|
|
|
|
<data type="string">
|
|
|
|
<param name="pattern">(vepa|bridge|private)</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="addrMAC">
|
|
|
|
<data type="string">
|
2007-01-09 16:29:18 +00:00
|
|
|
<param name="pattern">([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="addrIP">
|
|
|
|
<data type="string">
|
2007-01-09 16:29:18 +00:00
|
|
|
<param name="pattern">([0-2]?[0-9]?[0-9]\.){3}[0-2]?[0-9]?[0-9]</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="usbId">
|
|
|
|
<data type="string">
|
2008-08-08 14:27:05 +00:00
|
|
|
<param name="pattern">(0x)?[0-9a-fA-F]{1,4}</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="usbAddr">
|
|
|
|
<data type="string">
|
2008-08-08 14:27:05 +00:00
|
|
|
<param name="pattern">(0x)?[0-9a-fA-F]{1,3}</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="pciDomain">
|
|
|
|
<data type="string">
|
2009-01-12 15:09:19 +00:00
|
|
|
<param name="pattern">(0x)?[0-9a-fA-F]{1,4}</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="pciBus">
|
|
|
|
<data type="string">
|
2009-01-12 15:09:19 +00:00
|
|
|
<param name="pattern">(0x)?[0-9a-fA-F]{1,2}</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="pciSlot">
|
|
|
|
<data type="string">
|
2009-01-12 15:09:19 +00:00
|
|
|
<param name="pattern">(0x)?[0-1]?[0-9a-fA-F]</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-04-02 13:19:11 +00:00
|
|
|
<define name="pciFunc">
|
|
|
|
<data type="string">
|
2009-01-12 15:09:19 +00:00
|
|
|
<param name="pattern">(0x)?[0-7]</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-12-01 16:56:24 +00:00
|
|
|
<define name="driveController">
|
|
|
|
<data type="string">
|
|
|
|
<param name="pattern">[0-9]{1,2}</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
|
|
|
<define name="driveBus">
|
|
|
|
<data type="string">
|
|
|
|
<param name="pattern">[0-9]{1,2}</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
|
|
|
<define name="driveUnit">
|
|
|
|
<data type="string">
|
|
|
|
<param name="pattern">[0-9]{1,2}</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2009-12-18 13:37:09 +00:00
|
|
|
<define name="featureName">
|
|
|
|
<data type="string">
|
|
|
|
<param name='pattern'>[a-zA-Z0-9\-_]+</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2010-02-02 17:49:09 +00:00
|
|
|
<define name="timeDelta">
|
|
|
|
<data type="string">
|
|
|
|
<param name="pattern">(-|\+)?[0-9]+</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2010-02-02 18:28:44 +00:00
|
|
|
<define name="timeZone">
|
|
|
|
<data type="string">
|
|
|
|
<param name="pattern">[a-zA-Z0-9_\.\+\-/]+</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2007-01-09 16:29:18 +00:00
|
|
|
</grammar>
|