最近在阅读ARMv8的技术手册,有一个细节问题没有搞明白,请各位高手指点,谢谢!
文档Cortex-A Programmer‘’s Guide里说,AArch32的SVC模式下,SPSR寄存器映射到SPSR_EL1。
问题是,如果处理器的EL3以AArch32状态运行,则安全态没有EL1,只有EL0和EL3,SVC、IRQ等模式都在EL3实现。那么此时处理器在安全态的SVC模式下运行时,SPSR寄存器是否还是映射到SPSR_EL1?monitor模式的SPSR寄存器用的是否是SPSR_EL3?
如果 EL3 是 AArch32, 那么 所有其它 EL0/EL1/EL2 必然是 AArch32。 因此此种情况下, 不会存在可以被访问的 SPSR_EL1, SPSR_EL3。