mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-07-01 09:42:10 +00:00
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
BIN
doc/developer-guides/images/ept-hierarchy.png
Normal file
BIN
doc/developer-guides/images/ept-hierarchy.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 45 KiB |
BIN
doc/developer-guides/images/trusty-arch.png
Normal file
BIN
doc/developer-guides/images/trusty-arch.png
Normal file
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 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
|
||||||
===
|
===
|
||||||
|
@ -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
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user