Worlds
Last updated
Last updated
Isolation is achieved by exploring the same CPU in two different worlds (or states).
Normal world -> for running the Rich OS.
Secure world -> for running the Secure OS.
A CPU flag bit defines the current world.
NS bit of the SCR (Secure Configuration Register)
0 - Secure state
1 - Non-secure state
Similar to run levels.
TrustZone introduces one EL more.
Secure monitor (EL3).
Combination of exception levels and states.
Calls from the Rich OS.
SMC (Secure Monitor Call).
Typically implemented by Rich OS drivers.
Interrupts from the Secure hardware.
Must be handled by the Secure OS.
Both enter first in EL3.
They are then dispatched to the Secure world.