doc: updated What is ACRN introduction

* Update and simplify our What is ACRN document.
* Removed SDC disussion and out-of-date best known configuration
  descriptions and scenario block diagrams
* Removed I/O Mediator discussion from "What is ACRN" and move
  referenced label to content in the HLD overview (that was duplicated in
  "What is ACRN")
* Updated images for scenarios and removed obsolete images
* Add references to new overview docs and GSG
* Add general description of VMs in example scenarios

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
This commit is contained in:
David B. Kinder 2021-09-16 13:42:23 -07:00 committed by David Kinder
parent 306d624795
commit 4315ae26b6
19 changed files with 407 additions and 800 deletions

View File

@ -175,6 +175,9 @@ ACRN adopts various approaches for emulating devices for the User VM:
resources (mostly data-plane related) are passed-through to the User VMs and
others (mostly control-plane related) are emulated.
.. _ACRN-io-mediator:
I/O Emulation
-------------
@ -193,6 +196,7 @@ I/O read from the User VM.
I/O (PIO/MMIO) Emulation Path
:numref:`overview-io-emu-path` shows an example I/O emulation flow path.
When a guest executes an I/O instruction (port I/O or MMIO), a VM exit
happens. The HV takes control and executes the request based on the VM exit
reason ``VMX_EXIT_REASON_IO_INSTRUCTION`` for port I/O access, for
@ -224,8 +228,9 @@ HSM/hypercall. The HV then stores the result to the guest register
context, advances the guest IP to indicate the completion of instruction
execution, and resumes the guest.
MMIO access path is similar except for a VM exit reason of *EPT
violation*.
MMIO access path is similar except for a VM exit reason of *EPT violation*.
MMIO access is usually trapped through a ``VMX_EXIT_REASON_EPT_VIOLATION`` in
the hypervisor.
DMA Emulation
-------------

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

View File

@ -1,7 +1,7 @@
digraph G {
rankdir=LR;
bgcolor="transparent";
UEFI -> "GRUB" -> "acrn.32.out" -> "Pre-launched\nVM Kernel"
"acrn.32.out" -> "Service VM\nKernel" -> "ACRN\nDevice Model" ->
UEFI -> "GRUB" -> "acrn.bin" -> "Pre-launched\nVM Kernel"
"acrn.bin" -> "Service VM\nKernel" -> "ACRN\nDevice Model" ->
"Virtual\nBootloader";
}

View File

@ -1,6 +0,0 @@
digraph G {
rankdir=LR;
bgcolor="transparent";
UEFI -> "acrn.efi" -> "OS\nBootloader" ->
"SOS\nKernel" -> "ACRN\nDevice Model" -> "Virtual\nBootloader";
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

File diff suppressed because it is too large Load Diff