From 52558e080d56a619a1477b19e33f88b754bb93a6 Mon Sep 17 00:00:00 2001 From: Madhukar Pappireddy Date: Thu, 23 Sep 2021 14:29:05 -0500 Subject: [PATCH] docs(spm): secure interrupt management in SPMC Change-Id: I9bed67e4146ae92123ab925334e37fb0d3677ef1 Signed-off-by: Madhukar Pappireddy --- docs/components/secure-partition-manager.rst | 152 +++++++++++++++++- .../ffa-secure-interrupt-handling-nwd.png | Bin 0 -> 48073 bytes .../ffa-secure-interrupt-handling-swd.png | Bin 0 -> 48364 bytes 3 files changed, 148 insertions(+), 4 deletions(-) create mode 100755 docs/resources/diagrams/ffa-secure-interrupt-handling-nwd.png create mode 100755 docs/resources/diagrams/ffa-secure-interrupt-handling-swd.png diff --git a/docs/components/secure-partition-manager.rst b/docs/components/secure-partition-manager.rst index fa51fe026..057226181 100644 --- a/docs/components/secure-partition-manager.rst +++ b/docs/components/secure-partition-manager.rst @@ -776,11 +776,155 @@ by the SPMC: .. image:: ../resources/diagrams/ffa-ns-interrupt-handling-sp-preemption.png Secure interrupt handling -~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------- + +This section documents the support implemented for secure interrupt handling in +SPMC as per the guidance provided by FF-A v1.1 Beta0 specification. +The following assumptions are made about the system configuration: + + - In the current implementation, S-EL1 SPs are expected to use the para + virtualized ABIs for interrupt management rather than accessing virtual GIC + interface. + - Unless explicitly stated otherwise, this support is applicable only for + S-EL1 SPs managed by SPMC. + - Secure interrupts are configured as G1S or G0 interrupts. + - All physical interrupts are routed to SPMC when running a secure partition + execution context. + +A physical secure interrupt could preempt normal world execution. Moreover, when +the execution is in secure world, it is highly likely that the target of a +secure interrupt is not the currently running execution context of an SP. It +could be targeted to another FF-A component. Consequently, secure interrupt +management depends on the state of the target execution context of the SP that +is responsible for handling the interrupt. Hence, the spec provides guidance on +how to signal start and completion of secure interrupt handling as discussed in +further sections. + +Secure interrupt signaling mechanisms +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Signaling refers to the mechanisms used by SPMC to indicate to the SP execution +context that it has a pending virtual interrupt and to further run the SP +execution context, such that it can handle the virtual interrupt. SPMC uses +either the FFA_INTERRUPT interface with ERET conduit or vIRQ signal for signaling +to S-EL1 SPs. When normal world execution is preempted by a secure interrupt, +the SPMD uses the FFA_INTERRUPT ABI with ERET conduit to signal interrupt to SPMC +running in S-EL2. + ++-----------+---------+---------------+---------------------------------------+ +| SP State | Conduit | Interface and | Description | +| | | parameters | | ++-----------+---------+---------------+---------------------------------------+ +| WAITING | ERET, | FFA_INTERRUPT,| SPMC signals to SP the ID of pending | +| | vIRQ | Interrupt ID | interrupt. It pends vIRQ signal and | +| | | | resumes execution context of SP | +| | | | through ERET. | ++-----------+---------+---------------+---------------------------------------+ +| BLOCKED | ERET, | FFA_INTERRUPT | SPMC signals to SP that an interrupt | +| | vIRQ | | is pending. It pends vIRQ signal and | +| | | | resumes execution context of SP | +| | | | through ERET. | ++-----------+---------+---------------+---------------------------------------+ +| PREEMPTED | vIRQ | NA | SPMC pends the vIRQ signal but does | +| | | | not resume execution context of SP. | ++-----------+---------+---------------+---------------------------------------+ +| RUNNING | ERET, | NA | SPMC pends the vIRQ signal and resumes| +| | vIRQ | | execution context of SP through ERET. | ++-----------+---------+---------------+---------------------------------------+ + +Secure interrupt completion mechanisms +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A SP signals secure interrupt handling completion to the SPMC through the +following mechanisms: + + - ``FFA_MSG_WAIT`` ABI if it was in WAITING state. + - ``FFA_RUN`` ABI if its was in BLOCKED state. + +In the current implementation, S-EL1 SPs use para-virtualized HVC interface +implemented by SPMC to perform priority drop and interrupt deactivation (we +assume EOImode = 0, i.e. priority drop and deactivation are done together). + +If normal world execution was preempted by secure interrupt, SPMC uses +FFA_NORMAL_WORLD_RESUME ABI to indicate completion of secure interrupt handling +and further return execution to normal world. If the current SP execution +context was preempted by a secure interrupt to be handled by execution context +of target SP, SPMC resumes current SP after signal completion by target SP +execution context. + +An action is broadly a set of steps taken by the SPMC in response to a physical +interrupt. In order to simplify the design, the current version of secure +interrupt management support in SPMC (Hafnium) does not fully implement the +Scheduling models and Partition runtime models. However, the current +implementation loosely maps to the following actions that are legally allowed +by the specification. Please refer to the Table 8.4 in the spec for further +description of actions. The action specified for a type of interrupt when the +SP is in the message processing running state cannot be less permissive than the +action specified for the same type of interrupt when the SP is in the interrupt +handling running state. + ++--------------------+--------------------+------------+-------------+ +| Runtime Model | NS-Int | Self S-Int | Other S-Int | ++--------------------+--------------------+------------+-------------+ +| Message Processing | Signalable with ME | Signalable | Signalable | ++--------------------+--------------------+------------+-------------+ +| Interrupt Handling | Queued | Queued | Queued | ++--------------------+--------------------+------------+-------------+ + +Abbreviations: + + - NS-Int: A Non-secure physical interrupt. It requires a switch to the Normal + world to be handled. + - Other S-Int: A secure physical interrupt targeted to an SP different from + the one that is currently running. + - Self S-Int: A secure physical interrupt targeted to the SP that is currently + running. + +The following figure describes interrupt handling flow when secure interrupt +triggers while in normal world: + +.. image:: ../resources/diagrams/ffa-secure-interrupt-handling-nwd.png + +A brief description of the events: + + - 1) Secure interrupt triggers while normal world is running. + - 2) FIQ gets trapped to EL3. + - 3) SPMD signals secure interrupt to SPMC at S-EL2 using FFA_INTERRUPT ABI. + - 4) SPMC identifies target vCPU of SP and injects virtual interrupt (pends + vIRQ). + - 5) Since SP1 vCPU is in WAITING state, SPMC signals using FFA_INTERRUPT with + interrupt id as argument and resume it using ERET. + - 6) Execution traps to vIRQ handler in SP1 provided that interrupt is not + masked i.e., PSTATE.I = 0 + - 7) SP1 services the interrupt and invokes the de-activation HVC call. + - 8) SPMC does internal state management and further de-activates the physical + interrupt and resumes SP vCPU. + - 9) SP performs secure interrupt completion through FFA_MSG_WAIT ABI. + - 10) SPMC returns control to EL3 using FFA_NORMAL_WORLD_RESUME. + - 11) EL3 resumes normal world execution. + +The following figure describes interrupt handling flow when secure interrupt +triggers while in secure world: + +.. image:: ../resources/diagrams/ffa-secure-interrupt-handling-swd.png + +A brief description of the events: + + - 1) Secure interrupt triggers while SP2 is running and SP1 is blocked. + - 2) Gets trapped to SPMC as IRQ. + - 3) SPMC finds the target vCPU of secure partition responsible for handling + this secure interrupt. In this scenario, it is SP1. + - 4) SPMC pends vIRQ for SP1 and signals through FFA_INTERRUPT interface. + SPMC further resumes SP1 through ERET conduit. + - 5) Execution traps to vIRQ handler in SP1 provided that interrupt is not + masked i.e., PSTATE.I = 0 + - 6) SP1 services the secure interrupt and invokes the de-activation HVC call. + - 7) SPMC does internal state management, de-activates the physical interrupt + and resumes SP1 vCPU. + - 8) Assuming SP1 is in BLOCKED state, SP1 performs secure interrupt completion + through FFA_RUN ABI. + - 9) SPMC resumes the pre-empted vCPU of SP2. -The current implementation does not support handling of secure interrupts -trapped by the SPMC at S-EL2. This is work in progress planned for future -releases. Power management ---------------- diff --git a/docs/resources/diagrams/ffa-secure-interrupt-handling-nwd.png b/docs/resources/diagrams/ffa-secure-interrupt-handling-nwd.png new file mode 100755 index 0000000000000000000000000000000000000000..c3186107bdc6984f3a41e0253e2f928f0d223b59 GIT binary patch literal 48073 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 literal 0 HcmV?d00001 diff --git a/docs/resources/diagrams/ffa-secure-interrupt-handling-swd.png b/docs/resources/diagrams/ffa-secure-interrupt-handling-swd.png new file mode 100755 index 0000000000000000000000000000000000000000..b62000d63d2b132edbb531f9a3142815a4164682 GIT binary patch literal 48364 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 a3*SwhUoYfVF0&PBuX#%MWR{wFz`p_J6uFH6 literal 0 HcmV?d00001