introduction.rst 2.1 KB

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