Programmer’s Model
ARM DDI 0301H Copyright © 2004-2009 ARM Limited. All rights reserved. 2-17
ID012310 Non-Confidential, Unrestricted Access
2.8 Operating modes
In all states 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.
• Secure Monitor mode is a Secure mode for the TrustZone Secure Monitor code.
Note
Secure Monitor mode is not the same as monitor debug mode.
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-4 lists the
mode structure for the processor.
Table 2-4 Mode structure
Modes Mode type
State of core
NS bit = 1 NS bit = 0
User User Non-secure Secure
FIQ privileged Non-secure Secure
IRQ privileged Non-secure Secure
Supervisor privileged Non-secure Secure
Abort privileged Non-secure Secure
Undefined privileged Non-secure Secure
System privileged Non-secure Secure
Secure Monitor privileged Secure Secure