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 Architecture
******************* *******************
Trusty Architectural diagram:: .. figure:: images/trusty-arch.png
:align: center
+---------------------------+ :name: Trusty Architectural diagram
|VMn |
| ...... |
+------------+ +---------------------------+ |
|VM0 | |VM1 | |
| | | +--------+ +--------+ | |
| | | | | | | | |
| SOS | | | Normal | | Secure | | |
| | | | World | | World | |-+
| | | | | | | |
| | | +--------+ +--------+ |
+------------+ +---------------------------+
+-------------------------------------------+
| ACRN Hypervisor |
+-------------------------------------------+
+-------------------------------------------+
| HW |
+-------------------------------------------+
.. note:: .. note::
Trusty OS is running in Secure World in the architecture drawing above. 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 etc. If such behavior happened, only PD and PT for Normal World need to
be updated. be updated.
:: .. figure:: images/ept-hierarchy.png
:align: center
ABSTRACT EPT hierarchy for 2 Worlds: :name: EPT hierarchy
==================================================================== ==================================================
: Normal World : : Secure World :
: PML4 : : PML4 :
: +--------+ : : +--------+ :
: | | : : | | :
: | | : : PD | | :
: | | : : +-------+ | | :
: | | : : | | | | :
: | 0-512G |--+ : : | | +--| 0-512G | :
:EPTP -->+--------+ | : : | | | +--------+<-- EPTP :
: | PDPT : : | | PDPT | :
: | +--------+ : : | | +--------+ | :
: | | >=511G |---> Not present : : +-------+<--| >=511G | | :
: | |________| : : |________| | :
: | | | : : | | | :
: | | <511G |->+<----------------------------:--------:--------------| <511G | | :
: | | | | : : | | | :
: +-->+--------+ | PD PT : : +--------+<-+ :
: | ... ... : ==================================================
: | +-------+ +-------+ :
: | +-------+| +-------+| :
: | | || | || :
: | | || | || :
: | | PDE |--+ | || :
: | | || | | || :
: | | |+ | | |+ :
: +-->+-------+ +-->+-------+ :
: :
====================================================================
API 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. * @brief Switch vCPU state between Normal/Secure World.
* *
* * Hypervisor uses the Secure Monitor Code (SMC) instruction to do * * The hypervisor uses this hypercall to do the world switch
* the world switch * * The hypervisor needs to:
* * The hypervisor needs to save current world vCPU contexts, and load * * save current world vCPU contexts, and load the next world
* the next world vCPU contexts * vCPU contexts
* * Updates ``rdi``, ``rsi``, ``rdx``, ``rbx`` to next world vCPU contexts * * update ``rdi``, ``rsi``, ``rdx``, ``rbx`` to next world
* vCPU contexts
* *
* @param vcpu Pointer to VCPU data structure * @param vcpu Pointer to VCPU data structure
* *