You copied the Doc URL to your clipboard.

2.12. Operating modes

There are eight modes of operation:

  • User mode is the usual ARM program execution state, and is used for executing most application programs

  • Fast interrupt (FIQ) mode is used for handling fast interrupts

  • Interrupt (IRQ) mode is used for general-purpose interrupt handling

  • Supervisor mode is a protected mode for the OS

  • Abort mode is entered after a data abort or prefetch abort

  • System mode is a privileged user mode for the OS

  • Undefined mode is entered when an Undefined Instruction exception occurs

  • Monitor mode is a Secure mode for the Security Extensions Secure Monitor code.

Modes other than User mode are collectively known as privileged modes. Privileged modes are used to service interrupts or exceptions, or to access protected resources. Table 2.8 shows the mode structure for the processor.

Table 2.8. Mode structure

Modes

Mode type

Security state of core

  

NS bit = 1

NS bit = 0

UserUserNonsecureSecure
FIQPrivilegedNonsecureSecure
IRQPrivilegedNonsecureSecure
SupervisorPrivilegedNonsecureSecure
AbortPrivilegedNonsecureSecure
UndefinedPrivilegedNonsecureSecure
SystemPrivilegedNonsecureSecure
MonitorPrivilegedSecureSecure