Plugin of TEE-Supplicant
Preface OPTEE(TEE OS)在某种程度上可以认为是REE OS在TEE环境下的投影,REE OS来统筹安排non-secure resources,而OPTEE来管理secure-resources。当然TEE OS有权限去access non-secure的resources,但两个OS之间如果没有一些同步机制(hardware or software),都去访问同一个资...
Preface OPTEE(TEE OS)在某种程度上可以认为是REE OS在TEE环境下的投影,REE OS来统筹安排non-secure resources,而OPTEE来管理secure-resources。当然TEE OS有权限去access non-secure的resources,但两个OS之间如果没有一些同步机制(hardware or software),都去访问同一个资...
Content 上篇研究了A64指令中的ADR/ADRP,当时就在想,蓬勃发展的RISC-V中有没有相应的PC-relative addressing的指令?!还真有,它就是AUIPC(Add Upper Immediate to PC),它的功能是否如ADR/ADRP一样呢?下面来看它的encoding和usage。 Encoding of AUIPC RISC-V得益于后发优势...
Content 上周研究OPTEE里关于mmu的部分提到了PIE,OPTEE在启动代码里完成了PIE的实现,这部分代码主要由汇编实现,那为什么这部分代码不受地址位移的影响(link address和load address不一致的情况下)?这就涉及到A64(ARMV8)里PC-rel. addressing的指令了。为了理解什么是PC relative,这篇文章看下ADR和ADRP是如...
今天对咱打工人是个开心的日子,有两个好消息。 第一个好消息是国家给的,存量房贷利率平均降低0.5%个百分点,这个是实实在在的好处,每个月又可以多大几百的零花钱了。请国家和商业银行尽快落实。 第二个好消息则是老板给的,大家都知道由于地缘政治的原因,外资的岗位都在慢慢的往外转移,特别是印度。前段时间为了“抢”一个事专门写信给老板,看来老板上心了,相关部分的任务留在上海做了,这是个小胜...
Preface 最近在做OPTEE,作为一个完整的OS,OPTEE里也是保罗万象。同时OPTEE又是一个相对较小的系统,对于研究学习一些复杂的过程因为较少的包装会更容易去发掘。这篇博文就探索下OPTEE里的MMU是怎样完成的。另外既然写到了MMU,后面计划写一些关于Cache的基础知识,算是预告一下。 SoC Arch : ARMv8 OPTEE version: 4.0...
Preface 这篇来个ARM的大杂烩吧,主要是把收集到的一些和ARM相关的知识和信息做个汇总,以备查阅。发现Arm官网真是个宝藏,内容多的很可能穷尽职业生涯也学不完,只取所需吧。 Content Path of ARM Evolution 先上一张官网关于ARM架构的图: 从ARMv8开始,ARM更新太快了,一年一更(见Reference里引用blog里的 announc...
Preface 上次遇到一个heap overflow(《About “malloc(): corrupted top size”》)的问题,其实到现在还没有好的解决办法,不过对stack 的overflow倒是有GCC的option做保护。在以前的项目中有用过,不过没有详细研究,这篇就来deepdive下。 Content Basic 首先stack是做啥用的?嗯,stack很...
Preface memory的使用和调试对各种系统都是个大话题,比如近期关于Rust for Linux项目内讧的新闻就引起了博主对Rust的兴趣。而Rust的内存安全特性也是为了帮助开发者避免因为内存问题出现安全漏洞。OPTEE虽然也有用Rust去开发User TA,但和Linux一样,都在尝试阶段。目前主流还是用c来实现Kernel和User TA,这篇主要看怎么查看OPTEE里的m...
Preface 昨天《Shared Libraries of TA》里提到了在使用shared library的时候一种可能的提高效率的方法,这篇博文先看early TA怎么用,然后看昨天提出的方法是否可行。 SoC Arch : ARMv8 OPTEE version: 4.0.0。 Content How to enable early TA 关于怎么enable e...
Preface OPTEE里有个宏叫做”CFG_ULIBS_SHARED”,由此联想到主流OS里动态链接库,这篇文章主要看这个宏有什么作用,和动态链接库有什么关联区别。 SoC Arch : ARMv8 OPTEE version: 4.0.0。 Content ldelf OPTEE里有个module叫做ldelf,它的主要功能包括open ta,parse ELF,lo...