|Non-Confidential||PDF version||ARM DUI0473M|
|Home > Overview of the ARM Architecture > Processor modes, and privileged and unprivileged software execution|
The ARM architecture supports different levels of execution privilege. The privilege level depends on the processor mode.
Table 2-1 ARM processor modes
|Processor mode||Architectures||Mode number|
|Monitor||Security Extensions only||0b10110|
|Hyp||Virtualization Extensions only||0b11010|
|System||ARMv4 and later||0b11111|
User mode is an unprivileged mode, and has restricted access to system resources. All other modes have full access to system resources in the current security state, can change mode freely, and execute software as privileged.
Applications that require task protection usually execute in User mode. Some embedded applications might run entirely in any mode other than User mode. An application that requires full access to system resources usually executes in System mode.
Modes other than User mode are entered to service exceptions, or to access privileged resources.
On an implementation that includes the Security Extensions, in all modes except Monitor mode and Hypervisor (Hyp) mode, code can run in either a Secure state or in a Non-secure state. In Monitor mode, code can only run in a Secure state, and in Hyp mode, code can only run in a Non-secure state.