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