Lines Matching refs:interrupt
541 Additionally a secure interrupt can pre-empt the normal world execution and give
745 - Schedule Receiver Interrupt: non-secure physical interrupt to be handled by
751 - Notifications Pending Interrupt: virtual interrupt to be handled by the
1091 allocated CPU cycles by SPMC to handle a secure interrupt.
1106 trapped at S-EL2. The SPMC manages interrupt resources and allocates interrupt
1112 - NS-Int: A non-secure physical interrupt. It requires a switch to the normal
1114 - Other S-Int: A secure physical interrupt targeted to an SP different from
1116 - Self S-Int: A secure physical interrupt targeted to the SP that is currently
1119 Non-secure interrupt handling
1123 interrupt as per the guidance provided by FF-A v1.1 EAC0 specification.
1126 - Non-secure interrupt is signaled.
1127 - Non-secure interrupt is signaled after a managed exit.
1128 - Non-secure interrupt is queued.
1136 Secure interrupt handling
1139 This section documents the support implemented for secure interrupt handling in
1144 virtualized ABIs for interrupt management rather than accessing the virtual
1152 to corresponding CPUs. Hence, a secure virtual interrupt cannot be signaled
1156 A physical secure interrupt could trigger while CPU is executing in normal world
1158 The action of SPMC for a secure interrupt depends on: the state of the target
1159 execution context of the SP that is responsible for handling the interrupt;
1160 whether the interrupt triggered while execution was in normal world or secure
1163 Secure interrupt signaling mechanisms
1167 context that it has a pending virtual interrupt and to further run the SP
1168 execution context, such that it can handle the virtual interrupt. SPMC uses
1170 to S-EL1 SPs. When normal world execution is preempted by a secure interrupt,
1171 the SPMD uses the FFA_INTERRUPT ABI with ERET conduit to signal interrupt to SPMC
1179 | | vIRQ | Interrupt ID | interrupt. It pends vIRQ signal and |
1183 | BLOCKED | ERET, | FFA_INTERRUPT | SPMC signals to SP that an interrupt |
1195 Secure interrupt completion mechanisms
1198 A SP signals secure interrupt handling completion to the SPMC through the
1206 implemented by SPMC to perform priority drop and interrupt deactivation (SPMC
1210 deactivation of the secure virtual interrupt.
1212 If the current SP execution context was preempted by a secure interrupt to be
1216 Actions for a secure interrupt triggered while execution is in normal world
1227 | | | by a non-secure interrupt. SPMC queues the |
1228 | | | secure virtual interrupt now. It is signaled |
1238 If normal world execution was preempted by a secure interrupt, SPMC uses
1239 FFA_NORMAL_WORLD_RESUME ABI to indicate completion of secure interrupt handling
1242 The following figure describes interrupt handling flow when a secure interrupt
1245 .. image:: ../resources/diagrams/ffa-secure-interrupt-handling-nwd.png
1249 - 1) Secure interrupt triggers while normal world is running.
1251 - 3) SPMD signals secure interrupt to SPMC at S-EL2 using FFA_INTERRUPT ABI.
1252 - 4) SPMC identifies target vCPU of SP and injects virtual interrupt (pends
1254 - 5) Assuming SP1 vCPU is in WAITING state, SPMC signals virtual interrupt
1255 using FFA_INTERRUPT with interrupt id as an argument and resumes the SP1
1258 interrupt is not masked i.e., PSTATE.I = 0
1259 - 7) SP1 queries for the pending virtual interrupt id using a paravirtualized
1260 HVC call. SPMC clears the pending virtual interrupt state management
1261 and returns the pending virtual interrupt id.
1262 - 8) SP1 services the virtual interrupt and invokes the paravirtualized
1263 de-activation HVC call. SPMC de-activates the physical interrupt,
1264 clears the fields tracking the secure interrupt and resumes SP1 vCPU.
1265 - 9) SP1 performs secure interrupt completion through FFA_MSG_WAIT ABI.
1269 Actions for a secure interrupt triggered while execution is in secure world
1281 | | | interrupt. |
1283 | PREEMPTED by | Queued | SPMC queues the secure virtual interrupt now. |
1298 The following figure describes interrupt handling flow when a secure interrupt
1303 .. image:: ../resources/diagrams/ffa-secure-interrupt-handling-swd.png
1307 - 1) Secure interrupt triggers while SP2 is running.
1310 this secure interrupt. In this scenario, it is SP1.
1315 interrupt is not masked i.e., PSTATE.I = 0
1316 - 7) SP1 queries for the pending virtual interrupt id using a paravirtualized
1317 HVC call. SPMC clears the pending virtual interrupt state management
1318 and returns the pending virtual interrupt id.
1319 - 8) SP1 services the virtual interrupt and invokes the paravirtualized
1320 de-activation HVC call. SPMC de-activates the physical interrupt and
1321 clears the fields tracking the secure interrupt and resumes SP1 vCPU.