Project ACRN™ Logo
1.2
Project ACRN v: 1.2
Document Versions
latest
1.1
1.0
0.8
0.7
projectacrn.org links
Project Home
Wiki
  • Documentation Home
  • Learn about ACRN
    • Introduction to Project ACRN
      • ACRN High-Level Architecture
      • Usage Scenarios
        • Automotive Application Scenarios
        • Industrial Workload Consolidation
      • Best Known Configurations
        • SDC scenario with two VMs
        • SDC scenario with four VMs
        • Industry scenario without a safety VM
        • Industry scenario with a safety VM
        • Logical Partitioning scenario
      • Licensing
      • ACRN Device Model, Service VM, and User VM
      • Boot Sequence
        • De-privilege boot mode
        • Direct boot mode
      • ACRN Hypervisor Architecture
      • ACRN Device Model Architecture
      • Device pass through
        • Hardware support for device passthrough
        • Hypervisor support for device passthrough
      • ACRN I/O mediator
      • Virtio framework architecture
  • Try using ACRN
    • Supported Hardware
      • Minimum System Requirements for Installing ACRN
      • Verified Platforms According to ACRN Usage
      • Verified Hardware Specifications Detail
    • Getting started guide for Intel NUC
      • Hardware setup
        • Connecting to the serial port
        • Firmware update on the NUC
      • Software setup
        • Set up a Clear Linux Operating System
        • Use the script to set up ACRN automatically
        • Manual setup ACRN guide
        • Add the ACRN hypervisor to the EFI Partition
        • ACRN Network Bridge
        • Set up Reference UOS
    • Getting started guide for UP2 board
      • Hardware setup
        • Connecting to the serial port
      • Software setup
        • UP2 serial port setting
        • UP2 block device
      • Running the hypervisor
    • Build ACRN from Source
      • Introduction
      • Install build tools and dependencies
      • Get the ACRN hypervisor source code
      • Choose the ACRN scenario
      • Modify the hypervisor configuration
      • Build the hypervisor, device model and tools
      • Save as default configuration
  • Develop using ACRN
    • Configuration Tools
    • Configuration Tutorials
      • Increasing the User OS disk size
        • Increase the virtual disk size
        • Resize the rootfs partition
        • Resize the filesystem
      • How to sign binaries of the Clear Linux image
        • Prerequisites
        • Steps to sign the binaries of the Clear Linux image
      • Using a static IP address
        • ACRN Network Setup
        • Setting up the static IP address
        • Activate the new configuration
      • ACRN Debugging Tools
        • ACRN Console Command
        • An example
        • ACRN Log
        • ACRN Trace
      • Using partition mode on NUC
        • 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
      • Using partition mode on UP2
        • Prerequisites
        • Build kernel and modules for partition mode UOS
        • Enable partition mode in ACRN hypervisor
        • Switch between privileged VMs
      • Launch Two User VMs on NUC using SDC2 Scenario
        • ACRN Service VM Setup
        • Re-build ACRN UEFI Executable
        • Launch User VMs with predefined UUIDs
      • Using Hybrid mode on NUC
        • Prerequisites
        • Update Ubuntu GRUB to Boot hypervisor and Load Kernel Image
        • Hybrid Scenario Startup Checking
    • User VM Tutorials
      • Using AGL as the User OS
        • Introduction to AGL
        • Steps for using AGL as the UOS
        • Enable the AGL display
        • Follow up
      • Running AGL as VMs
        • Hardware setup
        • Software Setup
      • Using Celadon as User OS
        • Prerequisites
        • Build Celadon from source
        • Steps for Using Celadon as User OS
      • Building UOS from Clear Linux OS
        • Build UOS image in Clear Linux OS
        • Start the User OS (UOS)
      • Using VxWorks* as User OS
        • Steps for Using VxWorks as User OS
      • Using Windows as Guest VM on ACRN
        • Hardware setup
        • ACRN Service VM Setup
        • Setup for Using Windows as Guest VM
        • ACRN Windows verified feature list
        • Known Limitations
        • Device configurations of acrn-dm command line
        • References
      • Using PREEMPT_RT-Linux for real-time UOS
      • Using Zephyr as User OS
        • Introduction to Zephyr
        • Steps for Using Zephyr as User OS
    • Service VM Tutorials
      • Using Ubuntu as the Service OS
        • Install Ubuntu (natively)
        • Install ACRN
        • Install the Service OS kernel
        • Prepare the User OS (UOS)
        • Start the User OS (UOS)
        • Enabling network sharing
        • Enabling USB keyboard and mouse
    • Enable ACRN Features
      • Enable QoS based on runC container
        • What is QoS
        • What is runC container
        • ACRN-DM QoS architecture
        • ACRN-QoS CPU utilization example
        • How to use ACRN-DM QoS
      • How to enable OVS in ACRN
        • What is OVS
        • Why OVS
        • How to enable OVS in ACRN
        • How to use OVS bridge
        • Example for VLAN network based on OVS 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)
      • 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
      • GPU Passthrough on Skylake NUC
        • Hardware platform
        • Software Configuration
        • Software Setup
      • Using CAT on UP2
        • CAT Support on ACRN
      • Tuning CAT in HV debug shell
      • Configure CAT for VM with VM Configuration
      • Using SBL on UP2 Board
        • Prerequisites
        • Build SBL
        • Flash SBL on the UP2
        • Build ACRN for UP2
        • Download and install flash tool
        • SOS and LaaG Installation
        • Boot to SOS
        • Launch UOS
      • Trusty and Security Services in ACRN
        • Trusty Architecture
        • Trusty Services
        • Trusty in ACRN
  • Contribute to ACRN
    • Design Guides
      • ACRN Hypervisor: Modular Design
        • Overview
        • Principles
        • Architecture
        • References
      • High-Level Design Guides
        • Overview
        • Hypervisor
        • Device Model
        • Emulated Devices
        • Virtio Devices
        • VM Management
        • 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
    • Contributing 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
        • File names and Commands
        • Internal Cross-Reference Linking
        • Non-ASCII Characters
        • Code and Command Examples
        • Tabs, spaces, and indenting
        • Drawings
      • 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
    • Tools
      • 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 references
    • API Documentation
      • Hypercall APIs
      • Device Model APIs
      • ACRN GVT-g APIs
        • Core Driver Infrastructure
        • VHM APIs called from AcrnGT
        • AcrnGT mediated pass-through (MPT) interface
        • GVT-g intel_gvt_ops interface
        • AcrnGT sysfs interface
    • Configuration Symbol Reference
      • Introduction
      • Supported Options
    • ACRN Shell Commands
      • Command examples
        • vm_list
        • vcpu_list
        • vcpu_dumpreg
        • dumpmem
        • vm_console
        • vioapic
        • dump_ioapic
        • pt
        • int
        • cpuid
        • rdmsr
        • wrmsr
    • ACRN Kernel Parameters
      • Generic kernel parameters
      • Intel GVT-g (AcrnGT) Parameters
        • GVT-g (AcrnGT) Kernel Options details
        • i915.domain_scaler_owner
        • i915.enable_hangcheck
    • Device Model Parameters
  • Release Notes
    • 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 (June 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.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
  • FAQ
    • What hardware does ACRN support?
    • Clear Linux* OS fails to boot on my NUC
    • How do I configure ACRN’s memory use?
    • How to modify the default display output for a UOS?
    • Why does ACRN need to know how much RAM the system has?
    • How to build ACRN on Fedora 29?
Project ACRN™
  • Docs »
  • Contribute to ACRN »
  • High-Level Design Guides »
  • Hypervisor high-level design

Hypervisor high-level design¶

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

© Copyright 2019, Project ACRN Last updated on Aug 27, 2019.