ATF(Arm Trusted Firmware)是一个用于ARM架构处理器的可信固件,它最初提供的最主要的功能就是:双系统切换和电源管理。
那么如何进行双系统切换呢,在双系统切换的示例中,除了CPU的跳转,例如CPU从no-secure EL1跳转到Secure EL1过程 。还有一个比较重要的就是cpu context的切换。
我们知道同一颗CPU,可以在non secure和secure两个世界跑,这依靠的就是硬件分时复用机制。那么如何做到硬件分时复用的呢? 这正是在ATF中的栈变量中,保存着两个世界的cpu context。所以所谓着切换双系统,其实就是切换cpu_context.
如下给大家展示了CPU双是世界切换的全过程: