Project ACRN™
2.7
Project ACRN
v: 2.7
Document Versions
latest
2.6
2.5
2.4
2.3
2.2
2.1
2.0
1.6.1
1.6
1.5
1.4
1.0
projectacrn.org links
Project Home
Wiki
Documentation Home
What Is ACRN
Introduction
Licensing
Key Capabilities
Background
High-Level Architecture
ACRN Device Model Architecture
Device Passthrough
Hardware Support for Device Passthrough
Hypervisor Support for Device Passthrough
Static Configuration Based on Scenarios
Predefined Sample Scenarios
Boot Sequence
Learn More
Getting Started
Supported Hardware
Selecting Hardware
Configuration and Development Overview
Development Environment
General Process for Building an ACRN Hypervisor
Step 1: Select Hardware and Scenario
Select Your Hardware
Select Your Scenario
Step 2: Prepare the Development Computer
Step 3: Generate a Board Configuration File
Configure BIOS Settings
Use the Board Inspector to Generate a Board Configuration File
Step 4: Generate a Scenario Configuration File and Launch Scripts
Generate a Scenario Configuration File
Generate Launch Scripts
Step 5: Build ACRN
Step 6: Install and Run ACRN
Learn More
Getting Started Guide
Prerequisites
Set Up the Hardware
Prepare the Development Computer
Prepare the Target and Generate a Board Configuration File
Install OS on the Target
Configure Target BIOS Settings
Generate a Board Configuration File
Generate a Scenario Configuration File and Launch Scripts
Build ACRN
Install ACRN
Run ACRN and the Service VM
Launch the User VM
Next Steps
Advanced Guides
Advanced Scenario Tutorials
Getting Started Guide for ACRN Hybrid Mode
Set-up base installation
Prepare the Zephyr image
Set-up ACRN on your device
Update Ubuntu GRUB
Hybrid Scenario Startup Check
Getting Started Guide for ACRN Partitioned Mode
Validated Versions
Prerequisites
Update Kernel Image and Modules of Pre-Launched VM
Update ACRN Hypervisor Image
Update Ubuntu GRUB to Boot Hypervisor and Load Kernel Image
Partitioned Scenario Startup Check
Service VM Tutorials
Run Debian as the Service VM
Prerequisites
Validated Versions
Install ACRN on the Debian VM
Enable Network Sharing to Give Network Access to the User VM
Using Yocto Project With ACRN
The meta-acrn Layer
User VM Tutorials
Launch Windows as the Guest VM on ACRN
ACRN Service VM Setup
Setup for Using Windows as the Guest VM
ACRN Windows Verified Feature List
Explanation for acrn-dm Popular Command Lines
Secure Boot Enabling
Activate Windows 10
Run Ubuntu as the User VM
Prerequisites
Build the Ubuntu KVM Image
Launch the Ubuntu Image as the User VM
Enable the Ubuntu Console Instead of the User Interface
Run Debian as the User VM
Prerequisites
Build the Debian KVM Image
Launch the Debian Image as the User VM
Enable the ttyS0 Console on the Debian VM
Run Xenomai as the User VM OS (Real-Time VM)
Build the Xenomai Kernel
Launch the RTVM
Install the Xenomai Libraries and Tools
Run VxWorks as the User VM
Steps for Using VxWorks as User VM
Run Zephyr as the User VM
Introduction to Zephyr
Steps for Using Zephyr as User VM
Configuration Tutorials
Introduction to ACRN Configuration
Types of Configurations
Using ACRN Configuration Toolset
ACRN Configuration Data
Board Inspector Tool
About the Board Inspector Tool
Generate a Board Configuration File
Command-Line Options
ACRN Configurator Tool
About the ACRN Configurator Tool
Generate a Scenario Configuration File and Launch Scripts
Scenario Configuration Options
Common Option Value Types
hv
vm
Launch Configuration Options
Hypervisor Makefile Options
Build Options and Targets
Makefile Targets for Configuration
ACRN Hypervisor Parameters
Generic Hypervisor Parameters
ACRN Kernel Parameters
Generic Kernel Parameters
Device Model Parameters
Emulated PCI Device Types
ACRN Installation via Debian Packages
Set Up Prerequisites
Configure Debian Packaging Details
Run the Package-Building Script
Prepare Your Target System With Ubuntu 18.04
Install Debian Packages on Your Target System
Boot ACRN Using the Multiboot2 Grub Choice
Verify ACRN Is Running
Advanced Features
Enable SGX Virtualization
High-Level ACRN SGX Virtualization Design
Enable SGX Support for Guest
SGX Capability Exposure
Enclave System Function Handling
Other VMExit Control
Future Development
Enable Nested Virtualization
High-Level ACRN Nested Virtualization Design
Restrictions and Constraints
Service VM Configuration
Prepare for Service VM Kernel and rootfs
Launch a Nested Guest VM
Enable vUART Configurations
Introduction
Console Enable List
How to Configure a Console Port
How to Configure a Communication Port
Communication vUART Enable List
Launch Script
Test the Communication Port
vUART Design
COM Port Configurations for Post-Launched VMs
Use PCI-vUART
PCI Interface of ACRN vUART
Index of vUART
Setup ACRN vUART Using Configuration Tools
Kernel Config for Legacy vUART
Kernel Cmdline for PCI-vUART Console
Enable RDT Configuration
RDT Detection and Resource Capabilities
Tuning RDT Resources in HV Debug Shell
Configure RDT for VM Using VM Configuration
Enable vCAT Configuration
Enable Secure Boot in Windows
Generate Platform Key (PK)
Download KEK and DB From Microsoft
Compile OVMF With Secure Boot Support
Use QEMU to Inject Secure Boot Keys Into OVMF
Enable S5 in ACRN
Introduction
S5 Architecture
Enable S5
How to Test
System Shutdown
Enable CPU Sharing in ACRN
Introduction
Scheduling Framework
CPU Affinity
Thread Object State
Scheduler
Example
Enable SR-IOV Virtualization
SR-IOV Architectural Overview
Enable GVT-d in ACRN
Introduction
Verified Version
Prerequisites
Supported Hardware Platform
BIOS Settings
Passthrough the GPU to Guest
Enable the GVT-d GOP Driver
Run Kata Containers on a Service VM
Prerequisites
Install Docker
Install Kata Containers
Run a Kata Container With ACRN
Trusty and Security Services Reference
Trusty Architecture
Trusty Services
Trusty in ACRN
Real-Time VM Application Design Guidelines
Run RTVM With Dedicated Resources/Devices
RTVM With Virtio PMD (Polling Mode Driver) for I/O Sharing
RTVM With HV Emulated Device
DM Emulated Device (Except PMD)
Configure ACRN Using OpenStack and Libvirt
Introduction
Install ACRN
Set Up and Launch LXC/LXD
Set Up ACRN Prerequisites Inside the Container
Set Up Libvirt
Set Up OpenStack
Configure and Create OpenStack Instance
Final Steps
Enable ACRN Over QEMU/KVM
Prerequisites
Prepare Service VM (L1 Guest)
Install ACRN Hypervisor
Bring Up User VM (L2 Guest)
Using GRUB to Boot ACRN
Using Pre-Installed GRUB
Installing Self-Built GRUB
Enable ACRN Secure Boot With GRUB
ACRN Secure Boot Sequence
Generate GPG Key
Setup Standalone GRUB EFI Binary
Enable UEFI Secure Boot
Enable ACRN Secure Boot With EFI-Stub
Introduction
Verified Configurations
Building
Installing (without SB for testing)
Signing
Pre-Launched Preempt-RT Linux Mode in ACRN
Prerequisites
Example of Pre-Launched RT
Enable Inter-VM Communication Based on Ivshmem
Enable Ivshmem Support
Ivshmem DM-Land Usage
Ivshmem HV-Land Usage
Ivshmem Notification Mechanism
Inter-VM Communication Examples
Debug
Enable Serial Port on NUC
Option 1: Using the Serial Port on TGL Intel NUC
Option 2: Enabling PCIe Serial Port on TGL Intel NUC
ACRN Debugging Tools
ACRN Console Command
An Example
ACRN Log
ACRN Trace
ACRN Real-Time (RT) Performance Analysis
vmexit Analysis for ACRN RT Performance
Collecting Performance Monitoring Counters Data
ACRN Real-Time VM Performance Tips
Background
Mandatory Options for an RTVM
Avoid VM-exit Latency
Isolating the Impact of Neighbor VMs
Miscellaneous
ACRN Shell Commands
Command Examples
ACRN-Crashlog
Introduction
Building
Installing
Enabling/Disabling
Usage
Source Code
Acrnprobe
Description
Usage
Architecture
Source Files
Configuration Files
Acrnprobe Configuration
Description
Layout
Properties of Group Members
Crash Tree in Acrnprobe
Sections
Usercrash
Description
Design
Usage
Source Code
Acrnlog
Description
Usage
Build and Install
Acrntrace
Description
Usage
Build and Install
Acrnctl and Acrnd
Description
Acrnd
Build and Install
Developer Reference
Design Guides
ACRN Hypervisor: Modular Design
Overview
Principles
Architecture
References
High-Level Design Guides
Overview
Hypervisor
Device Model
Emulated Devices
Virtio Devices
Power Management
Tracing and Logging
Security
Software Design Guidelines
Error Detection and Error Handling
Module Level Configuration Design Guidelines
References
Trusty TEE
Introduction
Trusty Architecture
Trusty Specific Hypercalls
Trusty Boot Flow
EPT Hierarchy
L1 Terminal Fault Mitigation
Overview
L1TF Problem in ACRN
L1TF Mitigation in ACRN
Mitigation Recommendations
Mitigation Status
Contribute Guides
Contribution Guidelines
Technical Steering Committee (TSC)
Licensing
Developer Certification of Origin (DCO)
Prerequisites
Repository Layout
Submitting Issues
Contribution Tools and Git Setup
Coding Style
Contribution Workflow
Commit Guidelines
Coding Guidelines
C Programming Language Coding Guidelines
Assembly Language Coding Guidelines
Documentation Guidelines
Headings
Content Highlighting
Lists
Multi-Column Lists
Tables
File Names and Commands
Branch-Specific File Links
Internal Cross-Reference Linking
Non-ASCII Characters
Code and Command Examples
Images
Tabs, Spaces, and Indenting
Background Colors
Drawings
Alternative Tabbed Content
Instruction Steps
First Instruction Step
Second Instruction Step
Configuration Option Documentation
Documentation Generation
Drawings Using Graphviz
Simple Directed Graph
Adding Edge Labels
Tables
Finite-State Machine
ACRN Documentation Generation
Documentation Overview
Set Up the Documentation Working Folders
Install the Documentation Tools
Documentation Presentation Theme
Run the Documentation Processors
Publish Content
Document Versioning
Filter Expected Warnings
API Documentation
API Documentation
Hypercall APIs
Device Model APIs
Release Notes
ACRN v2.7 (Dec 2021)
What’s New in v2.7
Upgrading to v2.7 From Previous Releases
Generate New Board XML
Update Configuration Options
Document Updates
Fixed Issues Details
Known Issues
ACRN v2.6 (Sep 2021)
What’s New in v2.6
Upgrading to v2.6 From Previous Releases
Generate New Board XML
Add New Configuration Options
Document Updates
Fixed Issues Details
Known Issues
ACRN v2.5.1 (Aug 2021)
What’s New in v2.5.1
Fixed Issues Details
ACRN v2.5 (Jun 2021)
What’s New in v2.5
Upgrading to v2.5 From Previous Releases
Generate New Board XML
Add New Configuration Options
Document Updates
Fixed Issues Details
Known Issues
ACRN v2.4 (Apr 2021)
What’s New in v2.4
ACRN Configuration and Build
Upgrading to v2.4 From Previous Releases
Additional Dependencies
Configuration File Format
New Configuration Options
Build Commands
Patches on Generated Sources
Document Updates
Deprivileged Boot Mode Support
Fixed Issues Details
Known Issues
ACRN v2.3 (Dec 2020)
What’s New in v2.3
Document Updates
Fixed Issues Details
Known Issues
ACRN v2.2 (Sep 2020)
What’s New in v2.2
Document Updates
Fixed Issues Details
Known Issues
ACRN v2.1 (Aug 2020)
What’s New in v2.1
Fixed Issues Details
Known Issues
ACRN v2.0 (Jun 2020)
Version 2.0 Key Features (Comparing With v1.0)
ACRN Architecture Upgrade to Support Hybrid Mode
New Hardware Platform Support
Pre-Launched Safety VM Support
Post-Launched VM Support via OVMF
Post-Launched Real-Time VM Support
Real-Time VM Performance Optimizations
CPU Sharing Support
Large Selection of OSs for User VMs
GRUB Bootloader
SR-IOV Support
Graphics Passthrough Support
Shared Memory Based Inter-Vm Communication
Configuration Tool Support
Kata Containers Support
VM Orchestration
Document Updates
Fixed Issues Details
Known Issues
ACRN v1.6.1 (May 2020)
Version 1.6.1 Major Features
What’s New in v1.6.1
Document Updates
Fixed Issues Details
Known Issues
Change Log
ACRN v1.6 (Mar 2020)
Version 1.6 Major Features
What’s New in v1.6
Document Updates
New Features Details
Fixed Issues Details
Known Issues
Change Log
ACRN v1.5 (Jan 2020)
Version 1.5 Major Features
What’s New in v1.5
Document Updates
Fixed Issues Details
Known Issues
Change Log
ACRN v1.4 (Oct 2019)
Version 1.4 Major Features
What’s New in v1.4
Document Updates
Security Vulnerabilities
New Features Details
Fixed Issues Details
Known Issues
Change Log
ACRN v1.3 (Sep 2019)
Version 1.3 Major Features
What’s New in v1.3
Document Updates
New Features Details
Fixed Issues Details
Known Issues
Change Log
ACRN v1.2 (Aug 2019)
Version 1.2 Major Features
What’s New in v1.2
Document Updates
New Features Details
Fixed Issues Details
Known Issues
Change Log
ACRN v1.1 (Jun 2019)
Version 1.1 Major Features
Hybrid Mode Introduced
Support for New Guest Operating Systems
Document Updates
New Features Details
Fixed Issues Details
Known Issues
Change Log
ACRN v1.0.2 (Nov 2019)
Change Log in v1.0.2 Since v1.0.1
ACRN v1.0.1 (July 2019)
Change Log in Version 1.0.1 Since Version 1.0
ACRN v1.0 (May 2019)
Version 1.0 Major Features
Hardware Support
APL UP2 Board With SBL Firmware
Enable Post-Launched RTVM Support for Real-Time UOS in ACRN
Enable Cache QOS With CAT
Enable QoS Based on runC Container
S5 Support for RTVM
OVMF Support Initial Patches Merged in ACRN
Support ACPI Power Key Mediator
VT-x, VT-d
PIC/IOAPIC/MSI/MSI-X/PCI/LAPIC
Ethernet
Mass Storage
USB (xDCI)
USB Mediator (xHCI)
Wi-Fi
IPU (MIPI CSI-2, HDMI-In)
Bluetooth
GVT-g for ACRN
GPU - Preemption
GPU - Display Surface Sharing via Hyper DMA
Virtio Standard Is Supported
Device Pass-Through Support
GPIO Virtualization
New ACRN Tools
Document Updates
New Features Details
Fixed Issues Details
Known Issues
Change Log
ACRN v0.8 (Apr 2019)
Version 0.8 New Features
GPIO Virtualization
Enable QoS Based on runC Container
S5 Support for RTVM
Document Updates
New Features Details
Fixed Issues Details
Known Issues
Change Log
ACRN v0.7 (Mar 2019)
Version 0.7 New Features
Enable Cache QOS With CAT
Support ACPI Power Key Mediator
Document Updates
New Features Details
Fixed Issues Details
Known Issues
Change Log
ACRN v0.6 (Feb 2019)
Version 0.6 New Features
Fixed Issues
Known Issues
Change Log
ACRN v0.5 (Jan 2019)
Version 0.5 New Features
Fixed Issues
Known Issues
Change Log
ACRN v0.4 (Dec 2018)
Version 0.4 New Features
Fixed Issues
Known Issues
Change Log
ACRN v0.3 (Nov 2018)
Version 0.3 New Features
Fixed Issues
Known Issues
Change Log
ACRN v0.2 (Sep 2018)
Version 0.2 New Features
VT-x, VT-d
PIC/IOAPIC/MSI/MSI-X/PCI/LAPIC
Ethernet
Storage (eMMC)
USB (xDCI)
USB Mediator (xHCI and DRD)
CSME
WiFi
IPU (MIPI-CS2, HDMI-In)
Bluetooth
GPU - Preemption
GPU - Display Surface Sharing via Hyper DMA
S3
Fixed Issues
Known Issues
Change Log
ACRN v0.1 (July 2018)
Version 0.1 New Features
Hardware Support
GVT-g for ACRN
Virtio Standard Is Supported
Device Pass-Through Support
Hypervisor Configuration
New ACRN Tools
Known Issues
Change Log
Security Advisory
Addressed in ACRN v2.7
Addressed in ACRN v2.6
Addressed in ACRN v2.5
Addressed in ACRN v2.3
Addressed in ACRN v2.1
Addressed in ACRN v1.6.1
Addressed in ACRN v1.6
Addressed in ACRN v1.4
FAQ
What Hardware Does ACRN Support?
Glossary of Terms
Index
Project ACRN™
2.7
»
Index
Index
Symbols
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
L
|
M
|
O
|
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
Z
Symbols
[anonymous] (C enum)
[anonymous].BACKEND_MAX (C enumerator)
[anonymous].BACKEND_UNKNOWN (C enumerator)
[anonymous].BACKEND_VBSK (C enumerator)
[anonymous].BACKEND_VBSU (C enumerator)
[anonymous].BACKEND_VHOST (C enumerator)
A
ACPI
acpi_sx_pkg (C struct)
ACRN
acrn_acpi_generic_address (C struct)
acrn_cstate_data (C struct)
acrn_descriptor_ptr (C struct)
acrn_gp_regs (C struct)
acrn_hw_info (C struct)
acrn_insert_request (C function)
acrn_intr_monitor (C struct)
acrn_io_request (C struct)
,
[1]
acrn_io_request.reqs (C union)
acrn_io_request.reqs.data (C var)
acrn_io_request.reqs.mmio_request (C var)
acrn_io_request.reqs.pci_request (C var)
acrn_io_request.reqs.pio_request (C var)
acrn_io_request_buffer (C struct)
acrn_ioeventfd (C struct)
acrn_irqfd (C struct)
acrn_irqline_ops (C struct)
acrn_mmio_request (C struct)
,
[1]
acrn_mmiodev (C struct)
acrn_msi_entry (C struct)
acrn_parse_virtio_poll_interval (C function)
ACRN_PCI_NUM_BARS (C macro)
acrn_pci_request (C struct)
,
[1]
acrn_pcidev (C struct)
acrn_pio_request (C struct)
,
[1]
acrn_platform_info (C struct)
acrn_platform_info.hw (C struct)
acrn_platform_info.sw (C struct)
ACRN_PLATFORM_LAPIC_IDS_MAX (C macro)
acrn_pm_cmd_type (C enum)
acrn_pm_cmd_type.ACRN_PMCMD_GET_CX_CNT (C enumerator)
acrn_pm_cmd_type.ACRN_PMCMD_GET_CX_DATA (C enumerator)
acrn_pm_cmd_type.ACRN_PMCMD_GET_PX_CNT (C enumerator)
acrn_pm_cmd_type.ACRN_PMCMD_GET_PX_DATA (C enumerator)
acrn_pstate_data (C struct)
ACRN_PTDEV_QUIRK_ASSIGN (C macro)
acrn_regs (C struct)
,
[1]
ACRN_REQUEST_EOI_EXIT_BITMAP_UPDATE (C macro)
ACRN_REQUEST_EPT_FLUSH (C macro)
ACRN_REQUEST_EVENT (C macro)
ACRN_REQUEST_EXCP (C macro)
ACRN_REQUEST_EXTINT (C macro)
ACRN_REQUEST_INIT_VMCS (C macro)
ACRN_REQUEST_NMI (C macro)
ACRN_REQUEST_SPLIT_LOCK (C macro)
ACRN_REQUEST_TRP_FAULT (C macro)
ACRN_REQUEST_VPID_FLUSH (C macro)
ACRN_REQUEST_WAIT_WBINVD (C macro)
acrn_vcpu_regs (C struct)
acrn_vdev (C struct)
acrn_vdev.id (C union)
acrn_vdev.id.fields (C struct)
(C var)
acrn_vdev.id.value (C var)
acrn_vm_config_header (C struct)
acrn_vm_creation (C struct)
acrn_vm_load_order (C enum)
acrn_vm_load_order.MAX_LOAD_ORDER (C enumerator)
acrn_vm_load_order.POST_LAUNCHED_VM (C enumerator)
acrn_vm_load_order.PRE_LAUNCHED_VM (C enumerator)
acrn_vm_load_order.SERVICE_VM (C enumerator)
add_timer (C function)
allow_guest_pio_access (C function)
API
APL
B
BDW
BIOS
C
calibrate_tsc (C function)
command line option
hv.CAPACITIES.IOMMU_BUS_NUM
hv.CAPACITIES.MAX_EMULATED_MMIO
hv.CAPACITIES.MAX_IOAPIC_LINES
hv.CAPACITIES.MAX_IOAPIC_NUM
hv.CAPACITIES.MAX_IR_ENTRIES
hv.CAPACITIES.MAX_MSIX_TABLE_NUM
hv.CAPACITIES.MAX_PCI_DEV_NUM
hv.CAPACITIES.MAX_PT_IRQ_ENTRIES
hv.CAPACITIES.MAX_VM_NUM
hv.DEBUG_OPTIONS.CONSOLE_LOGLEVEL
hv.DEBUG_OPTIONS.LOG_BUF_SIZE
hv.DEBUG_OPTIONS.LOG_DESTINATION
hv.DEBUG_OPTIONS.MEM_LOGLEVEL
hv.DEBUG_OPTIONS.NPK_LOGLEVEL
hv.DEBUG_OPTIONS.RELEASE
hv.DEBUG_OPTIONS.SERIAL_CONSOLE
hv.FEATURES.ACPI_PARSE_ENABLED
hv.FEATURES.ENFORCE_TURNOFF_AC
hv.FEATURES.ENFORCE_TURNOFF_GP
hv.FEATURES.HYPERV_ENABLED
hv.FEATURES.IOMMU_ENFORCE_SNP
hv.FEATURES.IVSHMEM.IVSHMEM_ENABLED
hv.FEATURES.IVSHMEM.IVSHMEM_REGION
hv.FEATURES.L1D_VMENTRY_ENABLED
hv.FEATURES.MCE_ON_PSC_DISABLED
hv.FEATURES.MULTIBOOT2
hv.FEATURES.NVMX_ENABLED
hv.FEATURES.RDT.CDP_ENABLED
hv.FEATURES.RDT.CLOS_MASK
hv.FEATURES.RDT.MBA_DELAY
hv.FEATURES.RDT.RDT_ENABLED
hv.FEATURES.RDT.VCAT_ENABLED
hv.FEATURES.RELOC
hv.FEATURES.SCHEDULER
hv.FEATURES.SECURITY_VM_FIXUP
hv.FEATURES.SSRAM.SSRAM_ENABLED
hv.MEMORY.HV_RAM_START
hv.MEMORY.LOW_RAM_SIZE
hv.MEMORY.PLATFORM_RAM_SIZE
hv.MEMORY.STACK_SIZE
hv.MISC_CFG.GPU_SBDF
hv.MISC_CFG.UEFI_OS_LOADER_NAME
vm.board_private.bootargs
vm.board_private.rootfs
vm.clos.vcpu_clos
vm.communication_vuart.base
vm.communication_vuart.target_uart_id
vm.communication_vuart.target_vm_id
vm.console_vuart.base
vm.cpu_affinity.pcpu_id
vm.epc_section.base
vm.epc_section.size
vm.guest_flags.guest_flag
vm.legacy_vuart.base
vm.legacy_vuart.irq
vm.legacy_vuart.target_uart_id
vm.legacy_vuart.target_vm_id
vm.legacy_vuart.type
vm.memory.size
vm.memory.size_hpa2
vm.memory.start_hpa
vm.memory.start_hpa2
vm.mmio_resources.p2sb
vm.mmio_resources.TPM2
vm.name
vm.os_config.bootargs
vm.os_config.kern_entry_addr
vm.os_config.kern_load_addr
vm.os_config.kern_mod
vm.os_config.kern_type
vm.os_config.name
vm.os_config.ramdisk_mod
vm.pci_dev_num
vm.pci_devs.pci_dev
vm.priority
vm.pt_intx
vm.PTM
vm.vm_type
copy_from_gpa (C function)
copy_from_gva (C function)
copy_smc_param (C function)
copy_to_gpa (C function)
cpu_tickrate (C function)
cpu_ticks (C function)
create_iommu_domain (C function)
create_secure_world_ept (C function)
create_vcpu (C function)
D
del_timer (C function)
destroy_ept (C function)
destroy_iommu_domain (C function)
destroy_secure_world (C function)
Development Computer
Device Model
DM
do_irq (C function)
E
early_init_lapic (C function)
enable_paging (C function)
enable_smap (C function)
enable_smep (C function)
ept_add_mr (C function)
ept_del_mr (C function)
EPT_EXE (C macro)
ept_flush_leaf_page (C function)
EPT_IGNORE_PAT (C macro)
ept_misconfig_vmexit_handler (C function)
ept_modify_mr (C function)
EPT_MT_SHIFT (C macro)
EPT_RD (C macro)
EPT_RWX (C macro)
EPT_UNCACHED (C macro)
ept_violation_vmexit_handler (C function)
EPT_WB (C macro)
EPT_WC (C macro)
EPT_WP (C macro)
EPT_WR (C macro)
EPT_WT (C macro)
F
flush_vpid_global (C function)
flush_vpid_single (C function)
free_irq (C function)
G
get_cur_lapic_id (C function)
get_eptp (C function)
gpa2hpa (C function)
GSI_FALLING_PULSE (C macro)
GSI_RAISING_PULSE (C macro)
GSI_SET_HIGH (C macro)
GSI_SET_LOW (C macro)
Guest
Guest VM
GVT-d
H
hc_api_version (C struct)
hc_ptdev_irq (C struct)
hcall_add_vdev (C function)
hcall_assign_mmiodev (C function)
hcall_assign_pcidev (C function)
,
[1]
hcall_create_vcpu (C function)
hcall_create_vm (C function)
hcall_deassign_mmiodev (C function)
hcall_deassign_pcidev (C function)
,
[1]
hcall_destroy_vm (C function)
hcall_get_api_version (C function)
hcall_get_cpu_pm_state (C function)
hcall_get_hw_info (C function)
hcall_get_platform_info (C function)
hcall_gpa_to_hpa (C function)
hcall_initialize_trusty (C function)
hcall_inject_msi (C function)
hcall_notify_ioreq_finish (C function)
hcall_pause_vm (C function)
hcall_profiling_ops (C function)
hcall_remove_vdev (C function)
hcall_reset_ptdev_intr_info (C function)
hcall_reset_vm (C function)
hcall_save_restore_sworld_ctx (C function)
hcall_service_vm_offline_cpu (C function)
hcall_set_callback_vector (C function)
hcall_set_ioreq_buffer (C function)
hcall_set_irqline (C function)
hcall_set_ptdev_intr_info (C function)
hcall_set_vcpu_regs (C function)
hcall_set_vm_memory_regions (C function)
hcall_setup_hv_npk_log (C function)
hcall_setup_sbuf (C function)
hcall_start_vm (C function)
hcall_vm_intr_monitor (C function)
hcall_world_switch (C function)
hcall_write_protect_page (C function)
Host
hpa2hva (C function)
hpa2hva_early (C function)
hv.CAPACITIES.IOMMU_BUS_NUM
command line option
hv.CAPACITIES.MAX_EMULATED_MMIO
command line option
hv.CAPACITIES.MAX_IOAPIC_LINES
command line option
hv.CAPACITIES.MAX_IOAPIC_NUM
command line option
hv.CAPACITIES.MAX_IR_ENTRIES
command line option
hv.CAPACITIES.MAX_MSIX_TABLE_NUM
command line option
hv.CAPACITIES.MAX_PCI_DEV_NUM
command line option
hv.CAPACITIES.MAX_PT_IRQ_ENTRIES
command line option
hv.CAPACITIES.MAX_VM_NUM
command line option
hv.DEBUG_OPTIONS.CONSOLE_LOGLEVEL
command line option
hv.DEBUG_OPTIONS.LOG_BUF_SIZE
command line option
hv.DEBUG_OPTIONS.LOG_DESTINATION
command line option
hv.DEBUG_OPTIONS.MEM_LOGLEVEL
command line option
hv.DEBUG_OPTIONS.NPK_LOGLEVEL
command line option
hv.DEBUG_OPTIONS.RELEASE
command line option
hv.DEBUG_OPTIONS.SERIAL_CONSOLE
command line option
hv.FEATURES.ACPI_PARSE_ENABLED
command line option
hv.FEATURES.ENFORCE_TURNOFF_AC
command line option
hv.FEATURES.ENFORCE_TURNOFF_GP
command line option
hv.FEATURES.HYPERV_ENABLED
command line option
hv.FEATURES.IOMMU_ENFORCE_SNP
command line option
hv.FEATURES.IVSHMEM.IVSHMEM_ENABLED
command line option
hv.FEATURES.IVSHMEM.IVSHMEM_REGION
command line option
hv.FEATURES.L1D_VMENTRY_ENABLED
command line option
hv.FEATURES.MCE_ON_PSC_DISABLED
command line option
hv.FEATURES.MULTIBOOT2
command line option
hv.FEATURES.NVMX_ENABLED
command line option
hv.FEATURES.RDT.CDP_ENABLED
command line option
hv.FEATURES.RDT.CLOS_MASK
command line option
hv.FEATURES.RDT.MBA_DELAY
command line option
hv.FEATURES.RDT.RDT_ENABLED
command line option
hv.FEATURES.RDT.VCAT_ENABLED
command line option
hv.FEATURES.RELOC
command line option
hv.FEATURES.SCHEDULER
command line option
hv.FEATURES.SECURITY_VM_FIXUP
command line option
hv.FEATURES.SSRAM.SSRAM_ENABLED
command line option
hv.MEMORY.HV_RAM_START
command line option
hv.MEMORY.LOW_RAM_SIZE
command line option
hv.MEMORY.PLATFORM_RAM_SIZE
command line option
hv.MEMORY.STACK_SIZE
command line option
hv.MISC_CFG.GPU_SBDF
command line option
hv.MISC_CFG.UEFI_OS_LOADER_NAME
command line option
hv_npk_log_param (C struct)
hva2hpa (C function)
hva2hpa_early (C function)
Hybrid
I
IDT
init_interrupt (C function)
init_iommu (C function)
init_paging (C function)
init_secure_world_env (C function)
init_vmtrr (C function)
initialize_timer (C function)
initialize_trusty (C function)
INTEL_VENDOR_ID (C macro)
INTR_CMD_DELAY_INT (C macro)
INTR_CMD_GET_DATA (C macro)
invept (C function)
ioapic_get_rte (C function)
ioapic_gsi_to_irq (C function)
ioapic_set_rte (C function)
ISR
L
LaaG
load_world_ctx (C function)
M
MAX_PTDEV_NUM (C macro)
mem_io_node (C struct)
MMIODEV_RES_NUM (C macro)
move_pt_device (C function)
O
offline_vcpu (C function)
ORACLE_VENDOR_ID (C macro)
P
paddr_guest2host (C function)
Partitioned
Passthrough Device
pci_generate_msi (C function)
pci_generate_msix (C function)
pci_get_cfgdata16 (C function)
pci_get_cfgdata32 (C function)
pci_get_cfgdata8 (C function)
pci_lintr_assert (C function)
pci_lintr_deassert (C function)
pci_set_cfgdata16 (C function)
pci_set_cfgdata32 (C function)
pci_set_cfgdata8 (C function)
pio_instr_vmexit_handler (C function)
pm_s_state_data (C struct)
PMCMD_STATE_NUM_MASK (C macro)
PMCMD_STATE_NUM_SHIFT (C macro)
PMCMD_TYPE_MASK (C macro)
PMCMD_VCPUID_MASK (C macro)
PMCMD_VCPUID_SHIFT (C macro)
PMCMD_VMID_MASK (C macro)
PMCMD_VMID_SHIFT (C macro)
Post-launched VM
Pre-launched VM
ptdev_init (C function)
ptdev_release_all_entries (C function)
ptirq_activate_entry (C function)
ptirq_add_intx_remapping (C function)
ptirq_alloc_entry (C function)
ptirq_deactivate_entry (C function)
ptirq_dequeue_softirq (C function)
ptirq_get_intr_data (C function)
ptirq_intx_ack (C function)
ptirq_intx_pin_remap (C function)
ptirq_prepare_msix_remap (C function)
ptirq_release_entry (C function)
ptirq_remove_intx_remapping (C function)
ptirq_remove_msix_remapping (C function)
ptirq_softirq (C function)
Q
QEMU
R
RDT
read_vmtrr (C function)
Real-time VM
register_mmio_emulation_handler (C function)
register_pio_emulation_handler (C function)
request_irq (C function)
reserve_irq_num (C function)
reset_vcpu (C function)
restore_sworld_context (C function)
resume_ioapic (C function)
resume_iommu (C function)
resume_lapic (C function)
RTVM
run_context (C struct)
S
Safety VM
save_sworld_context (C function)
save_world_ctx (C function)
sbuf_setup_param (C struct)
Scenario
send_dest_ipi_mask (C function)
send_single_ipi (C function)
send_startup_ipi (C function)
Service VM
service_vm_hpa2gpa (C function)
set_irq_trigger_mode (C function)
set_regions (C struct)
setup_trusty_info (C function)
Shared
SPACE_Embedded_Control (C macro)
SPACE_FFixedHW (C macro)
SPACE_PCI_CONFIG (C macro)
SPACE_PLATFORM_COMM (C macro)
SPACE_SMBUS (C macro)
SPACE_SYSTEM_IO (C macro)
SPACE_SYSTEM_MEMORY (C macro)
suspend_ioapic (C function)
suspend_iommu (C function)
suspend_lapic (C function)
switch_world (C function)
T
Target
ticks_to_ms (C function)
ticks_to_us (C function)
timer_expired (C function)
timer_init (C function)
timer_is_started (C function)
trusty_boot_param (C struct)
U
udelay (C function)
UEFI
us_to_ticks (C function)
User VM
V
VBS_K_STATUS (C enum)
VBS_K_STATUS.VIRTIO_DEV_INIT_FAILED (C enumerator)
VBS_K_STATUS.VIRTIO_DEV_INIT_SUCCESS (C enumerator)
VBS_K_STATUS.VIRTIO_DEV_INITIAL (C enumerator)
VBS_K_STATUS.VIRTIO_DEV_PRE_INIT (C enumerator)
VBS_K_STATUS.VIRTIO_DEV_START_FAILED (C enumerator)
VBS_K_STATUS.VIRTIO_DEV_STARTED (C enumerator)
vbs_kernel_reset (C function)
,
[1]
vbs_kernel_start (C function)
,
[1]
vbs_kernel_stop (C function)
,
[1]
vcpu_get_cr0 (C function)
vcpu_get_cr2 (C function)
vcpu_get_cr4 (C function)
vcpu_get_efer (C function)
vcpu_get_gpreg (C function)
vcpu_get_rflags (C function)
vcpu_get_rip (C function)
vcpu_get_rsp (C function)
vcpu_inject_extint (C function)
vcpu_inject_gp (C function)
vcpu_inject_nmi (C function)
vcpu_inject_pf (C function)
vcpu_inject_ss (C function)
vcpu_inject_ud (C function)
vcpu_queue_exception (C function)
vcpu_set_cr0 (C function)
vcpu_set_cr2 (C function)
vcpu_set_cr4 (C function)
vcpu_set_efer (C function)
vcpu_set_gpreg (C function)
vcpu_set_rflags (C function)
vcpu_set_rip (C function)
vcpu_set_rsp (C function)
vhost_dev (C struct)
,
[1]
vhost_dev_deinit (C function)
,
[1]
vhost_dev_init (C function)
,
[1]
vhost_dev_start (C function)
,
[1]
vhost_dev_stop (C function)
,
[1]
vhost_net_set_backend (C function)
vhost_vq (C struct)
,
[1]
vioapic_set_irqline_lock (C function)
vioapic_set_irqline_nolock (C function)
virtio_base (C struct)
VIRTIO_BASE_LOCK (C macro)
VIRTIO_BASE_UNLOCK (C macro)
VIRTIO_BROKED (C macro)
VIRTIO_CAP_COMMON_OFFSET (C macro)
VIRTIO_CAP_COMMON_SIZE (C macro)
VIRTIO_CAP_DEVICE_OFFSET (C macro)
VIRTIO_CAP_DEVICE_SIZE (C macro)
VIRTIO_CAP_ISR_OFFSET (C macro)
VIRTIO_CAP_ISR_SIZE (C macro)
VIRTIO_CAP_NOTIFY_OFFSET (C macro)
VIRTIO_CAP_NOTIFY_SIZE (C macro)
virtio_config_changed (C function)
,
[1]
VIRTIO_CONFIG_S_NEEDS_RESET (C macro)
VIRTIO_DEV_AUDIO (C macro)
VIRTIO_DEV_BLOCK (C macro)
VIRTIO_DEV_CONSOLE (C macro)
VIRTIO_DEV_COREU (C macro)
VIRTIO_DEV_GPIO (C macro)
VIRTIO_DEV_HDCP (C macro)
VIRTIO_DEV_HECI (C macro)
VIRTIO_DEV_HYPERDMABUF (C macro)
VIRTIO_DEV_I2C (C macro)
VIRTIO_DEV_IPU (C macro)
VIRTIO_DEV_NET (C macro)
VIRTIO_DEV_RANDOM (C macro)
VIRTIO_DEV_RPMB (C macro)
VIRTIO_DEV_TSN (C macro)
VIRTIO_ERROR_FD_OPEN_FAILED (C macro)
VIRTIO_ERROR_GENERAL (C macro)
VIRTIO_ERROR_MEM_ALLOC_FAILED (C macro)
VIRTIO_ERROR_REENTER (C macro)
VIRTIO_ERROR_START (C macro)
VIRTIO_EVENT_IDX (C macro)
virtio_interrupt_init (C function)
,
[1]
virtio_intr_init (C function)
VIRTIO_LEGACY_PIO_BAR_IDX (C macro)
virtio_linkup (C function)
,
[1]
VIRTIO_MODERN_MEM_BAR_SIZE (C macro)
VIRTIO_MODERN_MMIO_BAR_IDX (C macro)
VIRTIO_MODERN_NOTIFY_OFF_MULT (C macro)
VIRTIO_MODERN_PIO_BAR_IDX (C macro)
virtio_ops (C struct)
,
[1]
VIRTIO_PCI_CAP_COMMON_CFG (C macro)
VIRTIO_PCI_CAP_DEVICE_CFG (C macro)
VIRTIO_PCI_CAP_ISR_CFG (C macro)
VIRTIO_PCI_CAP_NOTIFY_CFG (C macro)
VIRTIO_PCI_CAP_PCI_CFG (C macro)
VIRTIO_PCI_ISR_QUEUES (C macro)
virtio_pci_read (C function)
,
[1]
virtio_pci_write (C function)
,
[1]
virtio_reset_dev (C function)
,
[1]
virtio_set_io_bar (C function)
,
[1]
virtio_set_modern_bar (C function)
,
[1]
VIRTIO_SUCCESS (C macro)
VIRTIO_TYPE_9P (C macro)
VIRTIO_TYPE_AUDIO (C macro)
VIRTIO_TYPE_BALLOON (C macro)
VIRTIO_TYPE_BLOCK (C macro)
VIRTIO_TYPE_CONSOLE (C macro)
VIRTIO_TYPE_COREU (C macro)
VIRTIO_TYPE_ENTROPY (C macro)
VIRTIO_TYPE_GPIO (C macro)
VIRTIO_TYPE_HDCP (C macro)
VIRTIO_TYPE_HECI (C macro)
VIRTIO_TYPE_HYPERDMABUF (C macro)
VIRTIO_TYPE_I2C (C macro)
VIRTIO_TYPE_INPUT (C macro)
VIRTIO_TYPE_IOMEMORY (C macro)
VIRTIO_TYPE_IPU (C macro)
VIRTIO_TYPE_NET (C macro)
VIRTIO_TYPE_RPMB (C macro)
VIRTIO_TYPE_RPMSG (C macro)
VIRTIO_TYPE_SCSI (C macro)
VIRTIO_TYPE_TSN (C macro)
VIRTIO_USE_MSIX (C macro)
VIRTIO_VENDOR (C macro)
virtio_vq_info (C struct)
Virtual Machine
vlapic_inject_intr (C function)
vlapic_inject_msi (C function)
vlapic_receive_intr (C function)
vlapic_set_intr (C function)
vlapic_set_local_intr (C function)
VM
vm.board_private.bootargs
command line option
vm.board_private.rootfs
command line option
vm.clos.vcpu_clos
command line option
vm.communication_vuart.base
command line option
vm.communication_vuart.target_uart_id
command line option
vm.communication_vuart.target_vm_id
command line option
vm.console_vuart.base
command line option
vm.cpu_affinity.pcpu_id
command line option
vm.epc_section.base
command line option
vm.epc_section.size
command line option
vm.guest_flags.guest_flag
command line option
vm.legacy_vuart.base
command line option
vm.legacy_vuart.irq
command line option
vm.legacy_vuart.target_uart_id
command line option
vm.legacy_vuart.target_vm_id
command line option
vm.legacy_vuart.type
command line option
vm.memory.size
command line option
vm.memory.size_hpa2
command line option
vm.memory.start_hpa
command line option
vm.memory.start_hpa2
command line option
vm.mmio_resources.p2sb
command line option
vm.mmio_resources.TPM2
command line option
vm.name
command line option
vm.os_config.bootargs
command line option
vm.os_config.kern_entry_addr
command line option
vm.os_config.kern_load_addr
command line option
vm.os_config.kern_mod
command line option
vm.os_config.kern_type
command line option
vm.os_config.name
command line option
vm.os_config.ramdisk_mod
command line option
vm.pci_dev_num
command line option
vm.pci_devs.pci_dev
command line option
vm.priority
command line option
vm.pt_intx
command line option
vm.PTM
command line option
vm.vm_type
command line option
vm_gpa2hpa (C struct)
vm_io_handler_desc (C struct)
vm_memory_region (C struct)
VMM
VMX
vpic_intr_accepted (C function)
vpic_pending_intr (C function)
vpic_set_irqline (C function)
VQ_ALLOC (C macro)
VQ_AVAIL_EVENT_IDX (C macro)
VQ_BROKED (C macro)
vq_clear_used_ring_flags (C function)
vq_endchains (C function)
,
[1]
vq_getchain (C function)
,
[1]
vq_has_descs (C function)
vq_interrupt (C function)
,
[1]
vq_relchain (C function)
,
[1]
vq_retchain (C function)
,
[1]
vq_ring_ready (C function)
VQ_USED_EVENT_IDX (C macro)
VRING_PAGE_BITS (C macro)
vrp_config (C struct)
VT
VT-d
W
WaaG
walk_ept_table (C function)
wp_data (C struct)
write_vmtrr (C function)
Z
zombie_vcpu (C function)