SMMU软件指南SMMU编程之事件队列

安全之安全(security²)博客目录导读


如果发生一组配置错误和故障,这些将记录在事件队列中。这些错误和故障包括因设备流量引发的事件,例如:

  • 当收到设备流量时,发现配置错误
  • 因设备流量地址引发的页面错误

**每个安全状态都有一个事件队列。**当事件队列从空状态变为非空状态时,SMMU会生成一个中断。队列的结构与命令队列相同,唯一的不同在于生产者和消费者的角色是相反的。在命令队列中,SMMU是消费者;而在事件队列中,SMMU是生产者。

连续的传输错误或故障可能会填满事件队列,如果未能快速消费事件导致队列溢出。对于由于暂停的故障传输(stalled faulting transactions)引起的事件,当事件队列已满时永远不会被丢弃。它们将在队列条目被消费并有空间可用时记录。其他类型的事件则会在事件队列已满时被丢弃。系统软件应快速消费事件队列中的条目,以避免正常操作期间出现溢出。

4.9.1 事件记录

事件记录大小为32字节,所有记录均为小端格式。事件队列中可能记录的事件类别有三种:

  • 配置错误
  • 翻译过程中的故障
  • 其他

以下是一些示例:

  • CERROR_ILL:非法或无法识别的命令
  • C_BAD_STREAMID:事务StreamID超出范围
  • C_BAD_STE:使用了无效的STE
  • F_TRANSLATION:翻译错误

有关事件记录的完整描述,请参阅《Arm System Memory Management Unit version 3》。

相关推荐
棉猴4 个月前
Pygame中获取鼠标位置的方法
pygame·mousemotion·鼠标实时坐标·get_pos·事件队列
Hello Mr.Z6 个月前
Cortex-A510——SMMU
嵌入式·arm·smmu
安全二次方security²6 个月前
ARM-V9 RME(Realm Management Extension)系统架构之系统安全能力的RAS
arm安全架构·cca·机密计算·ras·领域管理扩展·rme·系统安全能力
安全二次方security²7 个月前
ARM-V9 RME(Realm Management Extension)系统架构之系统能力的设备隔离和保护
系统架构·arm安全架构·cca·机密计算·领域管理扩展·rme·设备隔离和防护
安全二次方security²7 个月前
ARM架构安全特性之防御执行技术
分支目标识别·侧信道攻击·栈溢出攻击·arm安全架构·指针认证·内存标记扩展·推测屏障指令
安全二次方security²8 个月前
ARM FVP平台的terminal窗口大小如何设置
arm·optee·arm安全架构·fvp·窗口大小设置·fixed virtual·fast models
安全二次方security²10 个月前
TF-A之供应链威胁模型分析
atf·tf-a·供应链·arm安全架构·arm架构·supply chain·威胁模型
安全二次方security²10 个月前
ARM PAC/BTI/MTE三剑客精讲与实战
bti·分支目标识别·arm安全架构·pac·指针认证·mte·内存标记扩展
安全二次方security²1 年前
ARM PAC指针认证的侧信道攻击——PACMAN安全漏洞
arm安全·pacman·侧信道攻击·arm安全架构·pac·指针认证·rop/jop