1/' 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 "SDEI interrupt source" as SDEI 13 14activate EL2 15EL2->EL3: **SDEI_INTERRUPT_BIND**(irq) 16EL3->EL2: event number: ev 17EL2->EL3: **SDEI_EVENT_REGISTER**(ev, handler, ...) 18EL3->EL2: success 19EL2->EL3: **SDEI_EVENT_ENABLE**(ev) 20EL3->EL2: success 21EL2->EL3: **SDEI_PE_UNMASK**() 22EL3->EL2: 1 23 24... <<Business as usual>> ... 25 26SDEI-->EL3: SDEI interrupt 27activate SDEI #salmon 28activate EL3 #red 29note over EL3: Prepare SDEI dispatch 30EL3->EL2: dispatch 31activate EL2 #salmon 32note over EL2: SDEI handler 33EL2->EL3: **SDEI_EVENT_COMPLETE()** 34deactivate EL2 35note over EL3: Complete SDEI dispatch 36EL3-->SDEI: EOI 37deactivate SDEI 38EL3->EL2: resumes preempted execution 39deactivate EL3 40 41... <<Normal execution resumes>> ... 42 43@enduml 44