Skip to content

Commit

Permalink
core: update the diagram SMC entry to secure world
Browse files Browse the repository at this point in the history
Replace the implementation of the diagram "SMC entry to secure world"
using platuml.

Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
  • Loading branch information
jenswi-linaro authored and jbech-linaro committed May 11, 2021
1 parent bc04986 commit 2c39d74
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 30 deletions.
29 changes: 25 additions & 4 deletions architecture/core.rst
Original file line number Diff line number Diff line change
Expand Up @@ -146,10 +146,31 @@ with IRQ and FIQ blocked. SMCs are categorised in two flavors: **fast** and
and optee_os invokes the Monitor through a SMC to return to the normal
world.

.. figure:: ../images/core/interrupt_handling/tee_invoke.png
:figclass: align-center

SMC entry to secure world

.. uml::
:align: center
:caption: SMC entry to secure world

participant "Normal World" as nwd
participant "Secure Monitor" as smon
participant "OP-TEE OS entry" as entry
participant "OP-TEE OS" as optee
== IRQ and FIQ unmasked ==
nwd -> smon : smc: TEE_FUNC_INVOKE
smon -> smon : Save non-secure context
smon -> smon : Restore secure context
smon --> entry : eret: TEE_FUNC_INVOKE
entry -> entry : assign thread
entry -> optee : TEE_FUNC_INVOKE
== IRQ and FIQ unmasked ==
optee -> optee : process
== IRQ and FIQ masked ==
optee --> entry : SMC_CALL_RETURN
entry -> smon : smc: SMC_CALL_RETURN
smon -> smon : Save secure context
smon -> smon : Restore non-secure context
== IRQ and FIQ unmasked ==
smon --> nwd : eret: return

Deliver non-secure interrupts to Normal World
=============================================
Expand Down
2 changes: 1 addition & 1 deletion images/core/interrupt_handling/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
.PHONY: all
all:

MSC_SRCS = tee_invoke.msc irq.msc fiq.msc irq_fiq.msc
MSC_SRCS = irq.msc fiq.msc irq_fiq.msc

PNGS += $(MSC_SRCS:.msc=.png)

Expand Down
25 changes: 0 additions & 25 deletions images/core/interrupt_handling/tee_invoke.msc

This file was deleted.

Binary file removed images/core/interrupt_handling/tee_invoke.png
Binary file not shown.

0 comments on commit 2c39d74

Please sign in to comment.