cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

introduction.rst (2143B)


      1.. SPDX-License-Identifier: GPL-2.0
      2
      3ACRN Hypervisor Introduction
      4============================
      5
      6The ACRN Hypervisor is a Type 1 hypervisor, running directly on bare-metal
      7hardware. It has a privileged management VM, called Service VM, to manage User
      8VMs and do I/O emulation.
      9
     10ACRN userspace is an application running in the Service VM that emulates
     11devices for a User VM based on command line configurations. ACRN Hypervisor
     12Service Module (HSM) is a kernel module in the Service VM which provides
     13hypervisor services to the ACRN userspace.
     14
     15Below figure shows the architecture.
     16
     17::
     18
     19                Service VM                    User VM
     20      +----------------------------+  |  +------------------+
     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 the
     36devices used by the User VM, loads the virtual bootloader, initializes the
     37virtual CPU state and handles I/O request accesses from the User VM. It uses
     38ioctls to communicate with the HSM. HSM implements hypervisor services by
     39interacting with the ACRN Hypervisor via hypercalls. HSM exports a char device
     40interface (/dev/acrn_hsm) to userspace.
     41
     42The ACRN hypervisor is open for contribution from anyone. The source repo is
     43available at https://github.com/projectacrn/acrn-hypervisor.