OP-TEE的内存和缓存管理(四):MMU的初始化和映射页表

上一篇我们学习了optee的内存有哪些,这里来看看这些内存是怎么用的。

学习的书籍来自前辈的《手机安全和可信应用开发指南》

OPTEE怎么管理内存的?

OP-TEE也是使用MMU来管理内存空间,建立物理地址到虚拟地址的映射关系,其包括对物理内存空间的地址映射、外部设备IO接口寄存器的地址映射。

建立完整的地址映射关系后,OP-TEE就可直接使用虚拟地址来访问物理内存中的数据或对外部设备和寄存器进行读写操作。

1 MMU的初始化入口函数

MMU的初始化入口函数是core_init_mmu_map,启动OP-TEE的过程中会调用该函数,该函数主要完成各种内存区域物理地址与虚拟地址之间的映射关系的建立,并生成一级转换页表。

在执行过程中还会对配置好的各种内存区域是否属于安全内存进行检查。该函数的内容和注释如下:

        void core_init_mmu_map(void)
        {
            struct tee_mmap_region *map;
            size_t n;
            /* 检查规定的安全内存空间与非安全内存空间之间是否存在重叠 */
            for (n = 0; n < ARRAY_SIZE(secure_only); n++) {
                if (pbuf_intersects(nsec_shared, secure_only[n].paddr,
                            se
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

TrustZone_Hcoco

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

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

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

打赏作者

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

抵扣说明:

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

余额充值