[trustzone]-ARMV8的aarch64和aarch32环境下ELx级别的理解
生活随笔
收集整理的這篇文章主要介紹了
[trustzone]-ARMV8的aarch64和aarch32环境下ELx级别的理解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
★★★ 友情鏈接 : 個人博客導讀首頁—點擊此處 ★★★
文章目錄
- 1、aarch32/aarch64的理解
- 2、舉例:MTK平臺中的aarch32和aarch64
1、aarch32/aarch64的理解
從ARM官方文檔,可以看出在aarch64和aarch32環境下,有不同的硬件框圖。在aarch32下,沒有EL1, monitor也是跑在secure EL1中的.
那么如果monitor跑64位,secureos跑32位又是怎樣的情況呢?
其實很好理解:
- 如果secureos和monitor都是64位,secureos跑在el1, monitor跑在el3;
- 如果secureos和monitor都是32位,secureos和monitor都跑在EL3(secureos在svc模式、monitor在svc模式),它倆共用頁表;
- 如果monitor是64位,secureos是32位,那么secureos跑在svc模式(el1),monitor跑在el3,他倆不共用頁表
2、舉例:MTK平臺中的aarch32和aarch64
(1)、android跑32位的情況下:
- PL、LK、Linux Kernel、Android images(APPs) 都是32位的
- bootrom、ATF、TEE都是64位的,TA是32位的
(2)、android跑64位的情況下: - PL、LK是32位的
- Linux Kernel、Android images(APPs)是64位的
- bootrom、ATF、TEE都是64位的,TA是32位的
總結:
- 不管android是32還是64, TEE都是64,TA都是32.
- 不管android是32還是64,PL和LK都是32
總結
以上是生活随笔為你收集整理的[trustzone]-ARMV8的aarch64和aarch32环境下ELx级别的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [architecture]-AXI/A
- 下一篇: [gic]-ARM gicv2和gicv