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:
parent
d24179550e
commit
f7d78289ee
Binary file not shown.
After Width: | Height: | Size: 45 KiB |
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
|
@ -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
|
||||
===
|
||||
|
|
|
@ -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
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue