Project ACRN™ Logo
2.2
Project ACRN v: 2.2
Document Versions
latest
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 to Project ACRN
    • ACRN Open Source Roadmap
    • ACRN High-Level Architecture
    • Usage Scenarios
      • Industrial Workload Consolidation
      • Automotive Application Scenarios
    • Best Known Configurations
      • SDC scenario
      • Industry scenario
      • Hybrid scenario
      • Hybrid real-time (RT) scenario
      • Logical Partition scenario
    • Licensing
    • ACRN Device Model, Service VM, and User VM
    • Boot Sequence
    • ACRN Hypervisor Architecture
    • ACRN Device Model Architecture
    • Device passthrough
      • Hardware support for device passthrough
      • Hypervisor support for device passthrough
    • ACRN I/O mediator
    • Virtio framework architecture
  • Getting Started
    • Supported Hardware
      • Minimum System Requirements for Installing ACRN
      • Minimum Requirements for Processor
      • Known Limitations
      • New Processor Families
      • Verified Platforms According to ACRN Usage
      • Verified Hardware Specifications Detail
    • Build ACRN from Source
      • Introduction
      • Install build tools and dependencies
      • Get the ACRN hypervisor source code
      • Build with the ACRN scenario
      • Build the hypervisor configuration
        • Modify the hypervisor configuration
      • Build the hypervisor, device model, and tools
    • Getting Started Guide for ACRN Industry Scenario with Ubuntu Service VM
      • Verified version
      • Prerequisites
      • Install Ubuntu for the Service and User VMs
        • Hardware Connection
        • Install the Ubuntu User VM (RTVM) on the SATA disk
        • Install the Ubuntu Service VM on the NVMe disk
      • Build and Install ACRN on Ubuntu
        • Pre-Steps
        • Build the ACRN Hypervisor on Ubuntu
        • Build and install the ACRN kernel
        • Install the Service VM kernel and modules
        • Update Grub for the Ubuntu Service VM
        • Enable network sharing for the User VM
        • Reboot the system
        • Additional settings in the Service VM
      • Launch the RTVM
        • Update the Grub file
        • Launch the RTVM
      • Launch the Windows VM
      • Troubleshooting
        • Enabling the network on the RTVM
        • Passthrough a hard disk to RTVM
    • Getting Started Guide for ACRN hybrid mode
      • Prerequisites
      • Update Ubuntu GRUB
      • Hybrid Scenario Startup Checking
    • Getting Started Guide for ACRN logical partition 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
      • Logical partition scenario startup checking
  • Advanced Guides
    • Configuration and Tools
      • ACRN Configuration Tool
        • Introduction
        • ACRN configuration XMLs
        • Configuration tool workflow
        • Use the ACRN configuration app
      • Configuration Symbol Reference
        • Introduction
        • Supported Options
      • ACRN Hypervisor Parameters
        • Generic hypervisor parameters
      • ACRN Kernel Parameters
        • Generic kernel parameters
        • Intel GVT-g (AcrnGT) Parameters
      • ACRN Shell Commands
        • Command examples
      • Device Model Parameters
      • ACRN-Crashlog
        • Introduction
        • Building
        • Installing
        • Enabling/Disabling
        • Usage
        • Source Code
      • 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
      • 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
    • Service VM Tutorials
      • Run Debian as the Service VM
        • Prerequisites
        • Validated Versions
        • Install ACRN on the Debian 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
        • Known limitations
        • 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
    • Enable ACRN 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 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
      • Enable RDT Configuration
        • RDT detection and resource capabilities
        • Tuning RDT resources in HV debug shell
        • Configure RDT for VM using VM 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
      • 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
        • Service VM Networking updates for User VM
        • Bring-up User VM (L2 Guest)
      • Using GRUB to boot ACRN
        • Using pre-installed GRUB
        • Installing self-built GRUB
      • Pre-Launched Preempt-RT Linux Mode in ACRN
        • Prerequisites
        • Example of Pre-Launched RT
      • Enable Inter-VM Communication Based on ivshmem
        • ivshmem dm-land usage
        • ivshmem hv-land usage
        • Inter-VM Communication Examples
    • Debug
      • Using the Serial Port on KBL 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
  • 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
        • Virtual Bootloader
        • Security
      • Software Design Guidelines
        • Error Detection and Error Handling
        • Module Level Configuration Design Guidelines
        • References
      • GVT-g Enabling and Porting Guide
        • Introduction
        • Purpose of this document
        • Overall Components
        • Core scenario interaction sequences
        • API details
      • 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
      • VBS-K Framework Virtualization Overhead Analysis
        • Introduction
        • Architecture of VIRTIO-ECHO
        • Virtualization Overhead Analysis
        • Conclusion
    • Contribute Guides
      • Contribution Guidelines
        • 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
        • Internal Cross-Reference Linking
        • Non-ASCII Characters
        • Code and Command Examples
        • Images
        • Tabs, spaces, and indenting
        • Drawings
        • Alternative Tabbed Content
        • Instruction Steps
        • First instruction step
        • Second instruction step
        • 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
        • Installing the documentation tools
        • Documentation presentation theme
        • Running the documentation processors
        • Publishing content
        • Document Versioning
        • Filtering expected warnings
    • API Documentation
      • API Documentation
        • Hypercall APIs
        • Device Model APIs
        • ACRN GVT-g APIs
  • Release Notes
    • 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.1
    • Addressed in ACRN v1.6.1
    • Addressed in ACRN v1.6
    • Addressed in ACRN v1.4
  • FAQ
    • What hardware does ACRN support?
    • How do I configure ACRN’s memory size?
    • How to modify the default display output for a User VM?
    • Why does ACRN need to know how much RAM the system has?
  • Glossary of Terms
Project ACRN™
  • Docs »
  • Developer Reference »
  • High-Level Design Guides »
  • Hypervisor high-level design

Hypervisor high-level design¶

  • Hypervisor Startup
  • VM Management
  • CPU Virtualization
  • Memory management
  • I/O Emulation
  • IOC Virtualization
  • Physical Interrupt
  • Timer
  • Virtual Interrupt
  • VT-d
  • Device Passthrough
  • MMIO Device Passthrough
  • Partition mode
  • Power Management
  • Console, Shell, and vUART
  • Hypercall / VHM upcall
  • Compile-time configuration
  • RDT support
  • Split-locked Access handling

© Copyright 2020, Project ACRN Last updated on Sep 29, 2020.