本文軟件分析使用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 的狀態也非常實用
具體軟件流程參考如下: