docs: html.in: Drop the architecture page

The page isn't linked from anywhere and the contents is dated.
Images related to the page are also dropped.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Erik Skultety 2021-03-12 08:34:15 +01:00
parent 511bdb0bb2
commit 3bd8c779f4
4 changed files with 0 additions and 323 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -1,82 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<h1 >libvirt architecture</h1>
<p>
Currently libvirt supports 2 kind of virtualization, and its
internal structure is based on a driver model which simplifies
adding new
engines:
</p>
<ul id="toc"></ul>
<h2><a id="Xen">Xen support</a></h2>
<p>When running in a Xen environment, programs using libvirt have to execute
in "Domain 0", which is the primary Linux OS loaded on the machine. That OS
kernel provides most if not all of the actual drivers used by the set of
domains. It also runs the Xen Store, a database of information shared by the
hypervisor, the backend drivers, any running domains, and libxl (aka libxenlight).
libxl provides a set of APIs for creating and managing domains, which can be used
by applications such as the xl tool provided by Xen or libvirt. The hypervisor,
drivers, kernels and daemons communicate though a shared system bus
implemented in the hypervisor. The figure below tries to provide a view of
this environment:</p>
<img src="architecture.gif" alt="The Xen architecture" />
<p>The library will interact with libxl for all management operations
on a Xen system.</p>
<p>Note that the libvirt libxl driver only supports root access.</p>
<h2><a id="QEMU">QEMU and KVM support</a></h2>
<p>The model for QEMU and KVM is completely similar, basically KVM is based
on QEMU for the process controlling a new domain, only small details differs
between the two. In both case the libvirt API is provided by a controlling
process forked by libvirt in the background and which launch and control the
QEMU or KVM process. That program called libvirt_qemud talks though a specific
protocol to the library, and connects to the console of the QEMU process in
order to control and report on its status. Libvirt tries to expose all the
emulations models of QEMU, the selection is done when creating the new
domain, by specifying the architecture and machine type targeted.</p>
<p>The code controlling the QEMU process is available in the
<code>qemud/</code> directory.</p>
<h2><a id="drivers">Driver based architecture</a></h2>
<p>As the previous section explains, libvirt can communicate using different
channels with the current hypervisor, and should also be able to use
different kind of hypervisor. To simplify the internal design, code, ease
maintenance and simplify the support of other virtualization engine the
internals have been structured as one core component, the libvirt.c module
acting as a front-end for the library API and a set of hypervisor drivers
defining a common set of routines. That way the Xen Daemon access, the Xen
Store one, the Hypervisor hypercall are all isolated in separate C modules
implementing at least a subset of the common operations defined by the
drivers present in driver.h:</p>
<ul>
<li>xend_internal: implements the driver functions though the Xen
Daemon</li>
<li>xs_internal: implements the subset of the driver available though the
Xen Store</li>
<li>xen_internal: provide the implementation of the functions possible via
direct hypervisor access</li>
<li>proxy_internal: provide read-only Xen access via a proxy, the proxy code
is in the <code>proxy/</code> directory.</li>
<li>xm_internal: provide support for Xen defined but not running
domains.</li>
<li>qemu_internal: implement the driver functions for QEMU and
KVM virtualization engines. It also uses a qemud/ specific daemon
which interacts with the QEMU process to implement libvirt API.</li>
<li>test: this is a test driver useful for regression tests of the
front-end part of libvirt.</li>
</ul>
<p>Note that a given driver may only implement a subset of those functions,
(for example saving a Xen domain state to disk and restoring it is only
possible though the Xen Daemon), in that case the driver entry points for
unsupported functions are initialized to NULL.</p>
<p></p>
</body>
</html>

View File

