上一篇我们学习了optee的内存有哪些,这里来看看这些内存是怎么用的。
学习的书籍来自前辈的《手机安全和可信应用开发指南》
OP-TEE也是使用MMU来管理内存空间,建立物理地址到虚拟地址的映射关系,其包括对物理内存空间的地址映射、外部设备IO接口和寄存器的地址映射。
建立完整的地址映射关系后,OP-TEE就可直接使用虚拟地址来访问物理内存中的数据或对外部设备和寄存器进行读写操作。
MMU的初始化入口函数是core_init_mmu_map,启动OP-TEE的过程中会调用该函数,该函数主要完成各种内存区域物理地址与虚拟地址之间的映射关系的建立,并生成一级转换页表。
在执行过程中还会对配置好的各种内存区域是否属于安全内存进行检查。该函数的内容和注释如下:
void core_init_mmu_map(void)
{
struct tee_mmap_region *map;
size_t n;
/* 检查规定的安全内存空间与非安全内存空