libvirt/docs
Jiri Denemark 6df8b363f7 XML schema for CPU flags
XML schema for CPU flags

Firstly, CPU topology and model with optional features have to be
advertised in host capabilities:

    <host>
        <cpu>
            <arch>ARCHITECTURE</arch>
            <features>
                <!-- old-style features are here -->
            </features>
            <model>NAME</model>
            <topology sockets="S" cores="C" threads="T"/>
            <feature name="NAME"/>
        </cpu>
        ...
    </host>

Secondly, drivers which support detailed CPU specification have to
advertise
it in guest capabilities:

    <guest>
    ...
    <features>
            <cpuselection/>
        </features>
    </guest>

And finally, CPU may be configured in domain XML configuration:

<domain>
    ...
    <cpu match="MATCH">
        <model>NAME</model>
        <topology sockets="S" cores="C" threads="T"/>
        <feature policy="POLICY" name="NAME"/>
    </cpu>
</domain>

Where MATCH can be one of:
    - 'minimum'     specified CPU is the minimum requested CPU
    - 'exact'       disable all additional features provided by host CPU
    - 'strict'      fail if host CPU doesn't exactly match

POLICY can be one of:
    - 'force'       turn on the feature, even if host doesn't have it
    - 'require'     fail if host doesn't have the feature
    - 'optional'    match host
    - 'disable'     turn off the feature, even if host has it
    - 'forbid'      fail if host has the feature

'force' and 'disable' policies turn on/off the feature regardless of its
availability on host. 'force' is unlikely to be used but its there for
completeness since Xen and VMWare allow it.

'require' and 'forbid' policies prevent a guest from being started on a host
which doesn't/does have the feature. 'forbid' is for cases where you disable
the feature but a guest may still try to access it anyway and you don't want
it to succeed.

'optional' policy sets the feature according to its availability on host.
When a guest is booted on a host that has the feature and then migrated to
another host, the policy changes to 'require' as we can't take the feature
away from a running guest.

Default policy for features provided by host CPU but not specified in domain
configuration is set using match attribute of cpu tag. If 'minimum' match is
requested, additional features will be treated as if they were specified
with 'optional' policy. 'exact' match implies 'disable' policy and 'strict'
match stands for 'forbid' policy.

* docs/schemas/capability.rng docs/schemas/domain.rng: extend the
  RelaxNG schemas to add CPU flags support
