Hi,

EHF activates the routing model for  ‘INTR_TYPE_EL3’  CSS = 0 , TEL3 = 1  ie  FIQ trapped to EL3  and not visible and not mask-able to lower ELs.

Which means G0 interrupts (all EHF interrupts) expected to preempt any execution context. And secure state cannot mask such interrupts

eg: critical error interrupts. Sort of NMI behavior.

 

However from TSPD code I see ‘TSP_NS_INTR_ASYNC_PREEMPT’ enforces a slightly different behavior. G0 interrupt cannot preempt a fast smc handler in SPD.

Except during yielding SMC  ‘disable_intr_rm_local(INTR_TYPE_NS, SECURE);’  is in effect.  Intention is to avoid NS interrupt preempt secure execution (Fast SMC).

But I think that will also disable G0 interrupt as both NS interrupt and G0 interrupt are on FIQ.

This is my understanding from the code please confirm if this is correct.

 

Do we think it is not aligned with G0 interrupt preemption rule. Or do we treat Fast SMC at S_EL1/EL2  as non interruptible.

 

I want to handle something similar in OP-TEED along with EHF depending on what is the expected behavior.

 

Thanks

Sandeep