本文软件分析使用arm-trust-firmwire v1.3版本。基于公开的fvp platform分析流程。
在v1.3中,warm boot的entry point是定义好的,根据ARMv8 TRM,配置cpu reset address,主要流程如下,符合ARM TRM,关键点:
enable el3 mmu/dcace
power on domain
enable cci snoop
clear interrupts
init gic driver
enable gic interface
关于2,&3,如果是cluster级别的上电,这儿的power on domain与pmu设计强相关,core是auto,理论上不行要操作pmu,cluster级别如果pmu design能完全cover auto,也不需要配置pmu
对应v1.3的版本,个人认为最重要功能
● idle time 的计数器以及时间的记录,debug cpu auto power time问题将会非常方便
● cpu state全局变量的记录,对debug cpu 的状态也非常实用
具体软件流程参考如下: