Processormodes, and privileged and unprivileged software execution
The ARM architecture supports different levels of execution privilege. The privilege level depends on the processor mode.
Table 3-1 ARM processor modes
|Processor mode||Mode number|
User mode is an unprivileged mode, and has restricted accessto system resources. All other modes have full access to systemresources in the current security state, can change mode freely, andexecute software as privileged.
Applications that require task protection usually executein User mode. Some embedded applications might run entirely in any mode otherthan User mode. An application that requires full access to systemresources usually executes in System mode.
Modes other than User mode are entered to service exceptions,or to access privileged resources.
Code can run in either a secure state or in a non-secure state. Hypervisor (Hyp) mode has privileged execution in non-secure state.