ATF官方文档翻译(二一):中断管理框架( Interrupt Management Framework)-其他注意事项

本文档介绍了在安全有效负载中,中断如何抢占SMC调用,特别是非安全中断可能导致SMC执行中断,然后通过特定的恢复SMC(如TSP_FID_RESUME)来恢复中断的SMC。快速SMC不会被抢占。测试期间,非安全软件序列涉及检查SMC是否被抢占,并在抢占发生时发出恢复SMC,直到调用成功或失败。
摘要由CSDN通过智能技术生成

6.其他注意事项

6.1.抢占SMC对非安全软件的影响

对安全有效负载的yeild SMC调用可以被非安全中断抢占,并且执行可以返回到非安全世界来处理中断(有关让步SMC的详细信息,请参阅SMC调用约定)。在这种情况下,SMC调用尚未完成其执行,执行必须返回到安全有效负载以恢复被抢占的SMC调用。这可以通过发出指示恢复被抢占的SMC的SMC呼叫来实现。

fast SMC不能被抢占,因此这种情况不会发生在fast SMC呼叫中。

在测试安全有效载荷实现中,TSP_FID_RESUME被指定为恢复SMC FID。需要注意的是,TSP_FID_RESUME是一个让步SMC,这意味着它也可以被抢占。假设P.STATE.I=0处于非安全状态,用于发出让步SMC的典型非安全软件序列如下所示:

int rc;
rc = smc(TSP_YIELD_SMC_FID, ...);     /* Issue a Yielding SMC call */
/* The pending non-secure interrupt is handled by the interrupt handler
   and returns back here. */
while (rc == SMC_PREEMPTED) {       /* Check if the SMC call is preempted */
    rc 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TrustZone_Hcoco

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值