ARMv8 開機鏈三部曲(一):Trusted Firmware-A — 從 BL1 到 EL3 Runtime
從 Exception Level、BL1/BL2/BL31 分工、FIP 與 Trusted Board Boot,一路讀到 BL31 的 SMC 分派、PSCI、OP-TEE Dispatcher 與 world switch,並用 OP-TEE 的 QEMU v8 環境觀察 TF-A 開機 log。
從 Exception Level、BL1/BL2/BL31 分工、FIP 與 Trusted Board Boot,一路讀到 BL31 的 SMC 分派、PSCI、OP-TEE Dispatcher 與 world switch,並用 OP-TEE 的 QEMU v8 環境觀察 TF-A 開機 log。
以 ARMv8 開機鏈為主軸,拆解 U-Boot 作為 BL33 的角色:TPL/SPL/U-Boot proper、board_init_f/relocation/board_init_r、Driver Model、Standard Boot、FIT verified boot、arm64 Linux 開機協定、與 OP-TEE/AVB 的互動,並附 QEMU 實作與面試 Q&A。
從 BL32 的角度拆解 OP-TEE:TrustZone 基礎、optee_os / tee-supplicant / Linux TEE driver 的分工、GlobalPlatform API、TA 的種類與載入、SMC 與 RPC 呼叫流程、foreign interrupt 處理,以及用 QEMU v8 跑 xtest 與 hello_world。