This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Aarch64 / Aarch32切换问题

hi, experts:

正在学习ARMv8 manual.

关于Aarch64/Aarch32,有几个问题:

假定一个ARMv8 SOC实现了4个EL:EL0 / EL1 / EL2 / EL3

1. Secure State下:从EL3 Aarch64切换到Secure下的EL1 Aarch64

    Target EL是EL1

    SPSR_EL3[3:2] :defined target EL

    那么target EL1的execution state是由SPSR_EL3[4]确定的吗?

    根据ARMv8 manual:

    SPSR_EL3[4] : Register width that the exception was taken from,   并不是 exception was taken to啊?

  

    有一些Doc讲:

    EL1的execution state,应该由HCR_EL2.RW来确定,对吗?

2. 如果从Secure state EL3 Aarch64切换到Non-Secure EL1 Aarch64

    仍然用SPSR_EL3吗?

best wishes,


Parents
  • On (1), the SPSR_ELn describes the state of the processor immediately before the exception.  So bit [4] will tell the you the execution state you took the exception from.

    On (2), yes you would still use SPSR_EL3.  Security state for EL1/0 is controlled by SCR_EL3.NS. 

Reply
  • On (1), the SPSR_ELn describes the state of the processor immediately before the exception.  So bit [4] will tell the you the execution state you took the exception from.

    On (2), yes you would still use SPSR_EL3.  Security state for EL1/0 is controlled by SCR_EL3.NS. 

Children