mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-04 22:47:00 +00:00
Change the generated config option documentation to use the DX-friendly names defined for the configurator UI (instead of the XML element name hierarchy previously used). Options are grouped by the top-level section (aka complex type) they belong to and then sorted alphabetically with these groups. Use badges to indicate where options can be found in the configurator UI and whether they're applicable to the Hypervisor or Pre/Post/Service VM. Add a custom css style for the config-option doc that puts the first paragraph of a glossary item on the same line as the glossary term so these badges look pretty. Added a acrn-custom.js patch that copies the alt text for images into a title property for images within the config-doc document. This provides tooltip text when hovering over the badges. Don't display options not visible in the configurator UI (elements with acrn:views=""). A missing acrn:views or acrn:applicable-vm means we look for an applicable value from an ancestor element. Add processing of a second xs:documentation element within an xs:annotation element. This second documentation element's content will be appended as a new paragraph to the first xs:documentation content in the generated documentation. Only the first xs:documentation element is used by the Configurator for its tooltips. Update documents that were referring to options by their XML names. Because we're now using a glossary to provide links to config options, we can't duplicate option names or glosary names anywhere in the doc set. Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
198 lines
8.6 KiB
ReStructuredText
198 lines
8.6 KiB
ReStructuredText
.. _glossary:
|
|
|
|
Glossary of Terms
|
|
#################
|
|
|
|
.. glossary::
|
|
:sorted:
|
|
|
|
LaaG
|
|
WaaG
|
|
Acronyms for Linux and Windows as a Guest VM. ACRN supports a
|
|
variety of :term:`User VM` OS choices. Your choice depends on the
|
|
needs of your application. For example, Windows is popular for
|
|
Human-Machine Interface (HMI) applications in industrial applications,
|
|
while Linux is a likely OS choice for a VM running an AI application.
|
|
|
|
ACPI
|
|
Advanced Configuration and Power Interface
|
|
|
|
ACRN
|
|
ACRN is a flexible, lightweight reference hypervisor, built with
|
|
real-time and safety-criticality in mind, optimized to streamline
|
|
embedded development through an open source platform.
|
|
|
|
API
|
|
Application Program Interface: A defined set of routines and protocols for
|
|
building application software.
|
|
|
|
APL
|
|
Apollo Lake platform
|
|
|
|
BDW
|
|
Broadwell, Intel 5th-generation CPU platform
|
|
|
|
BIOS
|
|
Basic Input/Output System.
|
|
|
|
DM
|
|
Device Model
|
|
An application within the Service VM responsible for creating and
|
|
launching a User VM and then performing device emulation for the devices
|
|
configured for sharing with that User VM. The Service VM and Device Model
|
|
can access hardware resources directly through native drivers and provide
|
|
device sharing services to User VMs. User VMs can access hardware devices
|
|
directly if they've been configured as passthrough devices.
|
|
|
|
Development Computer
|
|
Host
|
|
As with most IoT development environments, you configure, compile, and
|
|
build your application on a separate system from where the application is
|
|
deployed and run (i.e., the :term:`Target`). ACRN recommends using Ubuntu
|
|
18.04 as the OS on your development computer and that is an assumption in
|
|
our documentation.
|
|
|
|
Guest
|
|
Guest VM
|
|
A term used to refer to any :term:`VM` that runs on the hypervisor. Both Service
|
|
and User VMs are considered Guest VMs from the hypervisor's perspective,
|
|
albeit with different properties. *(You'll find the term Guest used in the
|
|
names of functions and variables in the ACRN source code.)*
|
|
|
|
GVT-d
|
|
Virtual dedicated graphics acceleration (one VM to one physical GPU).
|
|
|
|
Hybrid
|
|
One of three operation scenarios (partitioned, shared, and hybrid) that ACRN supports.
|
|
In the hybrid mode, some physical hardware resources can be partitioned to
|
|
individual User VMs while others are shared across User VMs.
|
|
|
|
IDT
|
|
Interrupt Descriptor Table: a data structure used by the x86
|
|
architecture to implement an interrupt vector table. The IDT is used
|
|
to determine the correct response to interrupts and exceptions.
|
|
|
|
ISR
|
|
Interrupt Service Routine: Also known as an interrupt handler, an ISR
|
|
is a callback function whose execution is triggered by a hardware
|
|
interrupt (or software interrupt instructions) and is used to handle
|
|
high-priority conditions that require interrupting the code that is
|
|
executing on the processor.
|
|
|
|
Passthrough Device
|
|
Physical I/O devices (typically PCI) exclusively assigned to a User VM so
|
|
that the VM can access the hardware device directly and with minimal (if any)
|
|
VM management involvement. Normally, the Service VM owns the hardware
|
|
devices shared among User VMs and virtualized access is done through
|
|
Device Model emulation.
|
|
|
|
Partitioned
|
|
One of three operation scenarios (partitioned, shared, and hybrid) that ACRN supports.
|
|
Physical hardware resources are dedicated to individual User VMs.
|
|
|
|
Pre-launched VM
|
|
A :term:`User VM` launched by the hypervisor before the :term:`Service VM`
|
|
is started. Such a User VM runs independently of and is partitioned from
|
|
the Service VM and other post-launched VMs. It has its own carefully
|
|
configured and dedicated hardware resources such as CPUs, memory, and I/O
|
|
devices. Other VMs, including the Service VM, may not even be aware of a
|
|
pre-launched VM's existence. A pre-launched VM can be used as a
|
|
special-case :term:`Safety VM` for reacting to critical system failures.
|
|
It cannot take advantage of the Service VM or Device Model services.
|
|
|
|
Post-launched VM
|
|
A :term:`User VM` configured and launched by the Service VM and typically
|
|
accessing shared hardware resources managed by the Service VM and Device
|
|
Model. Most User VMs are post-launched while special-purpose User VMs are
|
|
pre-launched.
|
|
|
|
QEMU
|
|
Quick EMUlator. Machine emulator running in user space.
|
|
|
|
RDT
|
|
Intel Resource Director Technology (Intel RDT) provides a set of
|
|
monitoring and allocation capabilities to control resources such as
|
|
Cache and Memory. ACRN supports Cache Allocation Technology (CAT) and
|
|
Memory Bandwidth Allocation (MBA).
|
|
|
|
RTVM
|
|
Real-time VM
|
|
A :term:`User VM` configured specifically for real-time applications and
|
|
their performance needs. ACRN supports near bare-metal performance for a
|
|
post-launched real-time VM by configuring certain key technologies or
|
|
enabling device-passthrough to avoid common virtualization and
|
|
device-access overhead issues. Such technologies include: using a
|
|
passthrough interrupt controller, polling-mode Virtio, Intel RDT
|
|
allocation features (CAT, MBA), and I/O prioritization. RTVMs are
|
|
typically a :term:`Pre-launched VM`. A non-:term:`Safety VM` with
|
|
real-time requirements is a :term:`Post-launched VM`.
|
|
|
|
Safety VM
|
|
A special VM with dedicated hardware resources for providing overall
|
|
system health-monitoring functionality. A safety VM is always a
|
|
pre-launched User VM, either in a partitioned or hybrid scenario.
|
|
|
|
Scenario
|
|
A collection of hypervisor and VM configuration settings that define an
|
|
ACRN-based application's environment. A scenario configuration is stored
|
|
in a scenario XML file and edited using the ACRN Configurator tool. The
|
|
scenario configuration, along with the target board configuration, is used
|
|
by the ACRN build system to modify the source code to build tailored
|
|
images of the hypervisor and Service VM for the application. ACRN provides
|
|
example scenarios for shared, partitioned, and hybrid configurations that
|
|
developers can use to define a scenario configuration appropriate for
|
|
their own application.
|
|
|
|
Service VM
|
|
A special VM, directly launched by the hypervisor. The Service VM can
|
|
access hardware resources directly by running native drivers and provides
|
|
device sharing services to post-launched User VMs through the ACRN Device
|
|
Model (DM). Hardware resources include CPUs, memory, graphics memory, USB
|
|
devices, disk, and network mediation. *(Historically, the Service VM was
|
|
called the Service OS or SOS.)*
|
|
|
|
Shared
|
|
One of three operation scenarios (shared, hybrid, partitioned) that ACRN supports.
|
|
Most of the physical hardware resources are shared across User VMs.
|
|
*(In releases prior to 2.7, this was called the "Industry" scenario.)*
|
|
|
|
Target
|
|
This is the hardware where the configured ACRN hypervisor and
|
|
developer-written application (built on the :term:`Development Computer`) is
|
|
deployed and runs.
|
|
|
|
UEFI
|
|
Unified Extensible Firmare Interface. UEFI replaces the
|
|
traditional BIOS on PCs, while also providing BIOS emulation for
|
|
backward compatibility. UEFI can run in 32-bit or 64-bit mode and, more
|
|
important, support Secure Boot, checking the OS validity to ensure no
|
|
malware has tampered with the boot process.
|
|
|
|
User VM
|
|
A :term:`VM` where user-defined environments and applications run. User VMs can
|
|
run different OSes based on their needs, including for example, Ubuntu for
|
|
an AI application, Windows for a Human-Machine Interface, or a
|
|
hard real-time control OS such as Zephyr, VxWorks, or RT-Linux for soft or
|
|
hard real-time control. There are three types of ACRN User VMs: pre-launched,
|
|
post-launched standard, and post-launched real-time. *(Historically, a
|
|
User VM was also called a User OS, or simply UOS.)*
|
|
|
|
Virtual Machine
|
|
A compute resource that uses software instead of physical hardware to run a
|
|
program. Multiple VMs can run independently on the same physical machine,
|
|
and with their own OS. A hypervisor uses direct access to the underlying
|
|
machine to create the software environment for sharing and managing
|
|
hardware resources.
|
|
|
|
VMM
|
|
Virtual Machine Monitor
|
|
|
|
VMX
|
|
Virtual Machine Extension
|
|
|
|
VT
|
|
Intel Virtualization Technology
|
|
|
|
VT-d
|
|
Virtualization Technology for Directed I/O
|