Back to home page

OSCL-LXR

 
 

    


0001 .. SPDX-License-Identifier: GPL-2.0
0002 
0003 ACRN Hypervisor Introduction
0004 ============================
0005 
0006 The ACRN Hypervisor is a Type 1 hypervisor, running directly on bare-metal
0007 hardware. It has a privileged management VM, called Service VM, to manage User
0008 VMs and do I/O emulation.
0009 
0010 ACRN userspace is an application running in the Service VM that emulates
0011 devices for a User VM based on command line configurations. ACRN Hypervisor
0012 Service Module (HSM) is a kernel module in the Service VM which provides
0013 hypervisor services to the ACRN userspace.
0014 
0015 Below figure shows the architecture.
0016 
0017 ::
0018 
0019                 Service VM                    User VM
0020       +----------------------------+  |  +------------------+
0021       |        +--------------+    |  |  |                  |
0022       |        |ACRN userspace|    |  |  |                  |
0023       |        +--------------+    |  |  |                  |
0024       |-----------------ioctl------|  |  |                  |   ...
0025       |kernel space   +----------+ |  |  |                  |
0026       |               |   HSM    | |  |  | Drivers          |
0027       |               +----------+ |  |  |                  |
0028       +--------------------|-------+  |  +------------------+
0029   +---------------------hypercall----------------------------------------+
0030   |                         ACRN Hypervisor                              |
0031   +----------------------------------------------------------------------+
0032   |                          Hardware                                    |
0033   +----------------------------------------------------------------------+
0034 
0035 ACRN userspace allocates memory for the User VM, configures and initializes the
0036 devices used by the User VM, loads the virtual bootloader, initializes the
0037 virtual CPU state and handles I/O request accesses from the User VM. It uses
0038 ioctls to communicate with the HSM. HSM implements hypervisor services by
0039 interacting with the ACRN Hypervisor via hypercalls. HSM exports a char device
0040 interface (/dev/acrn_hsm) to userspace.
0041 
0042 The ACRN hypervisor is open for contribution from anyone. The source repo is
0043 available at https://github.com/projectacrn/acrn-hypervisor.