Trustzone ARMv8/ARMv9

Trustzone

Trustzone架构图

SCR 寄存器, 0 表示 安全,1表示非安全
AXI总线, AWPROT [1] , ARPROT[1] , 0 表示安全,1表示非安全
在这里插入图片描述
ARMv8
el3 一定是secure
NS=0 , EL0、EL1、EL2 是sercure
NS=1 , EL0、EL1、EL2 是non-sercure

在这里插入图片描述
ARMv9
00 secure
01 non-secure
el3 root, 只有el3能操作SCR寄存器
在这里插入图片描述

安全非安全切换

在这里插入图片描述
调用 switch cpu_contex

  1. 保存 non-secure cpu contex
  2. 加载 sercure cpu contex

AMBA 总线的安全模式和非安全模式

在这里插入图片描述

TZC IP

  1. 配置内存权限
  2. 过滤权限,决定对内存的访问是否成功,如果访问失败,TZC触发一个硬件中断,arm-core 收到中断之后读TZC然后做后续处理。
    在这里插入图片描述

MMU

一个core 有一个物理的mmu
软件视角,mmu可以分为9类
下图 Translation Regime 就是指MMU 的地址翻译引擎
arm规定,虚拟地址位于低地址空间使用TTBR0, 高地址空间使用TTBR1
在这里插入图片描述
secure的 translation engine 永远只能访问非安全的内存地址,不检查NS
在这里插入图片描述
tlb cache 用来加快MMU命中,只有安全配置相同才会命中
在这里插入图片描述

cache

也区分安全和非安全
在这里插入图片描述

中断

根据中断类型分为3个group
cpu 产生一个本系统跑的中断,上报IRQ
cpu 产生一个后台系统的中断,上报FIQ(forward irq),由FIQ vector处理
在这里插入图片描述

timer

一个core 有一个物理timer
软件视角来看,由多个timer
在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值