blob: 51214f536e475ea4bfa371f14a21f5901dfc0909 [file] [log] [blame]
Jeenu Viswambharancafad7b2017-10-18 14:35:20 +01001/'
2 ' Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
3 '
4 ' SPDX-License-Identifier: BSD-3-Clause
5 '/
6
7@startuml
8
9autonumber "<b>[#]</b>"
10participant "SDEI client" as EL2
11participant EL3
12participant SEL1
13
14activate EL2
15EL2->EL3: **SDEI_EVENT_REGISTER**(ev, handler, ...)
16EL3->EL2: success
17EL2->EL3: **SDEI_EVENT_ENABLE**(ev)
18EL3->EL2: success
19EL2->EL3: **SDEI_PE_UNMASK**()
20EL3->EL2: 1
21
22... <<Business as usual>> ...
23
24EL3<--]: **CRITICAL EVENT**
25activate EL3 #red
26note over EL3: Critical event triage
27EL3->SEL1: dispatch
28activate SEL1 #salmon
29note over SEL1: Critical event handling
30SEL1->EL3: done
31deactivate SEL1
32EL3-->EL3: sdei_dispatch_event(ev)
33note over EL3: Prepare SDEI dispatch
34EL3->EL2: dispatch
35activate EL2 #salmon
36note over EL2: SDEI handler
37EL2->EL3: **SDEI_EVENT_COMPLETE()**
38deactivate EL2
39note over EL3: Complete SDEI dispatch
40EL3->EL2: resumes preempted execution
41deactivate EL3
42
43... <<Normal execution resumes>> ...
44
45@enduml