xref: /rk3399_ARM-atf/docs/resources/diagrams/plantuml/sdei_general.puml (revision ced1711297347f24fee45e75e73c7767507a0982)
1*a2c320a8SPaul Beesley/'
2*a2c320a8SPaul Beesley ' Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
3*a2c320a8SPaul Beesley '
4*a2c320a8SPaul Beesley ' SPDX-License-Identifier: BSD-3-Clause
5*a2c320a8SPaul Beesley '/
6*a2c320a8SPaul Beesley
7*a2c320a8SPaul Beesley@startuml
8*a2c320a8SPaul Beesley
9*a2c320a8SPaul Beesleyautonumber "<b>[#]</b>"
10*a2c320a8SPaul Beesleyparticipant "SDEI client" as EL2
11*a2c320a8SPaul Beesleyparticipant EL3
12*a2c320a8SPaul Beesleyparticipant "SDEI interrupt source" as SDEI
13*a2c320a8SPaul Beesley
14*a2c320a8SPaul Beesleyactivate EL2
15*a2c320a8SPaul BeesleyEL2->EL3: **SDEI_INTERRUPT_BIND**(irq)
16*a2c320a8SPaul BeesleyEL3->EL2: event number: ev
17*a2c320a8SPaul BeesleyEL2->EL3: **SDEI_EVENT_REGISTER**(ev, handler, ...)
18*a2c320a8SPaul BeesleyEL3->EL2: success
19*a2c320a8SPaul BeesleyEL2->EL3: **SDEI_EVENT_ENABLE**(ev)
20*a2c320a8SPaul BeesleyEL3->EL2: success
21*a2c320a8SPaul BeesleyEL2->EL3: **SDEI_PE_UNMASK**()
22*a2c320a8SPaul BeesleyEL3->EL2: 1
23*a2c320a8SPaul Beesley
24*a2c320a8SPaul Beesley... <<Business as usual>> ...
25*a2c320a8SPaul Beesley
26*a2c320a8SPaul BeesleySDEI-->EL3: SDEI interrupt
27*a2c320a8SPaul Beesleyactivate SDEI #salmon
28*a2c320a8SPaul Beesleyactivate EL3 #red
29*a2c320a8SPaul Beesleynote over EL3: Prepare SDEI dispatch
30*a2c320a8SPaul BeesleyEL3->EL2: dispatch
31*a2c320a8SPaul Beesleyactivate EL2 #salmon
32*a2c320a8SPaul Beesleynote over EL2: SDEI handler
33*a2c320a8SPaul BeesleyEL2->EL3: **SDEI_EVENT_COMPLETE()**
34*a2c320a8SPaul Beesleydeactivate EL2
35*a2c320a8SPaul Beesleynote over EL3: Complete SDEI dispatch
36*a2c320a8SPaul BeesleyEL3-->SDEI: EOI
37*a2c320a8SPaul Beesleydeactivate SDEI
38*a2c320a8SPaul BeesleyEL3->EL2: resumes preempted execution
39*a2c320a8SPaul Beesleydeactivate EL3
40*a2c320a8SPaul Beesley
41*a2c320a8SPaul Beesley... <<Normal execution resumes>> ...
42*a2c320a8SPaul Beesley
43*a2c320a8SPaul Beesley@enduml
44