Documentation: add pictures to Trusty documentation

A couple of diagram were written using text characters. This
commit changes that to use pictures instead.

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
This commit is contained in:
Geoffroy Van Cutsem 2018-07-04 00:43:39 +02:00 committed by David Kinder
parent d24179550e
commit f7d78289ee
4 changed files with 12 additions and 58 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -25,26 +25,9 @@ there's a desire to keep things small and lightweight. LK has been chosen as the
Trusty Architecture
*******************
Trusty Architectural diagram::
+---------------------------+
|VMn |
| ...... |
+------------+ +---------------------------+ |
|VM0 | |VM1 | |
| | | +--------+ +--------+ | |
| | | | | | | | |
| SOS | | | Normal | | Secure | | |
| | | | World | | World | |-+
| | | | | | | |
| | | +--------+ +--------+ |
+------------+ +---------------------------+
+-------------------------------------------+
| ACRN Hypervisor |
+-------------------------------------------+
+-------------------------------------------+
| HW |
+-------------------------------------------+
.. figure:: images/trusty-arch.png
:align: center
:name: Trusty Architectural diagram
.. note::
Trusty OS is running in Secure World in the architecture drawing above.
@ -118,39 +101,9 @@ modify Normal World's EPT during runtime such as increasing memory, changing att
etc. If such behavior happened, only PD and PT for Normal World need to
be updated.
::
ABSTRACT EPT hierarchy for 2 Worlds:
==================================================================== ==================================================
: Normal World : : Secure World :
: PML4 : : PML4 :
: +--------+ : : +--------+ :
: | | : : | | :
: | | : : PD | | :
: | | : : +-------+ | | :
: | | : : | | | | :
: | 0-512G |--+ : : | | +--| 0-512G | :
:EPTP -->+--------+ | : : | | | +--------+<-- EPTP :
: | PDPT : : | | PDPT | :
: | +--------+ : : | | +--------+ | :
: | | >=511G |---> Not present : : +-------+<--| >=511G | | :
: | |________| : : |________| | :
: | | | : : | | | :
: | | <511G |->+<----------------------------:--------:--------------| <511G | | :
: | | | | : : | | | :
: +-->+--------+ | PD PT : : +--------+<-+ :
: | ... ... : ==================================================
: | +-------+ +-------+ :
: | +-------+| +-------+| :
: | | || | || :
: | | || | || :
: | | PDE |--+ | || :
: | | || | | || :
: | | |+ | | |+ :
: +-->+-------+ +-->+-------+ :
: :
====================================================================
.. figure:: images/ept-hierarchy.png
:align: center
:name: EPT hierarchy
API
===

View File

@ -334,11 +334,12 @@ int64_t hcall_get_cpu_pm_state(struct vm *vm, uint64_t cmd, uint64_t param);
/**
* @brief Switch vCPU state between Normal/Secure World.
*
* * Hypervisor uses the Secure Monitor Code (SMC) instruction to do
* the world switch
* * The hypervisor needs to save current world vCPU contexts, and load
* the next world vCPU contexts
* * Updates ``rdi``, ``rsi``, ``rdx``, ``rbx`` to next world vCPU contexts
* * The hypervisor uses this hypercall to do the world switch
* * The hypervisor needs to:
* * save current world vCPU contexts, and load the next world
* vCPU contexts
* * update ``rdi``, ``rsi``, ``rdx``, ``rbx`` to next world
* vCPU contexts
*
* @param vcpu Pointer to VCPU data structure
*