44 lines · plain
1.. SPDX-License-Identifier: GPL-2.02 3ACRN Hypervisor Introduction4============================5 6The ACRN Hypervisor is a Type 1 hypervisor, running directly on bare-metal7hardware. It has a privileged management VM, called Service VM, to manage User8VMs and do I/O emulation.9 10ACRN userspace is an application running in the Service VM that emulates11devices for a User VM based on command line configurations. ACRN Hypervisor12Service Module (HSM) is a kernel module in the Service VM which provides13hypervisor services to the ACRN userspace.14 15Below figure shows the architecture.16 17::18 19 Service VM User VM20 +----------------------------+ | +------------------+21 | +--------------+ | | | |22 | |ACRN userspace| | | | |23 | +--------------+ | | | |24 |-----------------ioctl------| | | | ...25 |kernel space +----------+ | | | |26 | | HSM | | | | Drivers |27 | +----------+ | | | |28 +--------------------|-------+ | +------------------+29 +---------------------hypercall----------------------------------------+30 | ACRN Hypervisor |31 +----------------------------------------------------------------------+32 | Hardware |33 +----------------------------------------------------------------------+34 35ACRN userspace allocates memory for the User VM, configures and initializes the36devices used by the User VM, loads the virtual bootloader, initializes the37virtual CPU state and handles I/O request accesses from the User VM. It uses38ioctls to communicate with the HSM. HSM implements hypervisor services by39interacting with the ACRN Hypervisor via hypercalls. HSM exports a char device40interface (/dev/acrn_hsm) to userspace.41 42The ACRN hypervisor is open for contribution from anyone. The source repo is43available at https://github.com/projectacrn/acrn-hypervisor.44