projectacrn.github.io/2.3/tutorials/sriov_virtualization.html

1330 lines
108 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Enable SR-IOV Virtualization &mdash; Project ACRN™ 2.3 documentation</title>
<link rel="shortcut icon" href="../_static/ACRN-favicon-32x32.png"/>
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../',
VERSION:'2.3',
LANGUAGE:'None',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=UA-831873-64"></script>
<script type="text/javascript" src="../_static/acrn-custom.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/acrn-custom.css" type="text/css" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Enable GVT-d in ACRN" href="gpu-passthru.html" />
<link rel="prev" title="Enable CPU Sharing in ACRN" href="cpu_sharing.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home"> Project ACRN™
<img src="../_static/ACRN_Logo_200w.png" class="logo" alt="Logo"/>
</a>
<div class="version">
2.3
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> Project ACRN</span>
v: 2.3
<span class="fa fa-caret-down"></span>
</span>
<div class="rst-other-versions">
<dl>
<dt>Document Versions</dt>
<dd><a href="/latest/">latest</a></dd>
<dd><a href="/2.2/">2.2</a></dd>
<dd><a href="/2.1/">2.1</a></dd>
<dd><a href="/2.0/">2.0</a></dd>
<dd><a href="/1.6.1/">1.6.1</a></dd>
<dd><a href="/1.6/">1.6</a></dd>
<dd><a href="/1.5/">1.5</a></dd>
<dd><a href="/1.4/">1.4</a></dd>
<dd><a href="/1.0/">1.0</a></dd>
</dl>
<dl>
<dt>projectacrn.org links</dt>
<dd>
<a href="https://www.projectacrn.org/">Project Home</a>
</dd>
<dd>
<a href="https://github.com/projectacrn/acrn-hypervisor/wiki">Wiki</a>
</dd>
</dl>
</div>
</div>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../index.html">Documentation Home</a></li>
<li class="toctree-l1"><a class="reference internal" href="../introduction/index.html">What is ACRN</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#introduction-to-project-acrn">Introduction to Project ACRN</a></li>
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#acrn-open-source-roadmap">ACRN Open Source Roadmap</a></li>
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#acrn-high-level-architecture">ACRN High-Level Architecture</a></li>
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#usage-scenarios">Usage Scenarios</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../introduction/index.html#industrial-workload-consolidation">Industrial Workload Consolidation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../introduction/index.html#automotive-application-scenarios">Automotive Application Scenarios</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#best-known-configurations">Best Known Configurations</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../introduction/index.html#sdc-scenario">SDC scenario</a></li>
<li class="toctree-l3"><a class="reference internal" href="../introduction/index.html#industry-scenario">Industry scenario</a></li>
<li class="toctree-l3"><a class="reference internal" href="../introduction/index.html#hybrid-scenario">Hybrid scenario</a></li>
<li class="toctree-l3"><a class="reference internal" href="../introduction/index.html#hybrid-real-time-rt-scenario">Hybrid real-time (RT) scenario</a></li>
<li class="toctree-l3"><a class="reference internal" href="../introduction/index.html#logical-partition-scenario">Logical Partition scenario</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#licensing">Licensing</a></li>
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#acrn-device-model-service-vm-and-user-vm">ACRN Device Model, Service VM, and User VM</a></li>
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#boot-sequence">Boot Sequence</a></li>
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#acrn-hypervisor-architecture">ACRN Hypervisor Architecture</a></li>
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#acrn-device-model-architecture">ACRN Device Model Architecture</a></li>
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#device-passthrough">Device passthrough</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../introduction/index.html#hardware-support-for-device-passthrough">Hardware support for device passthrough</a></li>
<li class="toctree-l3"><a class="reference internal" href="../introduction/index.html#hypervisor-support-for-device-passthrough">Hypervisor support for device passthrough</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#acrn-i-o-mediator">ACRN I/O mediator</a></li>
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#virtio-framework-architecture">Virtio framework architecture</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../try.html">Getting Started</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/hardware.html">Supported Hardware</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/hardware.html#minimum-system-requirements-for-installing-acrn">Minimum System Requirements for Installing ACRN</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/hardware.html#minimum-requirements-for-processor">Minimum Requirements for Processor</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/hardware.html#known-limitations">Known Limitations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/hardware.html#new-processor-families">New Processor Families</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/hardware.html#verified-platforms-according-to-acrn-usage">Verified Platforms According to ACRN Usage</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/hardware.html#verified-hardware-specifications-detail">Verified Hardware Specifications Detail</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../getting-started/building-from-source.html">Build ACRN from Source</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../getting-started/building-from-source.html#install-build-tools-and-dependencies">Install build tools and dependencies</a></li>
<li class="toctree-l3"><a class="reference internal" href="../getting-started/building-from-source.html#get-the-acrn-hypervisor-source-code">Get the ACRN hypervisor source code</a></li>
<li class="toctree-l3"><a class="reference internal" href="../getting-started/building-from-source.html#build-with-the-acrn-scenario">Build with the ACRN scenario</a></li>
<li class="toctree-l3"><a class="reference internal" href="../getting-started/building-from-source.html#build-the-hypervisor-configuration">Build the hypervisor configuration</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../getting-started/building-from-source.html#modify-the-hypervisor-configuration">Modify the hypervisor configuration</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../getting-started/building-from-source.html#build-the-hypervisor-device-model-and-tools">Build the hypervisor, device model, and tools</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html">Getting Started Guide for ACRN Industry Scenario with Ubuntu Service VM</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#verified-version">Verified version</a></li>
<li class="toctree-l3"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#hardware-connection">Hardware Connection</a></li>
<li class="toctree-l3"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#install-the-ubuntu-user-vm-rtvm-on-the-sata-disk">Install the Ubuntu User VM (RTVM) on the SATA disk</a></li>
<li class="toctree-l3"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#install-the-ubuntu-service-vm-on-the-nvme-disk">Install the Ubuntu Service VM on the NVMe disk</a></li>
<li class="toctree-l3"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#build-and-install-acrn-on-ubuntu">Build and Install ACRN on Ubuntu</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#pre-steps">Pre-Steps</a></li>
<li class="toctree-l4"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#build-the-acrn-hypervisor-on-ubuntu">Build the ACRN Hypervisor on Ubuntu</a></li>
<li class="toctree-l4"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#build-and-install-the-acrn-kernel">Build and install the ACRN kernel</a></li>
<li class="toctree-l4"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#install-the-service-vm-kernel-and-modules">Install the Service VM kernel and modules</a></li>
<li class="toctree-l4"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#update-grub-for-the-ubuntu-service-vm">Update Grub for the Ubuntu Service VM</a></li>
<li class="toctree-l4"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#enable-network-sharing-for-the-user-vm">Enable network sharing for the User VM</a></li>
<li class="toctree-l4"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#reboot-the-system">Reboot the system</a></li>
<li class="toctree-l4"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#additional-settings-in-the-service-vm">Additional settings in the Service VM</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#launch-the-rtvm">Launch the RTVM</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#update-the-grub-file">Update the Grub file</a></li>
<li class="toctree-l4"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#id2">Launch the RTVM</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#launch-the-windows-vm">Launch the Windows VM</a></li>
<li class="toctree-l3"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#troubleshooting">Troubleshooting</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#enabling-the-network-on-the-rtvm">Enabling the network on the RTVM</a></li>
<li class="toctree-l4"><a class="reference internal" href="../getting-started/rt_industry_ubuntu.html#passthrough-a-hard-disk-to-rtvm">Passthrough a hard disk to RTVM</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="using_hybrid_mode_on_nuc.html">Getting Started Guide for ACRN hybrid mode</a><ul>
<li class="toctree-l3"><a class="reference internal" href="using_hybrid_mode_on_nuc.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="using_hybrid_mode_on_nuc.html#update-ubuntu-grub">Update Ubuntu GRUB</a></li>
<li class="toctree-l3"><a class="reference internal" href="using_hybrid_mode_on_nuc.html#hybrid-scenario-startup-check">Hybrid Scenario Startup Check</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="using_partition_mode_on_nuc.html">Getting Started Guide for ACRN logical partition mode</a><ul>
<li class="toctree-l3"><a class="reference internal" href="using_partition_mode_on_nuc.html#validated-versions">Validated Versions</a></li>
<li class="toctree-l3"><a class="reference internal" href="using_partition_mode_on_nuc.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="using_partition_mode_on_nuc.html#update-kernel-image-and-modules-of-pre-launched-vm">Update kernel image and modules of pre-launched VM</a></li>
<li class="toctree-l3"><a class="reference internal" href="using_partition_mode_on_nuc.html#update-acrn-hypervisor-image">Update ACRN hypervisor image</a></li>
<li class="toctree-l3"><a class="reference internal" href="using_partition_mode_on_nuc.html#update-ubuntu-grub-to-boot-hypervisor-and-load-kernel-image">Update Ubuntu GRUB to boot hypervisor and load kernel image</a></li>
<li class="toctree-l3"><a class="reference internal" href="using_partition_mode_on_nuc.html#logical-partition-scenario-startup-check">Logical partition scenario startup check</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1 current"><a class="reference internal" href="../develop.html">Advanced Guides</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../develop.html#configuration-and-tools">Configuration and Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="acrn_configuration_tool.html">ACRN Configuration Tool</a><ul>
<li class="toctree-l4"><a class="reference internal" href="acrn_configuration_tool.html#introduction">Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="acrn_configuration_tool.html#acrn-configuration-xmls">ACRN configuration XMLs</a></li>
<li class="toctree-l4"><a class="reference internal" href="acrn_configuration_tool.html#configuration-tool-workflow">Configuration tool workflow</a></li>
<li class="toctree-l4"><a class="reference internal" href="acrn_configuration_tool.html#use-the-acrn-configuration-app">Use the ACRN configuration app</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../reference/kconfig/index.html">Configuration Symbol Reference</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../reference/kconfig/index.html#introduction">Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../reference/kconfig/index.html#supported-options">Supported Options</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../user-guides/hv-parameters.html">ACRN Hypervisor Parameters</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../user-guides/hv-parameters.html#generic-hypervisor-parameters">Generic hypervisor parameters</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../user-guides/kernel-parameters.html">ACRN Kernel Parameters</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../user-guides/kernel-parameters.html#generic-kernel-parameters">Generic kernel parameters</a></li>
<li class="toctree-l4"><a class="reference internal" href="../user-guides/kernel-parameters.html#intel-gvt-g-acrngt-parameters">Intel GVT-g (AcrnGT) Parameters</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../user-guides/acrn-shell.html">ACRN Shell Commands</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../user-guides/acrn-shell.html#command-examples">Command examples</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../user-guides/acrn-dm-parameters.html">Device Model Parameters</a></li>
<li class="toctree-l3"><a class="reference internal" href="../misc/tools/acrn-crashlog/README.html">ACRN-Crashlog</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/README.html#introduction">Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/README.html#building">Building</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/README.html#installing">Installing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/README.html#enabling-disabling">Enabling/Disabling</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/README.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/README.html#source-code">Source Code</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../misc/packaging/README.html">ACRN Installation via Debian Packages</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../misc/packaging/README.html#set-up-prerequisites">Set up prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/packaging/README.html#configure-debian-packaging-details">Configure Debian packaging details</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/packaging/README.html#run-the-package-building-script">Run the package-building script</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/packaging/README.html#prepare-your-target-system-with-ubuntu-18-04">Prepare your target system with Ubuntu 18.04</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/packaging/README.html#install-debian-packages-on-your-target-system">Install Debian packages on your target system</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/packaging/README.html#boot-acrn-using-the-multiboot2-grub-choice">Boot ACRN using the multiboot2 grub choice</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/packaging/README.html#verify-acrn-is-running">Verify ACRN is running</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../misc/tools/acrn-crashlog/acrnprobe/README.html">acrnprobe</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/acrnprobe/README.html#description">Description</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/acrnprobe/README.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/acrnprobe/README.html#architecture">Architecture</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/acrnprobe/README.html#source-files">Source files</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/acrnprobe/README.html#configuration-files">Configuration files</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../misc/tools/acrn-crashlog/acrnprobe/conf.html">acrnprobe Configuration</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/acrnprobe/conf.html#description">Description</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/acrnprobe/conf.html#layout">Layout</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/acrnprobe/conf.html#properties-of-group-members">Properties of group members</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/acrnprobe/conf.html#crash-tree-in-acrnprobe">Crash tree in acrnprobe</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/acrnprobe/conf.html#sections">Sections</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../misc/tools/acrn-crashlog/usercrash/README.html">usercrash</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/usercrash/README.html#description">Description</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/usercrash/README.html#design">Design</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/usercrash/README.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrn-crashlog/usercrash/README.html#source-code">Source Code</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../misc/tools/acrnlog/README.html">acrnlog</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrnlog/README.html#description">Description</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrnlog/README.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrnlog/README.html#build-and-install">Build and Install</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../misc/tools/acrntrace/README.html">acrntrace</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrntrace/README.html#description">Description</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrntrace/README.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/tools/acrntrace/README.html#build-and-install">Build and Install</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../misc/acrn-manager/README.html">acrnctl and acrnd</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../misc/acrn-manager/README.html#description">Description</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/acrn-manager/README.html#acrnd">acrnd</a></li>
<li class="toctree-l4"><a class="reference internal" href="../misc/acrn-manager/README.html#build-and-install">Build and Install</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../develop.html#service-vm-tutorials">Service VM Tutorials</a><ul>
<li class="toctree-l3"><a class="reference internal" href="running_deb_as_serv_vm.html">Run Debian as the Service VM</a><ul>
<li class="toctree-l4"><a class="reference internal" href="running_deb_as_serv_vm.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="running_deb_as_serv_vm.html#validated-versions">Validated Versions</a></li>
<li class="toctree-l4"><a class="reference internal" href="running_deb_as_serv_vm.html#install-acrn-on-the-debian-vm">Install ACRN on the Debian VM</a></li>
<li class="toctree-l4"><a class="reference internal" href="running_deb_as_serv_vm.html#enable-the-network-sharing-to-give-network-access-to-user-vm">Enable the network sharing to give network access to User VM</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="using_yp.html">Using Yocto Project with ACRN</a><ul>
<li class="toctree-l4"><a class="reference internal" href="using_yp.html#the-meta-acrn-layer">The meta-acrn layer</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../develop.html#user-vm-tutorials">User VM Tutorials</a><ul>
<li class="toctree-l3"><a class="reference internal" href="using_windows_as_uos.html">Launch Windows as the Guest VM on ACRN</a><ul>
<li class="toctree-l4"><a class="reference internal" href="using_windows_as_uos.html#acrn-service-vm-setup">ACRN Service VM Setup</a></li>
<li class="toctree-l4"><a class="reference internal" href="using_windows_as_uos.html#setup-for-using-windows-as-the-guest-vm">Setup for Using Windows as the Guest VM</a></li>
<li class="toctree-l4"><a class="reference internal" href="using_windows_as_uos.html#acrn-windows-verified-feature-list">ACRN Windows verified feature list</a></li>
<li class="toctree-l4"><a class="reference internal" href="using_windows_as_uos.html#known-limitations">Known limitations</a></li>
<li class="toctree-l4"><a class="reference internal" href="using_windows_as_uos.html#explanation-for-acrn-dm-popular-command-lines">Explanation for acrn-dm popular command lines</a></li>
<li class="toctree-l4"><a class="reference internal" href="using_windows_as_uos.html#secure-boot-enabling">Secure boot enabling</a></li>
<li class="toctree-l4"><a class="reference internal" href="using_windows_as_uos.html#activate-windows-10">Activate Windows 10</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="running_ubun_as_user_vm.html">Run Ubuntu as the User VM</a><ul>
<li class="toctree-l4"><a class="reference internal" href="running_ubun_as_user_vm.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="running_ubun_as_user_vm.html#build-the-ubuntu-kvm-image">Build the Ubuntu KVM Image</a></li>
<li class="toctree-l4"><a class="reference internal" href="running_ubun_as_user_vm.html#launch-the-ubuntu-image-as-the-user-vm">Launch the Ubuntu Image as the User VM</a></li>
<li class="toctree-l4"><a class="reference internal" href="running_ubun_as_user_vm.html#enable-the-ubuntu-console-instead-of-the-user-interface">Enable the Ubuntu Console instead of the User Interface</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="running_deb_as_user_vm.html">Run Debian as the User VM</a><ul>
<li class="toctree-l4"><a class="reference internal" href="running_deb_as_user_vm.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="running_deb_as_user_vm.html#build-the-debian-kvm-image">Build the Debian KVM Image</a></li>
<li class="toctree-l4"><a class="reference internal" href="running_deb_as_user_vm.html#launch-the-debian-image-as-the-user-vm">Launch the Debian Image as the User VM</a></li>
<li class="toctree-l4"><a class="reference internal" href="running_deb_as_user_vm.html#enable-the-ttys0-console-on-the-debian-vm">Enable the ttyS0 Console on the Debian VM</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="using_xenomai_as_uos.html">Run Xenomai as the User VM OS (Real-time VM)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="using_xenomai_as_uos.html#build-the-xenomai-kernel">Build the Xenomai kernel</a></li>
<li class="toctree-l4"><a class="reference internal" href="using_xenomai_as_uos.html#launch-the-rtvm">Launch the RTVM</a></li>
<li class="toctree-l4"><a class="reference internal" href="using_xenomai_as_uos.html#install-the-xenomai-libraries-and-tools">Install the Xenomai libraries and tools</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="using_vxworks_as_uos.html">Run VxWorks as the User VM</a><ul>
<li class="toctree-l4"><a class="reference internal" href="using_vxworks_as_uos.html#steps-for-using-vxworks-as-user-vm">Steps for Using VxWorks as User VM</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="using_zephyr_as_uos.html">Run Zephyr as the User VM</a><ul>
<li class="toctree-l4"><a class="reference internal" href="using_zephyr_as_uos.html#introduction-to-zephyr">Introduction to Zephyr</a></li>
<li class="toctree-l4"><a class="reference internal" href="using_zephyr_as_uos.html#steps-for-using-zephyr-as-user-vm">Steps for Using Zephyr as User VM</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2 current"><a class="reference internal" href="../develop.html#enable-acrn-features">Enable ACRN Features</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="sgx_virtualization.html">Enable SGX Virtualization</a><ul>
<li class="toctree-l4"><a class="reference internal" href="sgx_virtualization.html#high-level-acrn-sgx-virtualization-design">High Level ACRN SGX Virtualization Design</a></li>
<li class="toctree-l4"><a class="reference internal" href="sgx_virtualization.html#enable-sgx-support-for-guest">Enable SGX support for Guest</a></li>
<li class="toctree-l4"><a class="reference internal" href="sgx_virtualization.html#sgx-capability-exposure">SGX Capability Exposure</a></li>
<li class="toctree-l4"><a class="reference internal" href="sgx_virtualization.html#enclave-system-function-handling">Enclave System Function Handling</a></li>
<li class="toctree-l4"><a class="reference internal" href="sgx_virtualization.html#other-vmexit-control">Other VMExit Control</a></li>
<li class="toctree-l4"><a class="reference internal" href="sgx_virtualization.html#future-development">Future Development</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="vuart_configuration.html">Enable vUART Configurations</a><ul>
<li class="toctree-l4"><a class="reference internal" href="vuart_configuration.html#introduction">Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="vuart_configuration.html#console-enable-list">Console enable list</a></li>
<li class="toctree-l4"><a class="reference internal" href="vuart_configuration.html#how-to-configure-a-console-port">How to configure a console port</a></li>
<li class="toctree-l4"><a class="reference internal" href="vuart_configuration.html#how-to-configure-a-communication-port">How to configure a communication port</a></li>
<li class="toctree-l4"><a class="reference internal" href="vuart_configuration.html#communication-vuart-enable-list">Communication vUART enable list</a></li>
<li class="toctree-l4"><a class="reference internal" href="vuart_configuration.html#launch-script">Launch script</a></li>
<li class="toctree-l4"><a class="reference internal" href="vuart_configuration.html#test-the-communication-port">Test the communication port</a></li>
<li class="toctree-l4"><a class="reference internal" href="vuart_configuration.html#vuart-design">vUART design</a></li>
<li class="toctree-l4"><a class="reference internal" href="vuart_configuration.html#com-port-configurations-for-post-launched-vms">COM port configurations for Post-Launched VMs</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="vuart_configuration.html#use-pci-vuart">Use PCI-vUART</a><ul>
<li class="toctree-l4"><a class="reference internal" href="vuart_configuration.html#pci-interface-of-acrn-vuart">PCI Interface of ACRN vUART</a></li>
<li class="toctree-l4"><a class="reference internal" href="vuart_configuration.html#index-of-vuart">Index of vUART</a></li>
<li class="toctree-l4"><a class="reference internal" href="vuart_configuration.html#setup-acrn-vuart-using-configuration-tools">Setup ACRN vUART Using Configuration Tools</a></li>
<li class="toctree-l4"><a class="reference internal" href="vuart_configuration.html#kernel-config-for-legacy-vuart">Kernel Config for Legacy vUART</a></li>
<li class="toctree-l4"><a class="reference internal" href="vuart_configuration.html#kernel-cmdline-for-pci-vuart-console">Kernel Cmdline for PCI-vUART console</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="rdt_configuration.html">Enable RDT Configuration</a><ul>
<li class="toctree-l4"><a class="reference internal" href="rdt_configuration.html#rdt-detection-and-resource-capabilities">RDT detection and resource capabilities</a></li>
<li class="toctree-l4"><a class="reference internal" href="rdt_configuration.html#tuning-rdt-resources-in-hv-debug-shell">Tuning RDT resources in HV debug shell</a></li>
<li class="toctree-l4"><a class="reference internal" href="rdt_configuration.html#configure-rdt-for-vm-using-vm-configuration">Configure RDT for VM using VM Configuration</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="waag-secure-boot.html">Enable Secure Boot in Windows</a><ul>
<li class="toctree-l4"><a class="reference internal" href="waag-secure-boot.html#generate-platform-key-pk">Generate Platform Key (PK)</a></li>
<li class="toctree-l4"><a class="reference internal" href="waag-secure-boot.html#download-kek-and-db-from-microsoft">Download KEK and DB from Microsoft</a></li>
<li class="toctree-l4"><a class="reference internal" href="waag-secure-boot.html#compile-ovmf-with-secure-boot-support">Compile OVMF with secure boot support</a></li>
<li class="toctree-l4"><a class="reference internal" href="waag-secure-boot.html#use-qemu-to-inject-secure-boot-keys-into-ovmf">Use QEMU to inject secure boot keys into OVMF</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="enable_s5.html">Enable S5 in ACRN</a><ul>
<li class="toctree-l4"><a class="reference internal" href="enable_s5.html#introduction">Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="enable_s5.html#s5-architecture">S5 Architecture</a></li>
<li class="toctree-l4"><a class="reference internal" href="enable_s5.html#id2">Enable S5</a></li>
<li class="toctree-l4"><a class="reference internal" href="enable_s5.html#how-to-test">How to test</a></li>
<li class="toctree-l4"><a class="reference internal" href="enable_s5.html#system-shutdown">System Shutdown</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="cpu_sharing.html">Enable CPU Sharing in ACRN</a><ul>
<li class="toctree-l4"><a class="reference internal" href="cpu_sharing.html#introduction">Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="cpu_sharing.html#scheduling-framework">Scheduling Framework</a></li>
<li class="toctree-l4"><a class="reference internal" href="cpu_sharing.html#cpu-affinity">CPU affinity</a></li>
<li class="toctree-l4"><a class="reference internal" href="cpu_sharing.html#thread-object-state">Thread object state</a></li>
<li class="toctree-l4"><a class="reference internal" href="cpu_sharing.html#scheduler">Scheduler</a></li>
<li class="toctree-l4"><a class="reference internal" href="cpu_sharing.html#example">Example</a></li>
</ul>
</li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">Enable SR-IOV Virtualization</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#sr-iov-architectural-overview">SR-IOV Architectural Overview</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="gpu-passthru.html">Enable GVT-d in ACRN</a><ul>
<li class="toctree-l4"><a class="reference internal" href="gpu-passthru.html#introduction">Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="gpu-passthru.html#verified-version">Verified version</a></li>
<li class="toctree-l4"><a class="reference internal" href="gpu-passthru.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="gpu-passthru.html#supported-hardware-platform">Supported hardware platform</a></li>
<li class="toctree-l4"><a class="reference internal" href="gpu-passthru.html#bios-settings">BIOS settings</a></li>
<li class="toctree-l4"><a class="reference internal" href="gpu-passthru.html#passthrough-the-gpu-to-guest">Passthrough the GPU to Guest</a></li>
<li class="toctree-l4"><a class="reference internal" href="gpu-passthru.html#enable-the-gvt-d-gop-driver">Enable the GVT-d GOP driver</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="run_kata_containers.html">Run Kata Containers on a Service VM</a><ul>
<li class="toctree-l4"><a class="reference internal" href="run_kata_containers.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="run_kata_containers.html#install-docker">Install Docker</a></li>
<li class="toctree-l4"><a class="reference internal" href="run_kata_containers.html#install-kata-containers">Install Kata Containers</a></li>
<li class="toctree-l4"><a class="reference internal" href="run_kata_containers.html#run-a-kata-container-with-acrn">Run a Kata Container with ACRN</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="trustyACRN.html">Trusty and Security Services Reference</a><ul>
<li class="toctree-l4"><a class="reference internal" href="trustyACRN.html#trusty-architecture">Trusty Architecture</a></li>
<li class="toctree-l4"><a class="reference internal" href="trustyACRN.html#trusty-services">Trusty Services</a></li>
<li class="toctree-l4"><a class="reference internal" href="trustyACRN.html#trusty-in-acrn">Trusty in ACRN</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="rtvm_workload_design_guideline.html">Real-time VM Application Design Guidelines</a><ul>
<li class="toctree-l4"><a class="reference internal" href="rtvm_workload_design_guideline.html#run-rtvm-with-dedicated-resources-devices">Run RTVM with dedicated resources/devices</a></li>
<li class="toctree-l4"><a class="reference internal" href="rtvm_workload_design_guideline.html#rtvm-with-virtio-pmd-polling-mode-driver-for-i-o-sharing">RTVM with virtio PMD (Polling Mode Driver) for I/O sharing</a></li>
<li class="toctree-l4"><a class="reference internal" href="rtvm_workload_design_guideline.html#rtvm-with-hv-emulated-device">RTVM with HV Emulated Device</a></li>
<li class="toctree-l4"><a class="reference internal" href="rtvm_workload_design_guideline.html#dm-emulated-device-except-pmd">DM emulated device (Except PMD)</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="setup_openstack_libvirt.html">Configure ACRN using OpenStack and libvirt</a><ul>
<li class="toctree-l4"><a class="reference internal" href="setup_openstack_libvirt.html#introduction">Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="setup_openstack_libvirt.html#install-acrn">Install ACRN</a></li>
<li class="toctree-l4"><a class="reference internal" href="setup_openstack_libvirt.html#set-up-and-launch-lxc-lxd">Set up and launch LXC/LXD</a></li>
<li class="toctree-l4"><a class="reference internal" href="setup_openstack_libvirt.html#set-up-acrn-prerequisites-inside-the-container">Set up ACRN prerequisites inside the container</a></li>
<li class="toctree-l4"><a class="reference internal" href="setup_openstack_libvirt.html#set-up-libvirt">Set up libvirt</a></li>
<li class="toctree-l4"><a class="reference internal" href="setup_openstack_libvirt.html#set-up-openstack">Set up OpenStack</a></li>
<li class="toctree-l4"><a class="reference internal" href="setup_openstack_libvirt.html#configure-and-create-openstack-instance">Configure and create OpenStack Instance</a></li>
<li class="toctree-l4"><a class="reference internal" href="setup_openstack_libvirt.html#final-steps">Final Steps</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="acrn_on_qemu.html">Enable ACRN over QEMU/KVM</a><ul>
<li class="toctree-l4"><a class="reference internal" href="acrn_on_qemu.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="acrn_on_qemu.html#prepare-service-vm-l1-guest">Prepare Service VM (L1 Guest)</a></li>
<li class="toctree-l4"><a class="reference internal" href="acrn_on_qemu.html#install-acrn-hypervisor">Install ACRN Hypervisor</a></li>
<li class="toctree-l4"><a class="reference internal" href="acrn_on_qemu.html#service-vm-networking-updates-for-user-vm">Service VM Networking updates for User VM</a></li>
<li class="toctree-l4"><a class="reference internal" href="acrn_on_qemu.html#bring-up-user-vm-l2-guest">Bring-up User VM (L2 Guest)</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="using_grub.html">Using GRUB to boot ACRN</a><ul>
<li class="toctree-l4"><a class="reference internal" href="using_grub.html#using-pre-installed-grub">Using pre-installed GRUB</a></li>
<li class="toctree-l4"><a class="reference internal" href="using_grub.html#installing-self-built-grub">Installing self-built GRUB</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="acrn-secure-boot-with-grub.html">Enable ACRN Secure Boot with GRUB</a><ul>
<li class="toctree-l4"><a class="reference internal" href="acrn-secure-boot-with-grub.html#acrn-secure-boot-sequence">ACRN Secure Boot Sequence</a></li>
<li class="toctree-l4"><a class="reference internal" href="acrn-secure-boot-with-grub.html#generate-gpg-key">Generate GPG Key</a></li>
<li class="toctree-l4"><a class="reference internal" href="acrn-secure-boot-with-grub.html#setup-standalone-grub-efi-binary">Setup Standalone GRUB EFI Binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="acrn-secure-boot-with-grub.html#prepare-grub-cfg">Prepare grub.cfg</a></li>
<li class="toctree-l4"><a class="reference internal" href="acrn-secure-boot-with-grub.html#sign-grub-cfg-and-acrn-binaries">Sign grub.cfg and ACRN Binaries</a></li>
<li class="toctree-l4"><a class="reference internal" href="acrn-secure-boot-with-grub.html#enable-uefi-secure-boot">Enable UEFI Secure Boot</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="pre-launched-rt.html">Pre-Launched Preempt-RT Linux Mode in ACRN</a><ul>
<li class="toctree-l4"><a class="reference internal" href="pre-launched-rt.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="pre-launched-rt.html#example-of-pre-launched-rt">Example of Pre-Launched RT</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="enable_ivshmem.html">Enable Inter-VM Communication Based on <code class="docutils literal notranslate"><span class="pre">ivshmem</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="enable_ivshmem.html#ivshmem-dm-land-usage">ivshmem dm-land usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="enable_ivshmem.html#ivshmem-hv-land-usage">ivshmem hv-land usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="enable_ivshmem.html#ivshmem-notification-mechanism">ivshmem notification mechanism</a></li>
<li class="toctree-l4"><a class="reference internal" href="enable_ivshmem.html#inter-vm-communication-examples">Inter-VM Communication Examples</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../develop.html#debug">Debug</a><ul>
<li class="toctree-l3"><a class="reference internal" href="using_serial_port.html">Using the Serial Port on KBL Intel NUC</a></li>
<li class="toctree-l3"><a class="reference internal" href="debug.html">ACRN Debugging Tools</a><ul>
<li class="toctree-l4"><a class="reference internal" href="debug.html#acrn-console-command">ACRN Console Command</a></li>
<li class="toctree-l4"><a class="reference internal" href="debug.html#an-example">An example</a></li>
<li class="toctree-l4"><a class="reference internal" href="debug.html#acrn-log">ACRN Log</a></li>
<li class="toctree-l4"><a class="reference internal" href="debug.html#acrn-trace">ACRN Trace</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="realtime_performance_tuning.html">ACRN Real-time (RT) Performance Analysis</a><ul>
<li class="toctree-l4"><a class="reference internal" href="realtime_performance_tuning.html#vmexit-analysis-for-acrn-rt-performance"><code class="docutils literal notranslate"><span class="pre">vmexit</span></code> analysis for ACRN RT performance</a></li>
<li class="toctree-l4"><a class="reference internal" href="realtime_performance_tuning.html#collecting-performance-monitoring-counters-data">Collecting Performance Monitoring Counters data</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="rtvm_performance_tips.html">ACRN Real-time VM Performance Tips</a><ul>
<li class="toctree-l4"><a class="reference internal" href="rtvm_performance_tips.html#background">Background</a></li>
<li class="toctree-l4"><a class="reference internal" href="rtvm_performance_tips.html#mandatory-options-for-an-rtvm">Mandatory options for an RTVM</a></li>
<li class="toctree-l4"><a class="reference internal" href="rtvm_performance_tips.html#avoid-vm-exit-latency">Avoid VM-exit latency</a></li>
<li class="toctree-l4"><a class="reference internal" href="rtvm_performance_tips.html#isolating-the-impact-of-neighbor-vms">Isolating the impact of neighbor VMs</a></li>
<li class="toctree-l4"><a class="reference internal" href="rtvm_performance_tips.html#miscellaneous">Miscellaneous</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../contribute.html">Developer Reference</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../contribute.html#design-guides">Design Guides</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../developer-guides/modularity.html">ACRN Hypervisor: Modular Design</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/modularity.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/modularity.html#principles">Principles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/modularity.html#architecture">Architecture</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/modularity.html#references">References</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../developer-guides/hld/index.html">High-Level Design Guides</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/hld/hld-overview.html">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/hld/hld-hypervisor.html">Hypervisor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/hld/hld-devicemodel.html">Device Model</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/hld/hld-emulated-devices.html">Emulated Devices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/hld/hld-virtio-devices.html">Virtio Devices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/hld/hld-power-management.html">Power Management</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/hld/hld-trace-log.html">Tracing and Logging</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/hld/hld-vsbl.html">Virtual Bootloader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/hld/hld-security.html">Security</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../developer-guides/sw_design_guidelines.html">Software Design Guidelines</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/sw_design_guidelines.html#error-detection-and-error-handling">Error Detection and Error Handling</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/sw_design_guidelines.html#module-level-configuration-design-guidelines">Module Level Configuration Design Guidelines</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/sw_design_guidelines.html#references">References</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../developer-guides/GVT-g-porting.html">GVT-g Enabling and Porting Guide</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/GVT-g-porting.html#introduction">Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/GVT-g-porting.html#purpose-of-this-document">Purpose of this document</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/GVT-g-porting.html#overall-components">Overall Components</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/GVT-g-porting.html#core-scenario-interaction-sequences">Core scenario interaction sequences</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/GVT-g-porting.html#api-details">API details</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../developer-guides/trusty.html">Trusty TEE</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/trusty.html#introduction">Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/trusty.html#trusty-architecture">Trusty Architecture</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/trusty.html#trusty-specific-hypercalls">Trusty specific Hypercalls</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/trusty.html#trusty-boot-flow">Trusty Boot flow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/trusty.html#ept-hierarchy">EPT Hierarchy</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../developer-guides/l1tf.html">L1 Terminal Fault Mitigation</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/l1tf.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/l1tf.html#l1tf-problem-in-acrn">L1TF Problem in ACRN</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/l1tf.html#l1tf-mitigation-in-acrn">L1TF Mitigation in ACRN</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/l1tf.html#mitigation-recommendations">Mitigation Recommendations</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/l1tf.html#mitigation-status">Mitigation Status</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../developer-guides/VBSK-analysis.html">VBS-K Framework Virtualization Overhead Analysis</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/VBSK-analysis.html#introduction">Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/VBSK-analysis.html#architecture-of-virtio-echo">Architecture of VIRTIO-ECHO</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/VBSK-analysis.html#virtualization-overhead-analysis">Virtualization Overhead Analysis</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/VBSK-analysis.html#conclusion">Conclusion</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../contribute.html#contribute-guides">Contribute Guides</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../developer-guides/contribute_guidelines.html">Contribution Guidelines</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/contribute_guidelines.html#licensing">Licensing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/contribute_guidelines.html#developer-certification-of-origin-dco">Developer Certification of Origin (DCO)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/contribute_guidelines.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/contribute_guidelines.html#repository-layout">Repository layout</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/contribute_guidelines.html#submitting-issues">Submitting Issues</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/contribute_guidelines.html#contribution-tools-and-git-setup">Contribution Tools and Git Setup</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/contribute_guidelines.html#coding-style">Coding Style</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/contribute_guidelines.html#contribution-workflow">Contribution Workflow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/contribute_guidelines.html#commit-guidelines">Commit Guidelines</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../developer-guides/coding_guidelines.html">Coding Guidelines</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/c_coding_guidelines.html">C Programming Language Coding Guidelines</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/asm_coding_guidelines.html">Assembly Language Coding Guidelines</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../developer-guides/doc_guidelines.html">Documentation Guidelines</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#headings">Headings</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#content-highlighting">Content Highlighting</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#lists">Lists</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#multi-column-lists">Multi-column lists</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#tables">Tables</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#file-names-and-commands">File names and Commands</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#internal-cross-reference-linking">Internal Cross-Reference Linking</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#non-ascii-characters">Non-ASCII Characters</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#code-and-command-examples">Code and Command Examples</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#images">Images</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#tabs-spaces-and-indenting">Tabs, spaces, and indenting</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#drawings">Drawings</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#alternative-tabbed-content">Alternative Tabbed Content</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#instruction-steps">Instruction Steps</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#first-instruction-step">First instruction step</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#second-instruction-step">Second instruction step</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/doc_guidelines.html#documentation-generation">Documentation Generation</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../developer-guides/graphviz.html">Drawings using graphviz</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/graphviz.html#simple-directed-graph">Simple directed graph</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/graphviz.html#adding-edge-labels">Adding edge labels</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/graphviz.html#tables">Tables</a></li>
<li class="toctree-l4"><a class="reference internal" href="../developer-guides/graphviz.html#finite-state-machine">Finite-State Machine</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="docbuild.html">ACRN documentation generation</a><ul>
<li class="toctree-l4"><a class="reference internal" href="docbuild.html#documentation-overview">Documentation overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="docbuild.html#set-up-the-documentation-working-folders">Set up the documentation working folders</a></li>
<li class="toctree-l4"><a class="reference internal" href="docbuild.html#installing-the-documentation-tools">Installing the documentation tools</a></li>
<li class="toctree-l4"><a class="reference internal" href="docbuild.html#documentation-presentation-theme">Documentation presentation theme</a></li>
<li class="toctree-l4"><a class="reference internal" href="docbuild.html#running-the-documentation-processors">Running the documentation processors</a></li>
<li class="toctree-l4"><a class="reference internal" href="docbuild.html#publishing-content">Publishing content</a></li>
<li class="toctree-l4"><a class="reference internal" href="docbuild.html#document-versioning">Document Versioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="docbuild.html#filtering-expected-warnings">Filtering expected warnings</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../contribute.html#api-documentation">API Documentation</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../api/index.html">API Documentation</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../api/hypercall_api.html">Hypercall APIs</a></li>
<li class="toctree-l4"><a class="reference internal" href="../api/devicemodel_api.html">Device Model APIs</a></li>
<li class="toctree-l4"><a class="reference internal" href="../api/GVT-g_api.html">ACRN GVT-g APIs</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../release_notes/index.html">Release Notes</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_2.3.html">ACRN v2.3 (Dec 2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_2.3.html#what-s-new-in-v2-3">Whats New in v2.3</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_2.3.html#document-updates">Document updates</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_2.3.html#fixed-issues-details">Fixed Issues Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_2.3.html#known-issues">Known Issues</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_2.2.html">ACRN v2.2 (Sep 2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_2.2.html#what-s-new-in-v2-2">Whats New in v2.2</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_2.2.html#document-updates">Document updates</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_2.2.html#fixed-issues-details">Fixed Issues Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_2.2.html#known-issues">Known Issues</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_2.1.html">ACRN v2.1 (Aug 2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_2.1.html#what-s-new-in-v2-1">Whats new in v2.1</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_2.1.html#fixed-issues-details">Fixed Issues Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_2.1.html#known-issues">Known Issues</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_2.0.html">ACRN v2.0 (Jun 2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_2.0.html#version-2-0-key-features-comparing-with-v1-0">Version 2.0 Key Features (comparing with v1.0)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_2.0.html#acrn-architecture-upgrade-to-support-hybrid-mode">ACRN Architecture Upgrade to Support Hybrid Mode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_2.0.html#new-hardware-platform-support">New Hardware Platform Support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_2.0.html#pre-launched-safety-vm-support">Pre-launched Safety VM Support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_2.0.html#post-launched-vm-support-via-ovmf">Post-launched VM support via OVMF</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_2.0.html#post-launched-real-time-vm-support">Post-launched real-time VM Support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_2.0.html#real-time-vm-performance-optimizations">Real-time VM Performance Optimizations</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_2.0.html#cpu-sharing-support">CPU Sharing Support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_2.0.html#large-selection-of-oss-for-user-vms">Large selection of OSs for User VMs</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_2.0.html#grub-bootloader">GRUB bootloader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_2.0.html#sr-iov-support">SR-IOV Support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_2.0.html#graphics-passthrough-support">Graphics passthrough support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_2.0.html#shared-memory-based-inter-vm-communication">Shared memory based Inter-VM communication</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_2.0.html#configuration-tool-support">Configuration Tool Support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_2.0.html#kata-containers-support">Kata Containers Support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_2.0.html#vm-orchestration">VM orchestration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_2.0.html#document-updates">Document updates</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_2.0.html#fixed-issues-details">Fixed Issues Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_2.0.html#known-issues">Known Issues</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_1.6.1.html">ACRN v1.6.1 (May 2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.6.1.html#version-1-6-1-major-features">Version 1.6.1 major features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.6.1.html#what-s-new-in-v1-6-1">Whats New in v1.6.1</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.6.1.html#document-updates">Document updates</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.6.1.html#fixed-issues-details">Fixed Issues Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.6.1.html#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.6.1.html#change-log">Change Log</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_1.6.html">ACRN v1.6 (Mar 2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.6.html#version-1-6-major-features">Version 1.6 major features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.6.html#what-s-new-in-v1-6">Whats New in v1.6</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.6.html#document-updates">Document updates</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.6.html#new-features-details">New Features Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.6.html#fixed-issues-details">Fixed Issues Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.6.html#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.6.html#change-log">Change Log</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_1.5.html">ACRN v1.5 (Jan 2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.5.html#version-1-5-major-features">Version 1.5 major features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.5.html#what-s-new-in-v1-5">Whats New in v1.5</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.5.html#document-updates">Document updates</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.5.html#fixed-issues-details">Fixed Issues Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.5.html#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.5.html#change-log">Change Log</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_1.4.html">ACRN v1.4 (Oct 2019)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.4.html#version-1-4-major-features">Version 1.4 major features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.4.html#what-s-new-in-v1-4">Whats New in v1.4</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.4.html#document-updates">Document updates</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.4.html#security-vulnerabilities">Security Vulnerabilities</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.4.html#new-features-details">New Features Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.4.html#fixed-issues-details">Fixed Issues Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.4.html#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.4.html#change-log">Change Log</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_1.3.html">ACRN v1.3 (Sep 2019)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.3.html#version-1-3-major-features">Version 1.3 major features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.3.html#what-s-new-in-v1-3">Whats New in v1.3</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.3.html#document-updates">Document updates</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.3.html#new-features-details">New Features Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.3.html#fixed-issues-details">Fixed Issues Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.3.html#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.3.html#change-log">Change Log</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_1.2.html">ACRN v1.2 (Aug 2019)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.2.html#version-1-2-major-features">Version 1.2 major features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.2.html#what-s-new-in-v1-2">Whats New in v1.2</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.2.html#document-updates">Document updates</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.2.html#new-features-details">New Features Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.2.html#fixed-issues-details">Fixed Issues Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.2.html#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.2.html#change-log">Change Log</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_1.1.html">ACRN v1.1 (Jun 2019)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.1.html#version-1-1-major-features">Version 1.1 major features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.1.html#hybrid-mode-introduced">Hybrid Mode Introduced</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.1.html#support-for-new-guest-operating-systems">Support for new guest Operating Systems</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.1.html#document-updates">Document updates</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.1.html#new-features-details">New Features Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.1.html#fixed-issues-details">Fixed Issues Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.1.html#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.1.html#change-log">Change Log</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_1.0.2.html">ACRN v1.0.2 (Nov 2019)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.0.2.html#change-log-in-v1-0-2-since-v1-0-1">Change Log in v1.0.2 since v1.0.1</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_1.0.1.html">ACRN v1.0.1 (July 2019)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.0.1.html#change-log-in-version-1-0-1-since-version-1-0">Change Log in version 1.0.1 since version 1.0</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_1.0.html">ACRN v1.0 (May 2019)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.0.html#version-1-0-major-features">Version 1.0 major features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#hardware-support">Hardware Support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#apl-up2-board-with-sbl-firmware">APL UP2 board with SBL firmware</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#enable-post-launched-rtvm-support-for-real-time-uos-in-acrn">Enable post-launched RTVM support for real-time UOS in ACRN</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#enable-cache-qos-with-cat">Enable cache QOS with CAT</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#enable-qos-based-on-runc-container">Enable QoS based on runC container</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#s5-support-for-rtvm">S5 support for RTVM</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#ovmf-support-initial-patches-merged-in-acrn">OVMF support initial patches merged in ACRN</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#support-acpi-power-key-mediator">Support ACPI power key mediator</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#vt-x-vt-d">VT-x, VT-d</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#pic-ioapic-msi-msi-x-pci-lapic">PIC/IOAPIC/MSI/MSI-X/PCI/LAPIC</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#ethernet">Ethernet</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#mass-storage">Mass Storage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#usb-xdci">USB (xDCI)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#usb-mediator-xhci">USB Mediator (xHCI)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#wi-fi">Wi-Fi</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#ipu-mipi-csi-2-hdmi-in">IPU (MIPI CSI-2, HDMI-in)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#bluetooth">Bluetooth</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#gvt-g-for-acrn">GVT-g for ACRN</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#gpu-preemption">GPU - Preemption</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#gpu-display-surface-sharing-via-hyper-dma">GPU - display surface sharing via Hyper DMA</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#virtio-standard-is-supported">Virtio standard is supported</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#device-pass-through-support">Device pass-through support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#gpio-virtualization">GPIO virtualization</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#new-acrn-tools">New ACRN tools</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_1.0.html#document-updates">Document updates</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.0.html#new-features-details">New Features Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.0.html#fixed-issues-details">Fixed Issues Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.0.html#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_1.0.html#change-log">Change Log</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_0.8.html">ACRN v0.8 (Apr 2019)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.8.html#version-0-8-new-features">Version 0.8 new features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.8.html#gpio-virtualization">GPIO virtualization</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.8.html#enable-qos-based-on-runc-container">Enable QoS based on runC container</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.8.html#s5-support-for-rtvm">S5 support for RTVM</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.8.html#document-updates">Document updates</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.8.html#new-features-details">New Features Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.8.html#fixed-issues-details">Fixed Issues Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.8.html#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.8.html#change-log">Change Log</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_0.7.html">ACRN v0.7 (Mar 2019)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.7.html#version-0-7-new-features">Version 0.7 new features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.7.html#enable-cache-qos-with-cat">Enable cache QOS with CAT</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.7.html#support-acpi-power-key-mediator">Support ACPI power key mediator</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.7.html#document-updates">Document updates</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.7.html#new-features-details">New Features Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.7.html#fixed-issues-details">Fixed Issues Details</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.7.html#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.7.html#change-log">Change Log</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_0.6.html">ACRN v0.6 (Feb 2019)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.6.html#version-0-6-new-features">Version 0.6 new features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.6.html#fixed-issues">Fixed Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.6.html#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.6.html#change-log">Change Log</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_0.5.html">ACRN v0.5 (Jan 2019)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.5.html#version-0-5-new-features">Version 0.5 new features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.5.html#fixed-issues">Fixed Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.5.html#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.5.html#change-log">Change Log</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_0.4.html">ACRN v0.4 (Dec 2018)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.4.html#version-0-4-new-features">Version 0.4 new features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.4.html#fixed-issues">Fixed Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.4.html#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.4.html#change-log">Change Log</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_0.3.html">ACRN v0.3 (Nov 2018)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.3.html#version-0-3-new-features">Version 0.3 new features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.3.html#fixed-issues">Fixed Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.3.html#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.3.html#change-log">Change Log</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_0.2.html">ACRN v0.2 (Sep 2018)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.2.html#version-0-2-new-features">Version 0.2 new features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.2.html#vt-x-vt-d">VT-x, VT-d</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.2.html#pic-ioapic-msi-msi-x-pci-lapic">PIC/IOAPIC/MSI/MSI-X/PCI/LAPIC</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.2.html#ethernet">Ethernet</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.2.html#storage-emmc">Storage (eMMC)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.2.html#usb-xdci">USB (xDCI)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.2.html#usb-mediator-xhci-and-drd">USB Mediator (xHCI and DRD)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.2.html#csme">CSME</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.2.html#wifi">WiFi</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.2.html#ipu-mipi-cs2-hdmi-in">IPU (MIPI-CS2, HDMI-in)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.2.html#bluetooth">Bluetooth</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.2.html#gpu-preemption">GPU - Preemption</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.2.html#gpu-display-surface-sharing-via-hyper-dma">GPU - display surface sharing via Hyper DMA</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.2.html#s3">S3</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.2.html#fixed-issues">Fixed Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.2.html#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.2.html#change-log">Change Log</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_0.1.html">ACRN v0.1 (July 2018)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.1.html#version-0-1-new-features">Version 0.1 new features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.1.html#hardware-support">Hardware Support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.1.html#gvt-g-for-acrn">GVT-g for ACRN</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.1.html#virtio-standard-is-supported">Virtio standard is supported</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.1.html#device-pass-through-support">Device pass-through support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.1.html#hypervisor-configuration">Hypervisor configuration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_0.1.html#new-acrn-tools">New ACRN tools</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.1.html#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_0.1.html#change-log">Change Log</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../asa.html">Security Advisory</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../asa.html#addressed-in-acrn-v2-3">Addressed in ACRN v2.3</a></li>
<li class="toctree-l2"><a class="reference internal" href="../asa.html#addressed-in-acrn-v2-1">Addressed in ACRN v2.1</a></li>
<li class="toctree-l2"><a class="reference internal" href="../asa.html#addressed-in-acrn-v1-6-1">Addressed in ACRN v1.6.1</a></li>
<li class="toctree-l2"><a class="reference internal" href="../asa.html#addressed-in-acrn-v1-6">Addressed in ACRN v1.6</a></li>
<li class="toctree-l2"><a class="reference internal" href="../asa.html#addressed-in-acrn-v1-4">Addressed in ACRN v1.4</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../faq.html#what-hardware-does-acrn-support">What hardware does ACRN support?</a></li>
<li class="toctree-l2"><a class="reference internal" href="../faq.html#how-do-i-configure-acrn-s-memory-size">How do I configure ACRNs memory size?</a></li>
<li class="toctree-l2"><a class="reference internal" href="../faq.html#how-to-modify-the-default-display-output-for-a-user-vm">How to modify the default display output for a User VM?</a></li>
<li class="toctree-l2"><a class="reference internal" href="../faq.html#why-does-acrn-need-to-know-how-much-ram-the-system-has">Why does ACRN need to know how much RAM the system has?</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary of Terms</a></li>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">Project ACRN™</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<!-- 2.3 -->
<li><a href="../index.html">2.3</a> &raquo;</li>
<li><a href="../develop.html">Advanced Guides</a> &raquo;</li>
<li>Enable SR-IOV Virtualization</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="enable-sr-iov-virtualization">
<span id="sriov-virtualization"></span><h1>Enable SR-IOV Virtualization<a class="headerlink" href="#enable-sr-iov-virtualization" title="Permalink to this headline"></a></h1>
<p>SR-IOV (Single Root Input/Output Virtualization) can isolate PCIe devices
to improve performance that is similar to bare-metal levels. SR-IOV consists
of two basic units: PF (Physical Function), which supports SR-IOV PCIe
extended capability and manages entire physical devices; and VF (Virtual
Function), a “lightweight” PCIe function that is a passthrough device for
VMs.</p>
<p>For details, refer to Chapter 9 of PCI-SIGs
<a class="reference external" href="https://pcisig.com/pci-express-architecture-configuration-space-test-specification-revision-40-version-10">PCI Express Base Specification Revision 4.0, Version 1.0</a>.</p>
<div class="section" id="sr-iov-architectural-overview">
<h2>SR-IOV Architectural Overview<a class="headerlink" href="#sr-iov-architectural-overview" title="Permalink to this headline"></a></h2>
<div class="figure align-center" id="sr-iov-architecture-overview">
<img alt="../_images/sriov-image1.png" src="../_images/sriov-image1.png" />
<p class="caption"><span class="caption-number">Figure 61 </span><span class="caption-text">SR-IOV Architectural Overview</span></p>
</div>
<ul class="simple">
<li><strong>SI</strong> - A System Image known as a VM.</li>
<li><strong>VI</strong> - A Virtualization Intermediary known as a hypervisor.</li>
<li><strong>SR-PCIM</strong> - A Single Root PCI Manager; it is a software entity for
SR-IOV management.</li>
<li><strong>PF</strong> - A PCIe Function that supports the SR-IOV capability
and is accessible to an SR-PCIM, a VI, or an SI.</li>
<li><strong>VF</strong> - A “light-weight” PCIe Function that is directly accessible by an
SI.</li>
</ul>
<div class="section" id="sr-iov-extended-capability">
<h3>SR-IOV Extended Capability<a class="headerlink" href="#sr-iov-extended-capability" title="Permalink to this headline"></a></h3>
<p>The SR-IOV Extended Capability defined here is a PCIe extended
capability that must be implemented in each PF device that supports the
SR-IOV feature. This capability is used to describe and control a PFs
SR-IOV capabilities.</p>
<div class="figure align-center" id="id1">
<img alt="../_images/sriov-image2.png" src="../_images/sriov-image2.png" />
<p class="caption"><span class="caption-number">Figure 62 </span><span class="caption-text">SR-IOV Extended Capability</span></p>
</div>
<ul class="simple">
<li><strong>PCIe Extended Capability ID</strong> - 0010h.</li>
<li><strong>SR-IOV Capabilities</strong> - VF Migration-Capable and ARI-Capable.</li>
<li><strong>SR-IOV Control</strong> - Enable/Disable VFs; VF migration state query.</li>
<li><strong>SR-IOV Status</strong> - VF Migration Status.</li>
<li><strong>Initial VFs</strong> - Indicates to the SR-PCIM the number of VFs that are
initially associated with the PF.</li>
<li><strong>Total VFs</strong> - Indicates the maximum number of VFs that can be
associated with the PF.</li>
<li><strong>Num VFs</strong> - Controls the number of VFs that are visible. <em>Num VFs</em> &lt;=
<em>Initial VFs</em> = <em>Total VFs</em>.</li>
<li><strong>Function Link Dependency</strong> - The field used to describe
dependencies between PFs. VF dependencies are the same as the
dependencies of their associated PFs.</li>
<li><strong>First VF Offset</strong> - A constant that defines the Routing ID
offset of the first VF that is associated with the PF that contains
this Capability structure.</li>
<li><strong>VF Stride</strong> - Defines the Routing ID offset from one VF to the
next one for all VFs associated with the PF that contains this
Capability structure.</li>
<li><strong>VF Device ID</strong> - The field that contains the Device ID that should be
presented for every VF to the SI.</li>
<li><strong>Supported Page Sizes</strong> - The field that indicates the page sizes
supported by the PF.</li>
<li><strong>System Page Size</strong> - The field that defines the page size the system
will use to map the VFs memory addresses. Software must set the
value of the <em>System Page Size</em> to one of the page sizes set in the
<em>Supported Page Sizes</em> field.</li>
<li><strong>VF BARs</strong> - Fields that must define the VFs Base Address
Registers (BARs). These fields behave as normal PCI BARs.</li>
<li><strong>VF Migration State Array Offset</strong> - Register that contains a
PF BAR relative pointer to the VF Migration State Array.</li>
<li><strong>VF Migration State Array</strong> - Located using the VF Migration
State Array Offset register of the SR-IOV Capability block.</li>
</ul>
<p>For details, refer to the <em>PCI Express Base Specification Revision 4.0, Version 1.0 Chapter 9.3.3</em>.</p>
</div>
<div class="section" id="sr-iov-architecture-in-acrn">
<h3>SR-IOV Architecture in ACRN<a class="headerlink" href="#sr-iov-architecture-in-acrn" title="Permalink to this headline"></a></h3>
<div class="figure align-center" id="sr-iov-architecure-in-acrn">
<img alt="../_images/sriov-image3.png" src="../_images/sriov-image3.png" />
<p class="caption"><span class="caption-number">Figure 63 </span><span class="caption-text">SR-IOV Architectural in ACRN</span></p>
</div>
<ol class="arabic simple">
<li>A hypervisor detects an SR-IOV capable PCIe device in the physical PCI
device enumeration phase.</li>
<li>The hypervisor intercepts the PFs SR-IOV capability and accesses whether
to enable/disable VF devices based on the <code class="docutils literal notranslate"><span class="pre">VF_ENABLE</span></code> state. All
read/write requests for a PF device passthrough to the PF physical
device.</li>
<li>The hypervisor waits for 100ms after <code class="docutils literal notranslate"><span class="pre">VF_ENABLE</span></code> is set and initializes
VF devices. The differences between a normal passthrough device and
SR-IOV VF device are physical device detection, BARs, and MSI-X
initialization. The hypervisor uses <code class="docutils literal notranslate"><span class="pre">Subsystem</span> <span class="pre">Vendor</span> <span class="pre">ID</span></code> to detect the
SR-IOV VF physical device instead of <code class="docutils literal notranslate"><span class="pre">Vendor</span> <span class="pre">ID</span></code> since no valid
<code class="docutils literal notranslate"><span class="pre">Vendor</span> <span class="pre">ID</span></code> exists for the SR-IOV VF physical device. The VF BARs are
initialized by its associated PFs SR-IOV capabilities, not PCI
standard BAR registers. The MSI-X mapping base address is also from the
PFs SR-IOV capabilities, not PCI standard BAR registers.</li>
</ol>
</div>
<div class="section" id="sr-iov-passthrough-vf-architecture-in-acrn">
<h3>SR-IOV Passthrough VF Architecture In ACRN<a class="headerlink" href="#sr-iov-passthrough-vf-architecture-in-acrn" title="Permalink to this headline"></a></h3>
<div class="figure align-center" id="sr-iov-vf-passthrough">
<img alt="../_images/sriov-image4.png" src="../_images/sriov-image4.png" />
<p class="caption"><span class="caption-number">Figure 64 </span><span class="caption-text">SR-IOV VF Passthrough Architecture In ACRN</span></p>
</div>
<ol class="arabic simple">
<li>The SR-IOV VF device needs to bind the PCI-stud driver instead of the
vendor-specific VF driver before the device passthrough.</li>
<li>The user configures the <code class="docutils literal notranslate"><span class="pre">acrn-dm</span></code> boot parameter with the passthrough
SR-IOV VF device. When the User VM starts, <code class="docutils literal notranslate"><span class="pre">acrn-dm</span></code> invokes a
hypercall to set the <em>vdev-VF0</em> device in the User VM.</li>
<li>The hypervisor emulates <code class="docutils literal notranslate"><span class="pre">Device</span> <span class="pre">ID/Vendor</span> <span class="pre">ID</span></code> and <code class="docutils literal notranslate"><span class="pre">Memory</span> <span class="pre">Space</span> <span class="pre">Enable</span>
<span class="pre">(MSE)</span></code> in the configuration space for an assigned SR-IOV VF device. The
assigned VF <code class="docutils literal notranslate"><span class="pre">Device</span> <span class="pre">ID</span></code> comes from its associated PFs capability. The
<code class="docutils literal notranslate"><span class="pre">Vendor</span> <span class="pre">ID</span></code> is the same as the PFs <code class="docutils literal notranslate"><span class="pre">Vendor</span> <span class="pre">ID</span></code> and the <code class="docutils literal notranslate"><span class="pre">MSE</span></code> is always
set when reading the SR-IOV VF devices control register.</li>
<li>The vendor-specific VF driver in the target VM probes the assigned SR-IOV
VF device.</li>
</ol>
</div>
<div class="section" id="sr-iov-initialization-flow">
<h3>SR-IOV Initialization Flow<a class="headerlink" href="#sr-iov-initialization-flow" title="Permalink to this headline"></a></h3>
<div class="figure align-center" id="sr-iov-init-flow">
<img alt="../_images/sriov-image5.png" src="../_images/sriov-image5.png" />
<p class="caption"><span class="caption-number">Figure 65 </span><span class="caption-text">SR-IOV Initialization Flow</span></p>
</div>
<p>When an SR-IOV capable device is initialized, all access to the
configuration space will passthrough to the physical device directly.
The Service VM can identify all capabilities of the device from the SR-IOV
extended capability and then create a <em>sysfs</em> node for SR-IOV management.</p>
</div>
<div class="section" id="sr-iov-vf-enable-flow">
<h3>SR-IOV VF Enable Flow<a class="headerlink" href="#sr-iov-vf-enable-flow" title="Permalink to this headline"></a></h3>
<div class="figure align-center" id="sr-iov-enable-flow">
<a class="reference internal image-reference" href="../_images/sriov-image6.png"><img alt="../_images/sriov-image6.png" src="../_images/sriov-image6.png" style="width: 900px;" /></a>
<p class="caption"><span class="caption-number">Figure 66 </span><span class="caption-text">SR-IOV VF Enable Flow</span></p>
</div>
<p>The application enables <code class="docutils literal notranslate"><span class="pre">n</span></code> VF devices via an SR-IOV PF device <code class="docutils literal notranslate"><span class="pre">sysfs</span></code> node.
The hypervisor intercepts all SR-IOV capability access and checks the
<code class="docutils literal notranslate"><span class="pre">VF_ENABLE</span></code> state. If <code class="docutils literal notranslate"><span class="pre">VF_ENABLE</span></code> is set, the hypervisor creates n
virtual devices after 100ms so that VF physical devices have enough time to
be created. The Service VM waits 100ms and then only accesses the first VF
devices configuration space including Class Code, Reversion ID, Subsystem
Vendor ID, Subsystem ID. The Service VM uses the first VF device
information to initialize subsequent VF devices.</p>
</div>
<div class="section" id="sr-iov-vf-disable-flow">
<h3>SR-IOV VF Disable Flow<a class="headerlink" href="#sr-iov-vf-disable-flow" title="Permalink to this headline"></a></h3>
<div class="figure align-center" id="sr-iov-disable-flow">
<img alt="../_images/sriov-image7.png" src="../_images/sriov-image7.png" />
<p class="caption"><span class="caption-number">Figure 67 </span><span class="caption-text">SR-IOV VF Disable Flow</span></p>
</div>
<p>The application disables SR-IOV VF devices by writing zero to the SR-IOV PF
device <code class="docutils literal notranslate"><span class="pre">sysfs</span></code> node. The hypervisor intercepts all SR-IOV capability
accesses and checks the <code class="docutils literal notranslate"><span class="pre">VF_ENABLE</span></code> state. If <code class="docutils literal notranslate"><span class="pre">VF_ENABLE</span></code> is clear, the
hypervisor makes VF virtual devices invisible from the Service VM so that all
access to VF devices will return <code class="docutils literal notranslate"><span class="pre">0xFFFFFFFF</span></code> as an error. The VF physical
devices are removed within 1s of when <code class="docutils literal notranslate"><span class="pre">VF_ENABLE</span></code> is clear.</p>
</div>
<div class="section" id="sr-iov-vf-assignment-policy">
<h3>SR-IOV VF Assignment Policy<a class="headerlink" href="#sr-iov-vf-assignment-policy" title="Permalink to this headline"></a></h3>
<div class="figure align-center" id="sr-iov-vf-assignment">
<img alt="../_images/sriov-image8.png" src="../_images/sriov-image8.png" />
<p class="caption"><span class="caption-number">Figure 68 </span><span class="caption-text">SR-IOV VF Assignment</span></p>
</div>
<ol class="arabic simple">
<li>All SR-IOV PF devices are managed by the Service VM.</li>
<li>Currently, the SR-IOV PF cannot passthrough to the User VM.</li>
<li>All VFs can passthrough to the User VM, but we do not recommend
a passthrough to high privilege VMs because the PF device may impact
the assigned VFs functionality and stability.</li>
</ol>
</div>
<div class="section" id="sr-iov-usage-guide-in-acrn">
<h3>SR-IOV Usage Guide In ACRN<a class="headerlink" href="#sr-iov-usage-guide-in-acrn" title="Permalink to this headline"></a></h3>
<p>We use the Intel 82576 NIC as an example in the following instructions. We
only support LaaG (Linux as a Guest).</p>
<ol class="arabic">
<li><p class="first">Ensure that the 82576 VF driver is compiled into the User VM Kernel
(set <code class="docutils literal notranslate"><span class="pre">CONFIG_IGBVF=y</span></code> in the Kernel Config).</p>
</li>
<li><p class="first">When the Service VM boots, the <code class="docutils literal notranslate"><span class="pre">lspci</span> <span class="pre">-v</span></code> command indicates
that the Intel 82576 NIC devices have SR-IOV capability and their PF
drivers are <code class="docutils literal notranslate"><span class="pre">igb</span></code>.</p>
<div class="figure align-center" id="pf">
<img alt="../_images/sriov-image9.png" src="../_images/sriov-image9.png" />
<p class="caption"><span class="caption-number">Figure 69 </span><span class="caption-text">82576 SR-IOV PF devices</span></p>
</div>
</li>
<li><p class="first">Input the <code class="docutils literal notranslate"><span class="pre">echo</span> <span class="pre">n</span> <span class="pre">&gt;</span> <span class="pre">/sys/class/net/enp109s0f0/device/sriov\_numvfs</span></code>
command in the Service VM to enable n VF devices for the first PF
device (<em>enp109s0f0)</em>. The number <em>n</em> cant be more than <em>TotalVFs</em>
coming from the return value of command
<code class="docutils literal notranslate"><span class="pre">cat</span> <span class="pre">/sys/class/net/enp109s0f0/device/sriov\_totalvfs</span></code>. Here we
use <em>n = 2</em> as an example.</p>
<div class="figure align-center" id="vf">
<img alt="../_images/sriov-image10.png" src="../_images/sriov-image10.png" />
<p class="caption"><span class="caption-number">Figure 70 </span><span class="caption-text">82576 SR-IOV VF devices</span></p>
</div>
<div class="figure align-center" id="vf-nic">
<img alt="../_images/sriov-image11.png" src="../_images/sriov-image11.png" />
<p class="caption"><span class="caption-number">Figure 71 </span><span class="caption-text">82576 SR-IOV VF NIC</span></p>
</div>
</li>
<li><p class="first">Passthrough an SR-IOV VF device to guest.</p>
<ol class="loweralpha">
<li><p class="first">Unbind the igbvf driver in the Service VM.</p>
<ol class="lowerroman simple">
<li><code class="docutils literal notranslate"><span class="pre">modprobe</span> <span class="pre">pci\_stub</span></code></li>
<li><code class="docutils literal notranslate"><span class="pre">echo</span> <span class="pre">&quot;8086</span> <span class="pre">10ca&quot;</span> <span class="pre">&gt;</span> <span class="pre">/sys/bus/pci/drivers/pci-stub/new\_id</span></code></li>
<li><code class="docutils literal notranslate"><span class="pre">echo</span> <span class="pre">&quot;0000:6d:10.0&quot;</span> <span class="pre">&gt;</span> <span class="pre">/sys/bus/pci/devices/0000:6d:10.0/driver/unbind</span></code></li>
<li><code class="docutils literal notranslate"><span class="pre">echo</span> <span class="pre">&quot;0000:6d:10.0&quot;</span> <span class="pre">&gt;</span> <span class="pre">/sys/bus/pci/drivers/pci-stub/bind</span></code></li>
</ol>
</li>
<li><p class="first">Add the SR-IOV VF device parameter (<code class="docutils literal notranslate"><span class="pre">-s</span> <span class="pre">X,</span> <span class="pre">passthru,6d/10/0</span></code>) in
the launch User VM script</p>
<div class="figure align-center" id="nic-passthru">
<img alt="../_images/sriov-image12.png" src="../_images/sriov-image12.png" />
<p class="caption"><span class="caption-number">Figure 72 </span><span class="caption-text">Configure 82576 NIC as a Passthrough Device</span></p>
</div>
</li>
<li><p class="first">Boot the User VM</p>
</li>
</ol>
</li>
</ol>
</div>
<div class="section" id="sr-iov-limitations-in-acrn">
<h3>SR-IOV Limitations In ACRN<a class="headerlink" href="#sr-iov-limitations-in-acrn" title="Permalink to this headline"></a></h3>
<ol class="arabic simple">
<li>The SR-IOV migration feature is not supported.</li>
<li>If an SR-IOV PF device is detected during the enumeration phase, but
not enough room exists for its total VF devices, the PF device will be
dropped. The platform uses the <code class="docutils literal notranslate"><span class="pre">MAX_PCI_DEV_NUM</span></code> ACRN configuration to
support the maximum number of PCI devices. Make sure <code class="docutils literal notranslate"><span class="pre">MAX_PCI_DEV_NUM</span></code> is
more than the number of all PCI devices, including the total SR-IOV VF
devices.</li>
</ol>
</div>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="gpu-passthru.html" class="btn btn-neutral float-right" title="Enable GVT-d in ACRN" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="cpu_sharing.html" class="btn btn-neutral float-left" title="Enable CPU Sharing in ACRN" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2020, Project ACRN
<span class="lastupdated">
Last updated on Dec 02, 2020.
</span>
</p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>