2009-12-18 14:37:09 +01:00
..
api_extension remove all trailing blank lines 2009-07-16 15:06:42 +02:00
devhelp Fix rebuilding of devhelp files 2009-10-06 11:12:53 +01:00
html Remove all generated docs from source control 2009-09-21 14:41:47 +01:00
schemas XML schema for CPU flags 2009-12-18 14:37:09 +01:00
.gitignore Remove some auto-generated files 2009-10-09 13:01:22 +01:00
32favicon.png * docs/site.xsl docs/*.png docs/*.html: update the images from Diana, 2006-01-23 22:55:41 +00:00
api_extension.html.in Cleanup whitespace in docs 2009-11-06 16:05:18 +01:00
api.html.in Cleanup whitespace in docs 2009-11-06 16:05:18 +01:00
apibuild.py Add sentinel attribute for NULL terminated arg lists 2009-11-06 10:39:13 +01:00
apps.html.in Cleanup whitespace in docs 2009-11-06 16:05:18 +01:00
archdomain.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
architecture.fig * docs/architecture.* docs/*: added a section on the architecture 2005-12-21 16:59:34 +00:00
architecture.gif * docs/architecture.* docs/*: added a section on the architecture 2005-12-21 16:59:34 +00:00
architecture.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
archnetwork.html.in Cleanup whitespace in docs 2009-11-06 16:05:18 +01:00
archnode.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
archstorage.html.in Cleanup whitespace in docs 2009-11-06 16:05:18 +01:00
auth.html.in Fix a number of small typos 2009-09-22 12:55:39 +02:00
bindings.html.in Update location of C# bindings. 2009-12-09 12:51:35 +00:00
bugs.html.in Cleanup whitespace in docs 2009-11-06 16:05:18 +01:00
ChangeLog.awk Remove all trailing blanks; turn on the rule to detect them. 2008-02-05 19:27:37 +00:00
ChangeLog.xsl Change generated HTML to UTF-8 encoding 2009-12-08 16:09:33 +01:00
contact.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
deployment.html.in Change libvirtd description from qemu only to various VM(i.e. Xen, LXC) 2008-05-15 06:12:32 +00:00
docs.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
downloads.html.in Fix a number of small typos 2009-09-22 12:55:39 +02:00
drivers.html.in esx: Add documentation to the website 2009-11-15 15:21:13 +01:00
drvesx.html.in esx: Add documentation to the website 2009-11-15 15:21:13 +01:00
drvlxc.html.in Whitespace cleanup for pre-tags on the website 2009-11-16 22:42:13 +01:00
drvone.html.in Whitespace cleanup for pre-tags on the website 2009-11-16 22:42:13 +01:00
drvopenvz.html.in Whitespace cleanup for pre-tags on the website 2009-11-16 22:42:13 +01:00
drvqemu.html.in Fix typo in QEMU driver webpage 2009-11-30 15:21:21 +00:00
drvremote.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
drvtest.html.in Whitespace cleanup for pre-tags on the website 2009-11-16 22:42:13 +01:00
drvuml.html.in Whitespace cleanup for pre-tags on the website 2009-11-16 22:42:13 +01:00
drvvbox.html.in Whitespace cleanup for pre-tags on the website 2009-11-16 22:42:13 +01:00
drvxen.html.in Whitespace cleanup for pre-tags on the website 2009-11-16 22:42:13 +01:00
errors.html.in Fix a number of small typos 2009-09-22 12:55:39 +02:00
et.png * docs/Makefile.am docs/et.png docs/libvirt.css docs/page.xsl 2008-04-28 08:29:35 +00:00
FAQ.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
footer_corner.png Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
footer_pattern.png Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
format.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
formatcaps.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
formatdomain.html.in Fix and improve domain xml video element description 2009-12-14 22:14:06 +01:00
formatnetwork.html.in Cleanup whitespace in docs 2009-11-06 16:05:18 +01:00
formatnode.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
formatsecret.html.in Cleanup whitespace in docs 2009-11-06 16:05:18 +01:00
formatstorage.html.in Fix owner and group in example volume XML 2009-12-14 16:23:26 +01:00
formatstorageencryption.html.in Add volume encryption information handling. 2009-09-01 18:27:28 +01:00
generic.css Fix missing background color 2009-12-03 15:27:24 +01:00
goals.html.in * docs/*: start cleanup/revamp of architecture docs 2009-04-02 12:01:11 +00:00
hacking.html.in Add virBufferFreeAndReset() and replace free() 2009-12-10 00:00:50 +01:00
hvsupport.html.in esx: Add documentation to the website 2009-11-15 15:21:13 +01:00
index.html.in esx: Add documentation to the website 2009-11-15 15:21:13 +01:00
index.py Change libvirtd description from qemu only to various VM(i.e. Xen, LXC) 2008-05-15 06:12:32 +00:00
internals.html.in Added docs on extending public API (Dave Allen) 2009-06-09 11:42:41 +00:00
intro.html.in * docs/*: start cleanup/revamp of architecture docs 2009-04-02 12:01:11 +00:00
java.html.in Fix a number of small typos 2009-09-22 12:55:39 +02:00
library.xen remove all trailing blank lines 2009-07-16 15:06:42 +02:00
libvirt-daemon-arch.fig Api documentation 2009-04-15 20:42:50 +00:00
libvirt-daemon-arch.png Api documentation 2009-04-15 20:42:50 +00:00
libvirt-driver-arch.fig Api documentation 2009-04-15 20:42:50 +00:00
libvirt-driver-arch.png Api documentation 2009-04-15 20:42:50 +00:00
libvirt-header-bg.png Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
libvirt-header-logo.png Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
libvirt-net-logical.fig Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
libvirt-net-logical.png Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
libvirt-net-physical.fig Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
libvirt-net-physical.png Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
libvirt-object-model.fig Api documentation 2009-04-15 20:42:50 +00:00
libvirt-object-model.png Api documentation 2009-04-15 20:42:50 +00:00
libvirt.css Added autogenerated TOC for network and storage XML reference docs 2008-05-06 23:23:55 +00:00
libvirtLogo.png * //* : renamed the project libvirt , this affects all makefiles, 2006-02-09 17:45:11 +00:00
logging.html.in Update logging documentation 2009-08-06 15:58:38 +02:00
madeWith.png * //* : renamed the project libvirt , this affects all makefiles, 2006-02-09 17:45:11 +00:00
main.css Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
Makefile.am Change DTD references to use public instead of system identifier 2009-11-15 15:13:03 +01:00
newapi.xsl Change generated HTML to UTF-8 encoding 2009-12-08 16:09:33 +01:00
news.html.in Fix the news file non-ascii characters 2009-12-09 11:16:48 +01:00
news.xsl Convert NEWS to UTF-8 2009-07-29 09:04:21 +01:00
node.fig * doc/*: augment and try to complete the doc in its current state 2006-01-23 13:24:07 +00:00
node.gif * doc/*: augment and try to complete the doc in its current state 2006-01-23 13:24:07 +00:00
page.xsl Api documentation 2009-04-15 20:42:50 +00:00
python.html.in Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
relatedlinks.html.in Cleanup whitespace in docs 2009-11-06 16:05:18 +01:00
remote.html.in Make pki_check.sh into an installed & supported tool 2009-09-21 14:41:46 +01:00
search.php fix the search 2008-04-24 09:44:00 +00:00
site.xsl Change generated HTML to UTF-8 encoding 2009-12-08 16:09:33 +01:00
sitemap.html.in esx: Add documentation to the website 2009-11-15 15:21:13 +01:00
storage.html.in Whitespace cleanup for pre-tags on the website 2009-11-16 22:42:13 +01:00
structures.fig * Makefile.am README TODO autogen.sh configure.in libvir.pc.in 2005-12-05 11:16:07 +00:00
uri.html.in Allow remote://hostname/ style URIs for automatic driver probe. Fix virGetVersion impl 2008-11-28 12:03:20 +00:00
windows.html.in Documentation cleanups. 2008-09-18 09:00:10 +00:00