1 .. SPDX-License-Identifier: GPL-2.0 1 .. SPDX-License-Identifier: GPL-2.0 2 2 3 ACRN Hypervisor Introduction 3 ACRN Hypervisor Introduction 4 ============================ 4 ============================ 5 5 6 The ACRN Hypervisor is a Type 1 hypervisor, ru 6 The ACRN Hypervisor is a Type 1 hypervisor, running directly on bare-metal 7 hardware. It has a privileged management VM, c 7 hardware. It has a privileged management VM, called Service VM, to manage User 8 VMs and do I/O emulation. 8 VMs and do I/O emulation. 9 9 10 ACRN userspace is an application running in th 10 ACRN userspace is an application running in the Service VM that emulates 11 devices for a User VM based on command line co 11 devices for a User VM based on command line configurations. ACRN Hypervisor 12 Service Module (HSM) is a kernel module in the 12 Service Module (HSM) is a kernel module in the Service VM which provides 13 hypervisor services to the ACRN userspace. 13 hypervisor services to the ACRN userspace. 14 14 15 Below figure shows the architecture. 15 Below figure shows the architecture. 16 16 17 :: 17 :: 18 18 19 Service VM 19 Service VM User VM 20 +----------------------------+ | +---- 20 +----------------------------+ | +------------------+ 21 | +--------------+ | | | 21 | +--------------+ | | | | 22 | |ACRN userspace| | | | 22 | |ACRN userspace| | | | | 23 | +--------------+ | | | 23 | +--------------+ | | | | 24 |-----------------ioctl------| | | 24 |-----------------ioctl------| | | | ... 25 |kernel space +----------+ | | | 25 |kernel space +----------+ | | | | 26 | | HSM | | | | Dri 26 | | HSM | | | | Drivers | 27 | +----------+ | | | 27 | +----------+ | | | | 28 +--------------------|-------+ | +---- 28 +--------------------|-------+ | +------------------+ 29 +---------------------hypercall------------- 29 +---------------------hypercall----------------------------------------+ 30 | ACRN Hypervisor 30 | ACRN Hypervisor | 31 +------------------------------------------- 31 +----------------------------------------------------------------------+ 32 | Hardware 32 | Hardware | 33 +------------------------------------------- 33 +----------------------------------------------------------------------+ 34 34 35 ACRN userspace allocates memory for the User V 35 ACRN userspace allocates memory for the User VM, configures and initializes the 36 devices used by the User VM, loads the virtual 36 devices used by the User VM, loads the virtual bootloader, initializes the 37 virtual CPU state and handles I/O request acce 37 virtual CPU state and handles I/O request accesses from the User VM. It uses 38 ioctls to communicate with the HSM. HSM implem 38 ioctls to communicate with the HSM. HSM implements hypervisor services by 39 interacting with the ACRN Hypervisor via hyper 39 interacting with the ACRN Hypervisor via hypercalls. HSM exports a char device 40 interface (/dev/acrn_hsm) to userspace. 40 interface (/dev/acrn_hsm) to userspace. 41 41 42 The ACRN hypervisor is open for contribution f 42 The ACRN hypervisor is open for contribution from anyone. The source repo is 43 available at https://github.com/projectacrn/ac 43 available at https://github.com/projectacrn/acrn-hypervisor.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.