@ -1,239 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Creator: fig2dev Version 3.2.7b-dev -->
<!-- CreationDate: 2020-07-10 10:23:50 -->
<!-- Magnification: 1 -->
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="519pt" height="362pt"
viewBox="888 3963 8649 6024">
<g fill="none">
<!-- Line -->
<rect x="1050" y="7500" width="8325" height="1200"
stroke="#000000" stroke-width="8px"/>
<!-- Line -->
<rect x="1050" y="4125" width="2475" height="3150" rx="105"
stroke="#000000" stroke-width="8px"/>
<!-- Line -->
<polyline points=" 1050,6540 3540,6525"
stroke="#000000" stroke-width="15px" stroke-dasharray="60 60"/>
<!-- Line -->
<rect x="1140" y="6645" width="450" height="255" rx="105"
stroke="#000000" stroke-width="8px"/>
<!-- Line -->
<rect x="1140" y="6930" width="450" height="255" rx="105"
stroke="#000000" stroke-width="8px"/>
<!-- Line -->
<defs>
<clipPath id="cp0">
<path clip-rule="evenodd" d="M 888,3963 H 9537 V 9987 H 888 z
M 8353,7665 8353,7785 8651,7751 8651,7700z
M 2147,7785 2147,7665 1850,7700 1850,7751z"/>
</clipPath>
</defs>
<polyline points=" 1875,7725 8625,7725" clip-path="url(#cp0)"
stroke="#000000" stroke-width="45px"/>
<!-- Forward arrow to point 8625,7725 -->
<polygon points=" 8353,7785 8593,7725 8353,7665 8353,7785"
stroke="#000000" stroke-width="15px" stroke-miterlimit="8" fill="#000000"/>
<!-- Backward arrow to point 1875,7725 -->
<polygon points=" 2147,7665 1907,7725 2147,7785 2147,7665"
stroke="#000000" stroke-width="15px" stroke-miterlimit="8" fill="#000000"/>
<!-- Line -->
<rect x="1650" y="5625" width="1350" height="750"
stroke="#000000" stroke-width="8px"/>
<!-- Line -->
<defs>
<clipPath id="cp1">
<path clip-rule="evenodd" d="M 888,3963 H 9537 V 9987 H 888 z
M 2790,6647 2910,6647 2876,6350 2825,6350z
M 2147,7785 2147,7665 1850,7700 1850,7751z"/>
</clipPath>
</defs>
<polyline points=" 2850,7725 2850,6375" clip-path="url(#cp1)"
stroke="#000000" stroke-width="45px"/>
<!-- Forward arrow to point 2850,6375 -->
<polygon points=" 2910,6647 2850,6407 2790,6647 2910,6647"
stroke="#000000" stroke-width="15px" stroke-miterlimit="8" fill="#000000"/>
<!-- Line -->
<rect x="3975" y="4125" width="2475" height="3150" rx="105"
stroke="#000000" stroke-width="8px"/>
<!-- Line -->
<rect x="6825" y="4125" width="2475" height="3150" rx="105"
stroke="#000000" stroke-width="8px"/>
<!-- Line -->
<polyline points=" 3975,6540 6465,6525"
stroke="#000000" stroke-width="15px" stroke-dasharray="60 60"/>
<!-- Line -->
<polyline points=" 6825,6540 9315,6525"
stroke="#000000" stroke-width="15px" stroke-dasharray="60 60"/>
<!-- Line -->
<defs>
<clipPath id="cp2">
<path clip-rule="evenodd" d="M 888,3963 H 9537 V 9987 H 888 z
M 5340,7322 5460,7322 5426,7025 5375,7025z
M 2147,7785 2147,7665 1850,7700 1850,7751z"/>
</clipPath>
</defs>
<polyline points=" 5400,7725 5400,7050" clip-path="url(#cp2)"
stroke="#000000" stroke-width="45px"/>
<!-- Forward arrow to point 5400,7050 -->
<polygon points=" 5460,7322 5400,7082 5340,7322 5460,7322"
stroke="#000000" stroke-width="15px" stroke-miterlimit="8" fill="#000000"/>
<!-- Line -->
<defs>
<clipPath id="cp3">
<path clip-rule="evenodd" d="M 888,3963 H 9537 V 9987 H 888 z
M 7965,7322 8085,7322 8051,7025 8000,7025z
M 2147,7785 2147,7665 1850,7700 1850,7751z"/>
</clipPath>
</defs>
<polyline points=" 8025,7725 8025,7050" clip-path="url(#cp3)"
stroke="#000000" stroke-width="45px"/>
<!-- Forward arrow to point 8025,7050 -->
<polygon points=" 8085,7322 8025,7082 7965,7322 8085,7322"
stroke="#000000" stroke-width="15px" stroke-miterlimit="8" fill="#000000"/>
<!-- Line -->
<rect x="1050" y="8925" width="8325" height="975"
stroke="#000000" stroke-width="8px"/>
<!-- Line -->
<rect x="2100" y="4575" width="1350" height="750"
stroke="#000000" stroke-width="8px"/>
<!-- Line -->
<defs>
<clipPath id="cp4">
<path clip-rule="evenodd" d="M 888,3963 H 9537 V 9987 H 888 z
M 3285,8053 3165,8053 3207,8343 3243,8343z
M 2147,7785 2147,7665 1850,7700 1850,7751z"/>
</clipPath>
</defs>
<polyline points=" 3225,5325 3225,8325" clip-path="url(#cp4)"
stroke="#000000" stroke-width="30px" stroke-dasharray="20 20"/>
<!-- Forward arrow to point 3225,8325 -->
<polygon points=" 3165,8053 3225,8293 3285,8053 3165,8053"
stroke="#000000" stroke-width="15px" stroke-miterlimit="8" fill="#000000"/>
<!-- Line -->
<defs>
<clipPath id="cp5">
<path clip-rule="evenodd" d="M 888,3963 H 9537 V 9987 H 888 z
M 6285,7978 6165,7978 6207,8268 6243,8268z
M 2147,7785 2147,7665 1850,7700 1850,7751z"/>
</clipPath>
</defs>
<polyline points=" 6225,6900 6225,8250" clip-path="url(#cp5)"
stroke="#000000" stroke-width="30px" stroke-dasharray="20 20"/>
<!-- Forward arrow to point 6225,8250 -->
<polygon points=" 6165,7978 6225,8218 6285,7978 6165,7978"
stroke="#000000" stroke-width="15px" stroke-miterlimit="8" fill="#000000"/>
<!-- Line -->
<defs>
<clipPath id="cp6">
<path clip-rule="evenodd" d="M 888,3963 H 9537 V 9987 H 888 z
M 8985,7978 8865,7978 8907,8268 8943,8268z
M 2147,7785 2147,7665 1850,7700 1850,7751z"/>
</clipPath>
</defs>
<polyline points=" 8925,6900 8925,8250" clip-path="url(#cp6)"
stroke="#000000" stroke-width="30px" stroke-dasharray="20 20"/>
<!-- Forward arrow to point 8925,8250 -->
<polygon points=" 8865,7978 8925,8218 8985,7978 8865,7978"
stroke="#000000" stroke-width="15px" stroke-miterlimit="8" fill="#000000"/>
<!-- Line -->
<defs>
<clipPath id="cp7">
<path clip-rule="evenodd" d="M 888,3963 H 9537 V 9987 H 888 z
M 1785,8053 1665,8053 1707,8343 1743,8343z
M 2147,7785 2147,7665 1850,7700 1850,7751z"/>
</clipPath>
</defs>
<polyline points=" 1725,7125 1725,8325" clip-path="url(#cp7)"
stroke="#000000" stroke-width="30px" stroke-dasharray="20 20"/>
<!-- Forward arrow to point 1725,8325 -->
<polygon points=" 1665,8053 1725,8293 1785,8053 1665,8053"
stroke="#000000" stroke-width="15px" stroke-miterlimit="8" fill="#000000"/>
<!-- Line -->
<defs>
<clipPath id="cp8">
<path clip-rule="evenodd" d="M 888,3963 H 9537 V 9987 H 888 z
M 2790,5297 2910,5297 2876,5000 2825,5000z
M 2910,5578 2790,5578 2825,5876 2876,5876z"/>
</clipPath>
</defs>
<polyline points=" 2850,5850 2850,5025" clip-path="url(#cp8)"
stroke="#000000" stroke-width="45px"/>
<!-- Forward arrow to point 2850,5025 -->
<polygon points=" 2910,5297 2850,5057 2790,5297 2910,5297"
stroke="#000000" stroke-width="15px" stroke-miterlimit="8" fill="#000000"/>
<!-- Backward arrow to point 2850,5850 -->
<polygon points=" 2790,5578 2850,5818 2910,5578 2790,5578"
stroke="#000000" stroke-width="15px" stroke-miterlimit="8" fill="#000000"/>
<!-- Line -->
<defs>
<clipPath id="cp9">
<path clip-rule="evenodd" d="M 888,3963 H 9537 V 9987 H 888 z
M 5235,9103 5115,9103 5157,9393 5193,9393z
M 2910,5578 2790,5578 2825,5876 2876,5876z"/>
</clipPath>
</defs>
<polyline points=" 5175,8475 5175,9375" clip-path="url(#cp9)"
stroke="#000000" stroke-width="30px" stroke-dasharray="20 20"/>
<!-- Forward arrow to point 5175,9375 -->
<polygon points=" 5115,9103 5175,9343 5235,9103 5115,9103"
stroke="#000000" stroke-width="15px" stroke-miterlimit="8" fill="#000000"/>
<!-- Line -->
<defs>
<clipPath id="cp10">
<path clip-rule="evenodd" d="M 888,3963 H 9537 V 9987 H 888 z
M 1410,9178 1290,9178 1332,9468 1368,9468z
M 2910,5578 2790,5578 2825,5876 2876,5876z"/>
</clipPath>
</defs>
<polyline points=" 1350,7125 1350,9450" clip-path="url(#cp10)"
stroke="#000000" stroke-width="30px" stroke-dasharray="20 20"/>
<!-- Forward arrow to point 1350,9450 -->
<polygon points=" 1290,9178 1350,9418 1410,9178 1290,9178"
stroke="#000000" stroke-width="15px" stroke-miterlimit="8" fill="#000000"/>
<!-- Line -->
<defs>
<clipPath id="cp11">
<path clip-rule="evenodd" d="M 888,3963 H 9537 V 9987 H 888 z
M 2265,7472 2385,7472 2351,7175 2300,7175z
M 2910,5578 2790,5578 2825,5876 2876,5876z"/>
</clipPath>
</defs>
<polyline points=" 2325,7725 2325,7200" clip-path="url(#cp11)"
stroke="#000000" stroke-width="45px"/>
<!-- Forward arrow to point 2325,7200 -->
<polygon points=" 2385,7472 2325,7232 2265,7472 2385,7472"
stroke="#000000" stroke-width="15px" stroke-miterlimit="8" fill="#000000"/>
<!-- Line -->
<polyline points=" 900,3975"
stroke="#000000" stroke-width="8px" stroke-dasharray="40 40"/>
<!-- Line -->
<polyline points=" 9525,9975"
stroke="#000000" stroke-width="8px" stroke-dasharray="40 40"/>
<!-- Text -->
<text xml:space="preserve" x="4350" y="7980" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="216" text-anchor="start">XenBus</text>
<!-- Text -->
<text xml:space="preserve" x="1680" y="6870" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="216" text-anchor="start">drivers</text>
<!-- Text -->
<text xml:space="preserve" x="1800" y="6075" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="216" text-anchor="start">XenStore</text>
<!-- Text -->
<text xml:space="preserve" x="1875" y="7125" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="216" text-anchor="start">Kernel0</text>
<!-- Text -->
<text xml:space="preserve" x="4875" y="6975" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="216" text-anchor="start">KernelU</text>
<!-- Text -->
<text xml:space="preserve" x="7650" y="6975" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="216" text-anchor="start">KernelU</text>
<!-- Text -->
<text xml:space="preserve" x="4050" y="8400" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="216" text-anchor="start">Xen Hypervisor</text>
<!-- Text -->
<text xml:space="preserve" x="2325" y="4950" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="216" text-anchor="start">Xend</text>
<!-- Text -->
<text xml:space="preserve" x="1200" y="4725" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="216" text-anchor="start">Dom0</text>
<!-- Text -->
<text xml:space="preserve" x="4875" y="5325" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="216" text-anchor="start">DomU</text>
<!-- Text -->
<text xml:space="preserve" x="7650" y="5325" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="216" text-anchor="start">DomU</text>
<!-- Text -->
<text xml:space="preserve" x="3750" y="9450" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="216" text-anchor="start">Hardware</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 10 KiB

View File

@ -7,7 +7,6 @@ docs_assets = [
'android-chrome-192x192.png',
'android-chrome-256x256.png',
'apple-touch-icon.png',
'architecture.gif',
'browserconfig.xml',
'favicon.ico',
'favicon-16x16.png',
@ -32,7 +31,6 @@ docs_assets = [
docs_html_in_files = [
'404',
'architecture',
'bugs',
'cgroups',
'contact',