ARMv8-A Exception Levels

The concept of Exception Level was first introduced in ARMv8, and each Exception Level represents a different privilege level. Of course, ARMv7 also has the same privilege level, but the name is defined by PL.

First look at the definition of Exception Level of ARMv8:

 

ARMv8 divides the privilege level into 4 levels, namely EL0, EL1, EL2, and EL3. The privileges of each level are different, and the privilege size is EL0 <EL1 <EL2 <EL3.

Because of the widespread use of ARM TrustZOne in ARMv8, the entire system is divided into two parts: Normal World and Secure World.

  • Normal World represents the normal world. For example, the Linux operating system in Android phones is in the normal world.
  • Secure World is the secure world. For example, Qualcomm ’s QSEE in Android phones is running in Secure World.

 

What does each Exception Level mean:

  • EL0: It is user space. In Noraml world, for example, an application running in Secure World is TA, Trust Application.
  • EL1: Run the operating system, Noramal World such as Linux operating system, or WInce operating system. In Secure World, it is Trusted OS, such as Qualcomm's QSEE, open source OP-TEE, pea pod TEE, etc.
  • EL2: In order to support virtualization, the Hypervisor layer designed by ARM is only used in Noraml world.
  • EL3: The role of Secure Moniter is to switch between Noraml world and Secure world. When noraml world wants to access Secure world, it needs to send SMC command to enter the Secure Moniter layer, and then enter Secure world

 

 

The concept of Privilege level is used in ARMv7, and only PL0, PL1, PL2 exist

ARM TrustZone technology has already been introduced in the later stages of ARMv7. So in ARMv7 there are also two states, namely Noraml World

  • Normal World
    1. PL0 (UserSpace space)
    2. PL1 (kernel OS, such as linux OS)
    3. PL2(Hyp mode)
  • SecureWorld:
    1. PL0 (UserSpace such as TA application)
    2. PL1 (Trusted OS, such as QSEE, OP-TEE)
    3. No PL2, Secure Moniter is also running in the PL1 phase

 

This section describes the privilege level PL in ARMv7 and the EL concept in ARMv8.

 

Published 187 original articles · won 108 · 370,000 views

Guess you like

Origin blog.csdn.net/longwang155069/article/details/105010182