ARMV8的aarch64和aarch32环境下ELx级别的理解
从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,他俩不共用页表