arm_mode enum
Represent state of an ARM core. Most numbers match the five low bits of the *PSR registers on "classic ARM" processors, which build on the ARMv4 processor modes and register set. ARM_MODE_ANY is a magic value, often used as a wildcard. Only the microcontroller cores (ARMv6-M, ARMv7-M) support ARM_MODE_THREAD, ARM_MODE_USER_THREAD, and ARM_MODE_HANDLER. Those are the only modes they support.
Syntax
enum arm_mode
{
ARM_MODE_USR = 16,
ARM_MODE_FIQ = 17,
ARM_MODE_IRQ = 18,
ARM_MODE_SVC = 19,
ARM_MODE_MON = 22,
ARM_MODE_ABT = 23,
ARM_MODE_HYP = 26,
ARM_MODE_UND = 27,
ARM_MODE_1176_MON = 28,
ARM_MODE_SYS = 31,
ARM_MODE_THREAD = 0,
ARM_MODE_USER_THREAD = 1,
ARM_MODE_HANDLER = 2,
ARMV8_64_EL0T = 0x0,
ARMV8_64_EL1T = 0x4,
ARMV8_64_EL1H = 0x5,
ARMV8_64_EL2T = 0x8,
ARMV8_64_EL2H = 0x9,
ARMV8_64_EL3T = 0xC,
ARMV8_64_EL3H = 0xD,
ARM_MODE_ANY = -1
};