1070 lines
96 KiB
HTML
1070 lines
96 KiB
HTML
<!DOCTYPE html>
|
||
<html class="writer-html5" lang="en" >
|
||
<head>
|
||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>Trusty TEE — Project ACRN™ 3.2 documentation</title>
|
||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||
<link rel="stylesheet" href="../_static/graphviz.css" type="text/css" />
|
||
<link rel="stylesheet" href="../_static/acrn-custom.css" type="text/css" />
|
||
<link rel="stylesheet" href="../_static/tabs.css" type="text/css" />
|
||
<link rel="shortcut icon" href="../_static/ACRN-favicon-32x32.png"/>
|
||
<!--[if lt IE 9]>
|
||
<script src="../_static/js/html5shiv.min.js"></script>
|
||
<![endif]-->
|
||
|
||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||
<script src="../_static/jquery.js"></script>
|
||
<script src="../_static/underscore.js"></script>
|
||
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||
<script src="../_static/doctools.js"></script>
|
||
<script src="../_static/sphinx_highlight.js"></script>
|
||
<script src="../_static/acrn-custom.js"></script>
|
||
<script src="../_static/js/theme.js"></script>
|
||
<link rel="index" title="Index" href="../genindex.html" />
|
||
<link rel="search" title="Search" href="../search.html" />
|
||
<link rel="next" title="L1 Terminal Fault Mitigation" href="l1tf.html" />
|
||
<link rel="prev" title="Software Design Guidelines" href="sw_design_guidelines.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">
|
||
3.2
|
||
</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="Navigation menu">
|
||
|
||
<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: 3.2
|
||
<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="/3.1/">3.1</a></dd>
|
||
|
||
<dd><a href="/3.0/">3.0</a></dd>
|
||
|
||
<dd><a href="/2.7/">2.7</a></dd>
|
||
|
||
<dd><a href="/2.6/">2.6</a></dd>
|
||
|
||
<dd><a href="/2.5/">2.5</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.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#id1">Introduction</a></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#key-capabilities">Key Capabilities</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#community-support">Community Support</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#resources">Resources</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#background">Background</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#high-level-architecture">High-Level Architecture</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#static-configuration-based-on-scenarios">Static Configuration Based on Scenarios</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#scenario-types">Scenario Types</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#boot-sequence">Boot Sequence</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../introduction/index.html#learn-more">Learn More</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#selecting-hardware">Selecting Hardware</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../getting-started/overview_dev.html">Configuration and Development Overview</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/overview_dev.html#development-environment">Development Environment</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/overview_dev.html#general-process-for-building-an-acrn-hypervisor">General Process for Building an ACRN Hypervisor</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/overview_dev.html#icon-light-step-1-select-hardware-and-scenario"> Step 1: Select Hardware and Scenario</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../getting-started/overview_dev.html#select-your-hardware">Select Your Hardware</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../getting-started/overview_dev.html#select-your-scenario">Select Your Scenario</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/overview_dev.html#icon-host-step-2-prepare-the-development-computer"> Step 2: Prepare the Development Computer</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/overview_dev.html#icon-target-step-3-generate-a-board-configuration-file"> Step 3: Generate a Board Configuration File</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../getting-started/overview_dev.html#configure-bios-settings">Configure BIOS Settings</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../getting-started/overview_dev.html#use-the-board-inspector-to-generate-a-board-configuration-file">Use the Board Inspector to Generate a Board Configuration File</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/overview_dev.html#icon-host-step-4-generate-a-scenario-configuration-file-and-launch-scripts"> Step 4: Generate a Scenario Configuration File and Launch Scripts</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/overview_dev.html#icon-host-step-5-build-acrn"> Step 5: Build ACRN</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/overview_dev.html#icon-target-step-6-install-and-run-acrn"> Step 6: Install and Run ACRN</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/overview_dev.html#learn-more">Learn More</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../getting-started/getting-started.html">Getting Started Guide</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/getting-started.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/getting-started.html#prepare-the-development-computer">Prepare the Development Computer</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/getting-started.html#prepare-the-target-and-generate-a-board-configuration-file">Prepare the Target and Generate a Board Configuration File</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../getting-started/getting-started.html#set-up-the-target-hardware">Set Up the Target Hardware</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../getting-started/getting-started.html#install-os-on-the-target">Install OS on the Target</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../getting-started/getting-started.html#configure-target-bios-settings">Configure Target BIOS Settings</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../getting-started/getting-started.html#generate-a-board-configuration-file">Generate a Board Configuration File</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/getting-started.html#generate-a-scenario-configuration-file-and-launch-script">Generate a Scenario Configuration File and Launch Script</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/getting-started.html#build-acrn">Build ACRN</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/getting-started.html#install-acrn">Install ACRN</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/getting-started.html#run-acrn-and-the-service-vm">Run ACRN and the Service VM</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/getting-started.html#launch-the-user-vm">Launch the User VM</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/getting-started.html#next-steps">Next Steps</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../getting-started/sample-app.html">Sample Application User Guide</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/sample-app.html#prerequisites-environment-and-images">Prerequisites Environment and Images</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/sample-app.html#prepare-the-acrn-development-and-target-environment">Prepare the ACRN Development and Target Environment</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../getting-started/sample-app.html#preparing-the-target-system">Preparing the Target System</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/sample-app.html#make-the-sample-application">Make the Sample Application</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/sample-app.html#make-the-hmi-vm-image">Make the HMI_VM Image</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/sample-app.html#make-the-rt-vm-image">Make the RT_VM Image</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/sample-app.html#create-and-configure-the-acrn-scenario">Create and Configure the ACRN Scenario</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/sample-app.html#build-the-acrn-hypervisor-and-service-vm-images">Build the ACRN Hypervisor and Service VM Images</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/sample-app.html#copy-files-from-the-development-computer-to-your-target-system">Copy Files from the Development Computer to Your Target System</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/sample-app.html#install-and-run-acrn-on-the-target-system">Install and Run ACRN on the Target System</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../getting-started/sample-app.html#congratulations">Congratulations</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../develop.html">Advanced Guides</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../develop.html#advanced-scenario-tutorials">Advanced Scenario Tutorials</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/using_hybrid_mode_on_nuc.html">Getting Started Guide for ACRN Hybrid Mode</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_hybrid_mode_on_nuc.html#set-up-base-installation">Set-up base installation</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_hybrid_mode_on_nuc.html#prepare-the-zephyr-image">Prepare the Zephyr image</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_hybrid_mode_on_nuc.html#set-up-acrn-on-your-device">Set-up ACRN on your device</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_hybrid_mode_on_nuc.html#update-ubuntu-grub">Update Ubuntu GRUB</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_hybrid_mode_on_nuc.html#hybrid-scenario-startup-check">Hybrid Scenario Startup Check</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="../tutorials/user_vm_guide.html">User VM Guide</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/user_vm_guide.html#user-vm-os-choices">User VM OS Choices</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/user_vm_guide.html#configuration-overview">Configuration Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/user_vm_guide.html#user-vm-persistence">User VM Persistence</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/user_vm_guide.html#standard-vm-os-considerations">Standard VM OS Considerations</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/user_vm_guide.html#real-time-vm-os-considerations">Real-time VM OS Considerations</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/using_ubuntu_as_user_vm.html">Run Ubuntu as the User VM OS</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_ubuntu_as_user_vm.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_ubuntu_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="../tutorials/using_ubuntu_as_user_vm.html#launch-the-ubuntu-image-as-the-user-vm">Launch the Ubuntu Image as the User VM</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/using_windows_as_user_vm.html">Run Windows as the User VM OS</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_windows_as_user_vm.html#acrn-service-vm-setup">ACRN Service VM Setup</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_windows_as_user_vm.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="../tutorials/using_windows_as_user_vm.html#acrn-windows-verified-feature-list">ACRN Windows Verified Feature List</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_windows_as_user_vm.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="../tutorials/using_windows_as_user_vm.html#secure-boot-enabling">Secure Boot Enabling</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_windows_as_user_vm.html#activate-windows-10">Activate Windows 10</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/using_xenomai_as_user_vm.html">Run Xenomai as the User RTVM OS</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_xenomai_as_user_vm.html#build-the-xenomai-kernel">Build the Xenomai Kernel</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_xenomai_as_user_vm.html#launch-the-rtvm">Launch the RTVM</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_xenomai_as_user_vm.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="../tutorials/using_vxworks_as_user_vm.html">Run VxWorks as the User RTVM OS</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_vxworks_as_user_vm.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="../tutorials/using_zephyr_as_user_vm.html">Run Zephyr as the User RTVM OS</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_zephyr_as_user_vm.html#introduction-to-zephyr">Introduction to Zephyr</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_zephyr_as_user_vm.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"><a class="reference internal" href="../develop.html#configuration-tutorials">Configuration Tutorials</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/acrn_configuration_tool.html">Introduction to ACRN Configuration</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn_configuration_tool.html#types-of-configurations">Types of Configurations</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn_configuration_tool.html#using-acrn-configuration-toolset">Using ACRN Configuration Toolset</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/board_inspector_tool.html">Board Inspector Tool</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/board_inspector_tool.html#about-the-board-inspector-tool">About the Board Inspector Tool</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/board_inspector_tool.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/board_inspector_tool.html#generate-a-board-configuration-file">Generate a Board Configuration File</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/board_inspector_tool.html#command-line-options">Command-Line Options</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/acrn_configurator_tool.html">ACRN Configurator Tool</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn_configurator_tool.html#about-the-acrn-configurator-tool">About the ACRN Configurator Tool</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn_configurator_tool.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn_configurator_tool.html#scenario-error-checking">Scenario Error Checking</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn_configurator_tool.html#start-with-a-new-or-existing-configuration">Start with a New or Existing Configuration</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn_configurator_tool.html#navigate-the-configuration-screen">Navigate the Configuration Screen</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn_configurator_tool.html#import-a-board-configuration-file">Import a Board Configuration File</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn_configurator_tool.html#create-new-or-import-an-existing-scenario">Create New or Import an Existing Scenario</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn_configurator_tool.html#configure-settings-for-scenario-and-launch-scripts">Configure Settings for Scenario and Launch Scripts</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn_configurator_tool.html#build-acrn-configurator-from-source-code">Build ACRN Configurator from Source Code</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/upgrading_configuration.html">Upgrading ACRN Configurations to Recent Releases</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/upgrading_configuration.html#board-xml">Board XML</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/upgrading_configuration.html#scenario-xml">Scenario XML</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/upgrading_configuration.html#launch-xml">Launch XML</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../reference/config-options.html">Scenario Configuration Options</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../reference/config-options.html#common-option-value-types">Common Option Value Types</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../reference/config-options.html#hypervisor-options">Hypervisor Options</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../reference/config-options.html#inter-vm-virtual-uart-connection">Inter-VM virtual UART connection</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../reference/config-options.html#debug-options">Debug options</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../reference/config-options.html#memory-options">Memory options</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../reference/config-options.html#hypervisor-capacities">Hypervisor capacities</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../reference/config-options.html#cache-region">CACHE_REGION</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../reference/config-options.html#virtual-machine-options">Virtual Machine Options</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../reference/config-options.html#physical-cpu-affinity">Physical CPU affinity</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../reference/config-options.html#sgx-enclave-page-cache">SGX Enclave Page Cache</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../reference/config-options.html#os-configuration">OS Configuration</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../reference/config-options.html#mmio-resources">MMIO Resources</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../reference/config-options.html#virt-io-devices">Virt-IO devices</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../reference/hv-make-options.html">Hypervisor Makefile Options</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../reference/hv-make-options.html#build-options-and-targets">Build Options and Targets</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../reference/hv-make-options.html#makefile-targets-for-configuration">Makefile Targets for Configuration</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>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../user-guides/acrn-dm-parameters.html">Device Model Parameters and Launch Script</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../user-guides/acrn-dm-parameters.html#device-model-parameters">Device Model Parameters</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../user-guides/acrn-dm-parameters.html#emulated-pci-device-types">Emulated PCI Device Types</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../user-guides/acrn-dm-parameters.html#launch-script">Launch Script</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../misc/packaging/README.html">ACRN Installation via Debian Packages</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/tar_installation.html">ACRN Installation via Tar Files</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/tar_installation.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/tar_installation.html#build-the-tar-files">Build the Tar Files</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/tar_installation.html#install-and-run-acrn">Install and Run ACRN</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../develop.html#advanced-features">Advanced Features</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/vuart_configuration.html">Enable vUART Configurations</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/vuart_configuration.html#about-vuart">About vUART</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/vuart_configuration.html#dependencies-and-constraints">Dependencies and Constraints</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/vuart_configuration.html#configuration-overview">Configuration Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/vuart_configuration.html#example-configuration">Example Configuration</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/vuart_configuration.html#learn-more">Learn More</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/rdt_configuration.html">Enable Intel Resource Director Technology (RDT) Configurations</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/rdt_configuration.html#about-intel-resource-director-technology-rdt">About Intel Resource Director Technology (RDT)</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/rdt_configuration.html#dependencies-and-constraints">Dependencies and Constraints</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/rdt_configuration.html#configuration-overview">Configuration Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/rdt_configuration.html#learn-more">Learn More</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/waag-secure-boot.html">Enable Secure Boot in Windows</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/waag-secure-boot.html#generate-platform-key-pk">Generate Platform Key (PK)</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/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="../tutorials/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="../tutorials/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="../tutorials/enable_s5.html">Enable S5</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/enable_s5.html#about-system-s5-support">About System S5 Support</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/enable_s5.html#dependencies-and-constraints">Dependencies and Constraints</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/enable_s5.html#example-configuration">Example Configuration</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/cpu_sharing.html">Enable CPU Sharing</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/cpu_sharing.html#about-cpu-sharing">About CPU Sharing</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/cpu_sharing.html#dependencies-and-constraints">Dependencies and Constraints</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/cpu_sharing.html#configuration-overview">Configuration Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/cpu_sharing.html#example-configuration">Example Configuration</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/cpu_sharing.html#learn-more">Learn More</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/sriov_virtualization.html">Enable SR-IOV Virtualization</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/sriov_virtualization.html#sr-iov-architectural-overview">SR-IOV Architectural Overview</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/gpu-passthru.html">Enable GPU Passthrough (GVT-d)</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/gpu-passthru.html#about-gvt-d">About GVT-d</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/gpu-passthru.html#dependencies-and-constraints">Dependencies and Constraints</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/gpu-passthru.html#configuration-overview">Configuration Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/gpu-passthru.html#example-configuration">Example Configuration</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/gpu-passthru.html#troubleshooting">Troubleshooting</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/enable_multiple_displays.html">Enable User VMs with Multiple Displays</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/enable_multiple_displays.html#dependencies-and-constraints">Dependencies and Constraints</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/enable_multiple_displays.html#configuration-overview">Configuration Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/enable_multiple_displays.html#configuration-example">Configuration Example</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/run_kata_containers.html">Run Kata Containers on a Service VM</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/run_kata_containers.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/run_kata_containers.html#install-docker">Install Docker</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/run_kata_containers.html#install-kata-containers">Install Kata Containers</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/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="../tutorials/rtvm_workload_design_guideline.html">Real-Time VM Application Design Guidelines</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/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="../tutorials/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="../tutorials/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="../tutorials/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="../tutorials/acrn_on_qemu.html">Enable ACRN Over QEMU/KVM</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn_on_qemu.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/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="../tutorials/acrn_on_qemu.html#install-acrn-hypervisor">Install ACRN Hypervisor</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/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="../tutorials/using_grub.html">Using GRUB to Boot ACRN</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_grub.html#using-pre-installed-grub">Using Pre-Installed GRUB</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_grub.html#installing-self-built-grub">Installing Self-Built GRUB</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/acrn-secure-boot-with-grub.html">Enable ACRN Secure Boot With GRUB</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/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="../tutorials/acrn-secure-boot-with-grub.html#generate-gpg-key">Generate GPG Key</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/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="../tutorials/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="../tutorials/acrn-secure-boot-with-efi-stub.html">Enable ACRN Secure Boot With EFI-Stub</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn-secure-boot-with-efi-stub.html#introduction">Introduction</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn-secure-boot-with-efi-stub.html#verified-configurations">Verified Configurations</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn-secure-boot-with-efi-stub.html#building">Building</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn-secure-boot-with-efi-stub.html#installing-without-sb-for-testing">Installing (without SB for testing)</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/acrn-secure-boot-with-efi-stub.html#signing">Signing</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/enable_ivshmem.html">Enable Inter-VM Shared Memory Communication (IVSHMEM)</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/enable_ivshmem.html#about-inter-vm-shared-memory-communication-ivshmem">About Inter-VM Shared Memory Communication (IVSHMEM)</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/enable_ivshmem.html#dependencies-and-constraints">Dependencies and Constraints</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/enable_ivshmem.html#configuration-overview">Configuration Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/enable_ivshmem.html#learn-more">Learn More</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/inter-vm_communication.html">ACRN Inter-VM Communication</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/inter-vm_communication.html#inter-vm-vuart">Inter-VM vUART</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/inter-vm_communication.html#inter-vm-network-communication">Inter-VM network communication</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/inter-vm_communication.html#inter-vm-shared-memory-communication-ivshmem">Inter-VM shared memory communication (ivshmem)</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/inter-vm_communication.html#how-to-implement-an-ivshmem-application-on-acrn">How to implement an Ivshmem application on ACRN</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="../tutorials/using_serial_port.html">Enable Serial Port on NUC</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_serial_port.html#option-1-using-the-serial-port-on-tgl-intel-nuc">Option 1: Using the Serial Port on TGL Intel NUC</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/using_serial_port.html#option-2-enabling-pcie-serial-port-on-tgl-intel-nuc">Option 2: Enabling PCIe Serial Port on TGL Intel NUC</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/debug.html">ACRN Debugging Tools</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/debug.html#acrn-console-command">ACRN Console Command</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/debug.html#an-example">An Example</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/debug.html#acrn-log">ACRN Log</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/debug.html#acrn-trace">ACRN Trace</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/realtime_performance_tuning.html">ACRN Real-Time (RT) Performance Analysis</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/realtime_performance_tuning.html#vmexit-analysis-for-acrn-rt-performance">vmexit Analysis for ACRN RT Performance</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/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="../tutorials/rtvm_performance_tips.html">ACRN Real-Time VM Performance Tips</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/rtvm_performance_tips.html#background">Background</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/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="../tutorials/rtvm_performance_tips.html#avoid-vm-exit-latency">Avoid VM-exit Latency</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/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="../tutorials/rtvm_performance_tips.html#miscellaneous">Miscellaneous</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="../misc/debug_tools/acrn_crashlog/README.html">ACRN-Crashlog</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/README.html#introduction">Introduction</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/README.html#building">Building</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/README.html#installing">Installing</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/README.html#enabling-disabling">Enabling/Disabling</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/README.html#usage">Usage</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/README.html#source-code">Source Code</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/acrnprobe/README.html">Acrnprobe</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/acrnprobe/README.html#description">Description</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/acrnprobe/README.html#usage">Usage</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/acrnprobe/README.html#architecture">Architecture</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/acrnprobe/README.html#source-files">Source Files</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/acrnprobe/README.html#configuration-files">Configuration Files</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/acrnprobe/conf.html">Acrnprobe Configuration</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/acrnprobe/conf.html#description">Description</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/acrnprobe/conf.html#layout">Layout</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_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/debug_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/debug_tools/acrn_crashlog/acrnprobe/conf.html#sections">Sections</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/usercrash/README.html">Usercrash</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/usercrash/README.html#description">Description</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/usercrash/README.html#design">Design</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/usercrash/README.html#usage">Usage</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_crashlog/usercrash/README.html#source-code">Source Code</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../misc/debug_tools/acrn_log/README.html">Acrnlog</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_log/README.html#description">Description</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_log/README.html#usage">Usage</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_log/README.html#build-and-install">Build and Install</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../misc/debug_tools/acrn_trace/README.html">Acrntrace</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_trace/README.html#description">Description</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_trace/README.html#usage">Usage</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/debug_tools/acrn_trace/README.html#build-and-install">Build and Install</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../misc/services/acrn_manager/README.html">Acrnctl and Acrnd</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/services/acrn_manager/README.html#description">Description</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/services/acrn_manager/README.html#acrnd">Acrnd</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../misc/services/acrn_manager/README.html#build-and-install">Build and Install</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1 current"><a class="reference internal" href="../contribute.html">Developer Reference</a><ul class="current">
|
||
<li class="toctree-l2 current"><a class="reference internal" href="../contribute.html#design-guides">Design Guides</a><ul class="current">
|
||
<li class="toctree-l3"><a class="reference internal" href="modularity.html">ACRN Hypervisor: Modular Design</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="modularity.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="modularity.html#principles">Principles</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="modularity.html#architecture">Architecture</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="modularity.html#references">References</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="hld/index.html">High-Level Design Guides</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="hld/hld-overview.html">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="hld/hld-hypervisor.html">Hypervisor</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="hld/hld-devicemodel.html">Device Model</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="hld/hld-emulated-devices.html">Emulated Devices</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="hld/hld-virtio-devices.html">Virtio Devices</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="hld/hld-power-management.html">Power Management</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="hld/hld-trace-log.html">Tracing and Logging</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="hld/hld-security.html">Security</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="sw_design_guidelines.html">Software Design Guidelines</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="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="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="sw_design_guidelines.html#references">References</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3 current"><a class="current reference internal" href="#">Trusty TEE</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="#introduction">Introduction</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="#trusty-architecture">Trusty Architecture</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="#trusty-specific-hypercalls">Trusty Specific Hypercalls</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="#trusty-boot-flow">Trusty Boot Flow</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="#ept-hierarchy">EPT Hierarchy</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="l1tf.html">L1 Terminal Fault Mitigation</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="l1tf.html#overview">Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="l1tf.html#l1tf-problem-in-acrn">L1TF Problem in ACRN</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="l1tf.html#l1tf-mitigation-in-acrn">L1TF Mitigation in ACRN</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="l1tf.html#mitigation-recommendations">Mitigation Recommendations</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="l1tf.html#mitigation-status">Mitigation Status</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="contribute_guidelines.html">Contribution Guidelines</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="contribute_guidelines.html#technical-steering-committee-tsc">Technical Steering Committee (TSC)</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="contribute_guidelines.html#licensing">Licensing</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="contribute_guidelines.html#developer-certification-of-origin-dco">Developer Certification of Origin (DCO)</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="contribute_guidelines.html#prerequisites">Prerequisites</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="contribute_guidelines.html#repository-layout">Repository Layout</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="contribute_guidelines.html#submitting-issues">Submitting Issues</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="contribute_guidelines.html#contribution-tools-and-git-setup">Contribution Tools and Git Setup</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="contribute_guidelines.html#coding-style">Coding Style</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="contribute_guidelines.html#contribution-workflow">Contribution Workflow</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="contribute_guidelines.html#commit-guidelines">Commit Guidelines</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="coding_guidelines.html">Coding Guidelines</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="c_coding_guidelines.html">C Programming Language Coding Guidelines</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="asm_coding_guidelines.html">Assembly Language Coding Guidelines</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="doc_guidelines.html">Documentation Guidelines</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#headings">Headings</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#content-highlighting">Content Highlighting</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#lists">Lists</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#multi-column-lists">Multi-Column Lists</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#tables">Tables</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#file-names-and-commands">File Names and Commands</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#branch-specific-file-links">Branch-Specific File Links</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#internal-cross-reference-linking">Internal Cross-Reference Linking</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#non-ascii-characters">Non-ASCII Characters</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#code-and-command-examples">Code and Command Examples</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#images">Images</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#tabs-spaces-and-indenting">Tabs, Spaces, and Indenting</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#background-colors">Background Colors</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#drawings">Drawings</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#alternative-tabbed-content">Alternative Tabbed Content</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#instruction-steps">Instruction Steps</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#first-instruction-step">First Instruction Step</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#second-instruction-step">Second Instruction Step</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#configuration-option-documentation">Configuration Option Documentation</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="doc_guidelines.html#documentation-generation">Documentation Generation</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="graphviz.html">Drawings Using Graphviz</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="graphviz.html#simple-directed-graph">Simple Directed Graph</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="graphviz.html#adding-edge-labels">Adding Edge Labels</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="graphviz.html#tables">Tables</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="graphviz.html#finite-state-machine">Finite-State Machine</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/docbuild.html">ACRN Documentation Generation</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/docbuild.html#documentation-overview">Documentation Overview</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/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="../tutorials/docbuild.html#install-the-documentation-tools">Install the Documentation Tools</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/docbuild.html#documentation-presentation-theme">Documentation Presentation Theme</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/docbuild.html#run-the-documentation-processors">Run the Documentation Processors</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/docbuild.html#publish-content">Publish Content</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/docbuild.html#document-versioning">Document Versioning</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/docbuild.html#filter-expected-warnings">Filter 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>
|
||
</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_3.2.html">ACRN v3.2 (Aug 2023)</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.2.html#what-s-new-in-v3-2">What’s New in v3.2</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.2.html#upgrading-to-v3-2-from-previous-releases">Upgrading to v3.2 from Previous Releases</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_3.2.html#generate-new-board-xml">Generate New Board XML</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_3.2.html#update-configuration-options">Update Configuration Options</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.2.html#document-updates">Document Updates</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.2.html#fixed-issues-details">Fixed Issues Details</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.2.html#known-issues">Known Issues</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_3.1.html">ACRN v3.1 (Sep 2022)</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.1.html#what-s-new-in-v3-1">What’s New in v3.1</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.1.html#upgrading-to-v3-1-from-previous-releases">Upgrading to v3.1 from Previous Releases</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_3.1.html#generate-new-board-xml">Generate New Board XML</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_3.1.html#update-configuration-options">Update Configuration Options</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.1.html#document-updates">Document Updates</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.1.html#fixed-issues-details">Fixed Issues Details</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.1.html#known-issues">Known Issues</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_3.0.2.html">ACRN v3.0.2 (Nov 2022)</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.0.2.html#what-s-new-in-v3-0-2">What’s New in v3.0.2</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_3.0.1.html">ACRN v3.0.1 (Jul 2022)</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.0.1.html#what-s-new-in-v3-0-1">What’s New in v3.0.1</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../release_notes/release_notes_3.0.html">ACRN v3.0 (Jun 2022)</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.0.html#what-s-new-in-v3-0">What’s New in v3.0</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.0.html#upgrading-to-v3-0-from-previous-releases">Upgrading to v3.0 from Previous Releases</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_3.0.html#generate-new-board-xml">Generate New Board XML</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../release_notes/release_notes_3.0.html#update-configuration-options">Update Configuration Options</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.0.html#document-updates">Document Updates</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.0.html#fixed-issues-details">Fixed Issues Details</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../release_notes/release_notes_3.0.html#known-issues">Known Issues</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../release_notes/index.html#release-notes-archive">Release Notes Archive</a></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-v3-0-2">Addressed in ACRN v3.0.2</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../asa.html#addressed-in-acrn-v3-0-1">Addressed in ACRN v3.0.1</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../asa.html#addressed-in-acrn-v2-7">Addressed in ACRN v2.7</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../asa.html#addressed-in-acrn-v2-6">Addressed in ACRN v2.6</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../asa.html#addressed-in-acrn-v2-5">Addressed in ACRN v2.5</a></li>
|
||
<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="../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="Mobile navigation menu" >
|
||
<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="Page navigation">
|
||
<ul class="wy-breadcrumbs">
|
||
<!-- 3.2 -->
|
||
|
||
|
||
|
||
<li><a href="../index.html">3.2</a> »</li>
|
||
|
||
<li><a href="../contribute.html">Developer Reference</a> »</li>
|
||
|
||
<li>Trusty TEE</li>
|
||
|
||
<li class="wy-breadcrumbs-aside">
|
||
<a href="../_sources/developer-guides/trusty.rst.txt" rel="nofollow"> View page source</a>
|
||
</li>
|
||
</ul>
|
||
<hr/>
|
||
</div>
|
||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||
|
||
|
||
<div itemprop="articleBody">
|
||
|
||
<section id="trusty-tee">
|
||
<span id="id1"></span><h1>Trusty TEE<a class="headerlink" href="#trusty-tee" title="Permalink to this heading">¶</a></h1>
|
||
<section id="introduction">
|
||
<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this heading">¶</a></h2>
|
||
<p><a class="reference external" href="https://source.android.com/security/trusty/">Trusty</a> is a set of software components supporting a Trusted Execution
|
||
Environment (TEE). TEE is commonly known as an isolated processing environment
|
||
in which applications can be securely executed irrespective of the rest of the
|
||
system. For more information about TEE, visit the
|
||
<a class="reference external" href="https://en.wikipedia.org/wiki/Trusted_execution_environment">Trusted Execution Environment wiki page</a>.
|
||
Trusty consists of:</p>
|
||
<ol class="arabic simple">
|
||
<li><p>An operating system (the Trusty OS) that runs on a processor intended to
|
||
provide a TEE</p></li>
|
||
<li><p>Drivers for the Android kernel (Linux) to facilitate communication with
|
||
applications running under the Trusty OS</p></li>
|
||
<li><p>A set of libraries for Android/Linux systems software to facilitate
|
||
communication with trusted applications executed within the Trusty OS using
|
||
the kernel drivers</p></li>
|
||
</ol>
|
||
<p>LK (<a class="reference external" href="https://github.com/littlekernel/lk">Little Kernel</a>) is a tiny operating system for small embedded
|
||
devices, bootloaders, and other environments that need OS primitives such as
|
||
threads, mutexes, and timers. LK has been chosen as the Trusty OS kernel.</p>
|
||
</section>
|
||
<section id="trusty-architecture">
|
||
<h2>Trusty Architecture<a class="headerlink" href="#trusty-architecture" title="Permalink to this heading">¶</a></h2>
|
||
<figure class="align-center" id="trusty-architectural-diagram">
|
||
<a class="reference internal image-reference" href="../_images/trusty-arch.png"><img alt="../_images/trusty-arch.png" src="../_images/trusty-arch.png" style="width: 800px;" /></a>
|
||
<figcaption>
|
||
<p><span class="caption-number">Figure 231 </span><span class="caption-text">Trusty Architectural Diagram</span><a class="headerlink" href="#trusty-architectural-diagram" title="Permalink to this image">¶</a></p>
|
||
</figcaption>
|
||
</figure>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>The Trusty OS is running in the Secure World in the architecture drawing
|
||
above.</p>
|
||
</div>
|
||
</section>
|
||
<section id="trusty-specific-hypercalls">
|
||
<span id="trusty-hypercalls"></span><h2>Trusty Specific Hypercalls<a class="headerlink" href="#trusty-specific-hypercalls" title="Permalink to this heading">¶</a></h2>
|
||
<p>The following <a class="reference internal" href="../api/hypercall_api.html#hypercall-apis"><span class="std std-ref">Hypercall APIs</span></a> are related to Trusty.</p>
|
||
<dl class="c function">
|
||
<dt class="sig sig-object c" id="c.hcall_world_switch">
|
||
<span class="target" id="group__trusty__hypercall_1gab1890b8a5f6e10557d88632f8af24fce"></span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hcall_world_switch</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vcpu</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">vcpu</span></span>, <span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vm</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">target_vm</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n"><span class="pre">param1</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n"><span class="pre">param2</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hcall_world_switch" title="Permalink to this definition">¶</a><br /></dt>
|
||
<dd><p>Switch vCPU state between Normal/Secure World. </p>
|
||
<p><ul class="simple">
|
||
<li><p>The hypervisor uses this hypercall to do the world switch</p></li>
|
||
<li><p>The hypervisor needs to:<ul>
|
||
<li><p>save current world vCPU contexts, and load the next world vCPU contexts</p></li>
|
||
<li><p>update <code class="docutils literal notranslate"><span class="pre">rdi</span></code>, <code class="docutils literal notranslate"><span class="pre">rsi</span></code>, <code class="docutils literal notranslate"><span class="pre">rdx</span></code>, <code class="docutils literal notranslate"><span class="pre">rbx</span></code> to next world vCPU contexts</p></li>
|
||
</ul>
|
||
</p></li>
|
||
</ul>
|
||
</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>vcpu</strong> – Pointer to VCPU data structure </p></li>
|
||
<li><p><strong>target_vm</strong> – not used </p></li>
|
||
<li><p><strong>param1</strong> – not used </p></li>
|
||
<li><p><strong>param2</strong> – not used</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>0 on success, non-zero on error. </p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="c function">
|
||
<dt class="sig sig-object c" id="c.hcall_initialize_trusty">
|
||
<span class="target" id="group__trusty__hypercall_1ga233cab7a82199626442f4b6328159f2b"></span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hcall_initialize_trusty</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vcpu</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">vcpu</span></span>, <span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vm</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">target_vm</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n"><span class="pre">param1</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n"><span class="pre">param2</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hcall_initialize_trusty" title="Permalink to this definition">¶</a><br /></dt>
|
||
<dd><p>Initialize environment for Trusty-OS on a vCPU. </p>
|
||
<p><ul class="simple">
|
||
<li><p>It is used by the User VM OS bootloader (<code class="docutils literal notranslate"><span class="pre">User</span> <span class="pre">VM</span> <span class="pre">OS</span> <span class="pre">Loader</span></code>) to request ACRN to initialize Trusty</p></li>
|
||
<li><p>The Trusty memory region range, entry point must be specified</p></li>
|
||
<li><p>The hypervisor needs to save current vCPU contexts (Normal World)</p></li>
|
||
</ul>
|
||
</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>vcpu</strong> – Pointer to vCPU data structure </p></li>
|
||
<li><p><strong>target_vm</strong> – not used </p></li>
|
||
<li><p><strong>param1</strong> – guest physical address. This gpa points to <a class="reference internal" href="../api/hypercall_api.html#structtrusty__boot__param"><span class="std std-ref">trusty_boot_param</span></a> structure </p></li>
|
||
<li><p><strong>param2</strong> – not used</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>0 on success, non-zero on error. </p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="c function">
|
||
<dt class="sig sig-object c" id="c.hcall_save_restore_sworld_ctx">
|
||
<span class="target" id="group__trusty__hypercall_1ga857a770dc98c3d54fe944f4dd7b0e639"></span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hcall_save_restore_sworld_ctx</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vcpu</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">vcpu</span></span>, <span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vm</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">target_vm</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n"><span class="pre">param1</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n"><span class="pre">param2</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hcall_save_restore_sworld_ctx" title="Permalink to this definition">¶</a><br /></dt>
|
||
<dd><p>Save/Restore Context of Secure World. </p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>vcpu</strong> – Pointer to VCPU data structure </p></li>
|
||
<li><p><strong>target_vm</strong> – not used </p></li>
|
||
<li><p><strong>param1</strong> – not used </p></li>
|
||
<li><p><strong>param2</strong> – not used</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>0 on success, non-zero on error. </p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="c function">
|
||
<dt class="sig sig-object c" id="c.hcall_handle_tee_vcpu_boot_done">
|
||
<span class="target" id="group__trusty__hypercall_1gab75b91ce67fcf76d0f04421012a7ec0d"></span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hcall_handle_tee_vcpu_boot_done</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vcpu</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">vcpu</span></span>, <span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vm</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">target_vm</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n"><span class="pre">param1</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n"><span class="pre">param2</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hcall_handle_tee_vcpu_boot_done" title="Permalink to this definition">¶</a><br /></dt>
|
||
<dd><p>Handle the TEE boot done signal. </p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>vcpu</strong> – Pointer to VCPU data structure </p></li>
|
||
<li><p><strong>target_vm</strong> – not used </p></li>
|
||
<li><p><strong>param1</strong> – not used </p></li>
|
||
<li><p><strong>param2</strong> – not used</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>0 on success, non-zero on error. </p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="c function">
|
||
<dt class="sig sig-object c" id="c.hcall_switch_ee">
|
||
<span class="target" id="group__trusty__hypercall_1ga7d003896be93fbcda513b04b71db4b0d"></span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hcall_switch_ee</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vcpu</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">vcpu</span></span>, <span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vm</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">target_vm</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n"><span class="pre">param1</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n"><span class="pre">param2</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hcall_switch_ee" title="Permalink to this definition">¶</a><br /></dt>
|
||
<dd><p>Switch the execution environment. </p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>vcpu</strong> – Pointer to VCPU data structure </p></li>
|
||
<li><p><strong>target_vm</strong> – not used </p></li>
|
||
<li><p><strong>param1</strong> – not used </p></li>
|
||
<li><p><strong>param2</strong> – not used</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>0 on success, non-zero on error. </p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</section>
|
||
<section id="trusty-boot-flow">
|
||
<h2>Trusty Boot Flow<a class="headerlink" href="#trusty-boot-flow" title="Permalink to this heading">¶</a></h2>
|
||
<p>By design, the User VM OS bootloader will trigger the Trusty
|
||
boot process. The complete boot flow is illustrated below.</p>
|
||
<figure class="align-center" id="id2">
|
||
<div class="graphviz"><img src="../_images/graphviz-e475943a1b8c8088b456d8d7f22931f6cb5f658c.png" alt="digraph G {
|
||
rankdir=LR;
|
||
rank=same;
|
||
bgcolor="transparent";
|
||
uservml1 [label="User VM OS\nBootloader"]
|
||
acrn_init [shape=box style="rounded,filled" label="ACRN"]
|
||
acrn_switch [shape=box style="rounded,filled" label="ACRN"]
|
||
uservml2 [label="User VM OS\nBootloader"]
|
||
uservml1 -> acrn_init -> "Trusty" -> acrn_switch -> uservml2;
|
||
}" class="graphviz" /></div>
|
||
<figcaption>
|
||
<p><span class="caption-number">Figure 232 </span><span class="caption-text">Trusty Boot Flow</span><a class="headerlink" href="#id2" title="Permalink to this image">¶</a></p>
|
||
</figcaption>
|
||
</figure>
|
||
<p>As shown in the above figure, here are some details about the Trusty
|
||
boot flow processing:</p>
|
||
<ol class="arabic simple">
|
||
<li><p>User VM OS bootloader</p>
|
||
<ol class="loweralpha simple">
|
||
<li><p>Load and verify Trusty image from virtual disk</p></li>
|
||
<li><p>Allocate runtime memory for Trusty</p></li>
|
||
<li><p>Do ELF relocation of Trusty image and get entry address</p></li>
|
||
<li><p>Call <code class="docutils literal notranslate"><span class="pre">hcall_initialize_trusty</span></code> with Trusty memory base and
|
||
entry address</p></li>
|
||
</ol>
|
||
</li>
|
||
<li><p>ACRN (<code class="docutils literal notranslate"><span class="pre">hcall_initialize_trusty</span></code>)</p>
|
||
<ol class="loweralpha simple">
|
||
<li><p>Save World context for Normal World</p></li>
|
||
<li><p>Init World context for Secure World (RIP, RSP, EPT, etc.)</p></li>
|
||
<li><p>Resume to Secure World</p></li>
|
||
</ol>
|
||
</li>
|
||
<li><p>Trusty</p>
|
||
<ol class="loweralpha simple">
|
||
<li><p>Booting</p></li>
|
||
<li><p>Call <code class="docutils literal notranslate"><span class="pre">hcall_world_switch</span></code> to switch back to Normal World if
|
||
boot completed</p></li>
|
||
</ol>
|
||
</li>
|
||
<li><p>ACRN (<code class="docutils literal notranslate"><span class="pre">hcall_world_switch</span></code>)</p>
|
||
<ol class="loweralpha simple">
|
||
<li><p>Save World context for the World that caused this <code class="docutils literal notranslate"><span class="pre">vmexit</span></code>
|
||
(Secure World)</p></li>
|
||
<li><p>Restore World context for next World (Normal World: User VM OS bootloader)</p></li>
|
||
<li><p>Resume to next World (User VM OS bootloader)</p></li>
|
||
</ol>
|
||
</li>
|
||
<li><p>User VM OS bootloader</p>
|
||
<ol class="loweralpha simple">
|
||
<li><p>Continue to boot</p></li>
|
||
</ol>
|
||
</li>
|
||
</ol>
|
||
</section>
|
||
<section id="ept-hierarchy">
|
||
<h2>EPT Hierarchy<a class="headerlink" href="#ept-hierarchy" title="Permalink to this heading">¶</a></h2>
|
||
<p>As per the Trusty design, Trusty can access the Normal World’s memory, but the
|
||
Normal World cannot access the Secure World’s memory. The Secure
|
||
World EPTP page table hierarchy must contain the Normal World GPA address space,
|
||
while the Trusty world’s GPA address space must be removed from the Normal World
|
||
EPTP page table hierarchy.</p>
|
||
<section id="design">
|
||
<h3>Design<a class="headerlink" href="#design" title="Permalink to this heading">¶</a></h3>
|
||
<p>Put the Secure World’s GPA to a very high position: 511 GB - 512 GB. The
|
||
PML4/PDPT for the Trusty World are separated from the Normal World. PD and PT
|
||
for low memory
|
||
(< 511 GB) are shared in both the Trusty World’s EPT and the Normal World’s EPT.
|
||
PD and PT for high memory (>= 511 GB) are valid for the Trusty World’s EPT only.</p>
|
||
</section>
|
||
<section id="benefit">
|
||
<h3>Benefit<a class="headerlink" href="#benefit" title="Permalink to this heading">¶</a></h3>
|
||
<p>The Normal World’s EPT can be modified during runtime. Examples include
|
||
increasing memory and changing attributes. If such behavior happens, only PD and
|
||
PT for the Normal World need to be updated.</p>
|
||
<figure class="align-center" id="id3">
|
||
<a class="reference internal image-reference" href="../_images/ept-hierarchy.png"><img alt="../_images/ept-hierarchy.png" src="../_images/ept-hierarchy.png" style="width: 800px;" /></a>
|
||
<figcaption>
|
||
<p><span class="caption-number">Figure 233 </span><span class="caption-text">EPT Hierarchy</span><a class="headerlink" href="#id3" title="Permalink to this image">¶</a></p>
|
||
</figcaption>
|
||
</figure>
|
||
</section>
|
||
<section id="api">
|
||
<h3>API<a class="headerlink" href="#api" title="Permalink to this heading">¶</a></h3>
|
||
<dl class="c function">
|
||
<dt class="sig sig-object c" id="c.create_secure_world_ept">
|
||
<span class="target" id="group__trusty__apis_1gaac974d225dca5cba4ed68caf0e9abd97"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">create_secure_world_ept</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vm</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">vm</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n"><span class="pre">gpa_orig</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n"><span class="pre">size</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n"><span class="pre">gpa_rebased</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.create_secure_world_ept" title="Permalink to this definition">¶</a><br /></dt>
|
||
<dd><p>Create Secure World EPT hierarchy. </p>
|
||
<p>Create Secure World EPT hierarchy, construct new PML4/PDPT, reuse PD/PT parse from vm->arch_vm->ept</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>vm</strong> – pointer to a VM with 2 Worlds </p></li>
|
||
<li><p><strong>gpa_orig</strong> – original gpa allocated from vSBL </p></li>
|
||
<li><p><strong>size</strong> – LK size (16M by default) </p></li>
|
||
<li><p><strong>gpa_rebased</strong> – gpa rebased to offset xxx (511G_OFFSET) </p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="c function">
|
||
<dt class="sig sig-object c" id="c.destroy_secure_world">
|
||
<span class="target" id="group__trusty__apis_1ga98d7ae9ea24038d18894c57411c78f39"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">destroy_secure_world</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vm</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">vm</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n"><span class="pre">need_clr_mem</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.destroy_secure_world" title="Permalink to this definition">¶</a><br /></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="c function">
|
||
<dt class="sig sig-object c" id="c.save_world_ctx">
|
||
<span class="target" id="group__trusty__apis_1gacd3222b19d523c2beccd57803b9c103e"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">save_world_ctx</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vcpu</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">vcpu</span></span>, <span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">ext_context</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">ext_ctx</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.save_world_ctx" title="Permalink to this definition">¶</a><br /></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="c function">
|
||
<dt class="sig sig-object c" id="c.load_world_ctx">
|
||
<span class="target" id="group__trusty__apis_1ga46ad2873df741f72f9024afd743fc4e5"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">load_world_ctx</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vcpu</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">vcpu</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">ext_context</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">ext_ctx</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.load_world_ctx" title="Permalink to this definition">¶</a><br /></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="c function">
|
||
<dt class="sig sig-object c" id="c.copy_smc_param">
|
||
<span class="target" id="group__trusty__apis_1gaa92334437bb51a2759c3f8d4d23dc7e4"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">copy_smc_param</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="hld/hv-cpu-virt.html#c.run_context" title="run_context"><span class="n"><span class="pre">run_context</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">prev_ctx</span></span>, <span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="hld/hv-cpu-virt.html#c.run_context" title="run_context"><span class="n"><span class="pre">run_context</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">next_ctx</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.copy_smc_param" title="Permalink to this definition">¶</a><br /></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="c function">
|
||
<dt class="sig sig-object c" id="c.switch_world">
|
||
<span class="target" id="group__trusty__apis_1ga16a871e2193aae91a728d0c400be7974"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">switch_world</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vcpu</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">vcpu</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n"><span class="pre">next_world</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.switch_world" title="Permalink to this definition">¶</a><br /></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="c function">
|
||
<dt class="sig sig-object c" id="c.setup_trusty_info">
|
||
<span class="target" id="group__trusty__apis_1ga3ae9dcf3b91c28ffcb362edd057bac22"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setup_trusty_info</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vcpu</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">vcpu</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n"><span class="pre">mem_size</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n"><span class="pre">mem_base_hpa</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">rkey</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.setup_trusty_info" title="Permalink to this definition">¶</a><br /></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="c function">
|
||
<dt class="sig sig-object c" id="c.init_secure_world_env">
|
||
<span class="target" id="group__trusty__apis_1gaec021df4b0b4af150d7b334ff655ad95"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">init_secure_world_env</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vcpu</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">vcpu</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n"><span class="pre">entry_gpa</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n"><span class="pre">base_hpa</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n"><span class="pre">size</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">rpmb_key</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.init_secure_world_env" title="Permalink to this definition">¶</a><br /></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="c function">
|
||
<dt class="sig sig-object c" id="c.initialize_trusty">
|
||
<span class="target" id="group__trusty__apis_1gaf22d74aa7df670ea022e0780ecf6c646"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">initialize_trusty</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vcpu</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">vcpu</span></span>, <span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="../api/hypercall_api.html#c.trusty_boot_param" title="trusty_boot_param"><span class="n"><span class="pre">trusty_boot_param</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">boot_param</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.initialize_trusty" title="Permalink to this definition">¶</a><br /></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="c function">
|
||
<dt class="sig sig-object c" id="c.save_sworld_context">
|
||
<span class="target" id="group__trusty__apis_1ga0a368bb3f4c89e1eec13a707ebea0db8"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">save_sworld_context</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vcpu</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">vcpu</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.save_sworld_context" title="Permalink to this definition">¶</a><br /></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="c function">
|
||
<dt class="sig sig-object c" id="c.restore_sworld_context">
|
||
<span class="target" id="group__trusty__apis_1gad63cf0def86898534ac3d488b33cf7a3"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">restore_sworld_context</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">acrn_vcpu</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">vcpu</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.restore_sworld_context" title="Permalink to this definition">¶</a><br /></dt>
|
||
<dd></dd></dl>
|
||
|
||
</section>
|
||
</section>
|
||
</section>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||
<a href="sw_design_guidelines.html" class="btn btn-neutral float-left" title="Software Design Guidelines" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||
<a href="l1tf.html" class="btn btn-neutral float-right" title="L1 Terminal Fault Mitigation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||
</div>
|
||
|
||
<hr/>
|
||
|
||
<div role="contentinfo">
|
||
<p>© Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
|
||
|
||
<span class="lastupdated">Last updated on Feb 27, 2022. Published on Aug 10, 2023</span>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
</footer>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
<script>
|
||
jQuery(function () {
|
||
SphinxRtdTheme.Navigation.enable(true);
|
||
});
|
||
</script>
|
||
<!-- Theme Analytics -->
|
||
<script async src="https://www.googletagmanager.com/gtag/js?id=GTM-K4WWJZD"></script>
|
||
<script>
|
||
window.dataLayer = window.dataLayer || [];
|
||
function gtag(){dataLayer.push(arguments);}
|
||
gtag('js', new Date());
|
||
|
||
gtag('config', 'GTM-K4WWJZD', {
|
||
'anonymize_ip': false,
|
||
});
|
||
</script>
|
||
|
||
</body>
|
||
</html> |