from armv4_5.c:75
static const struct {
const char *name;
unsigned short psr;
unsigned short n_indices;
const uint8_t *indices;
} arm_mode_data[] = {
{
.name = "User",
.psr = ARM_MODE_USR,
.n_indices = ARRAY_SIZE(arm_usr_indices),
.indices = arm_usr_indices,
},
{
.name = "FIQ",
.psr = ARM_MODE_FIQ,
.n_indices = ARRAY_SIZE(arm_fiq_indices),
.indices = arm_fiq_indices,
},
{
.name = "Supervisor",
.psr = ARM_MODE_SVC,
.n_indices = ARRAY_SIZE(arm_svc_indices),
.indices = arm_svc_indices,
},
{
.name = "Abort",
.psr = ARM_MODE_ABT,
.n_indices = ARRAY_SIZE(arm_abt_indices),
.indices = arm_abt_indices,
},
{
.name = "IRQ",
.psr = ARM_MODE_IRQ,
.n_indices = ARRAY_SIZE(arm_irq_indices),
.indices = arm_irq_indices,
},
{
.name = "Undefined instruction",
.psr = ARM_MODE_UND,
.n_indices = ARRAY_SIZE(arm_und_indices),
.indices = arm_und_indices,
},
{
.name = "System",
.psr = ARM_MODE_SYS,
.n_indices = ARRAY_SIZE(arm_usr_indices),
.indices = arm_usr_indices,
},
{
.name = "Secure Monitor",
.psr = ARM_MODE_MON,
.n_indices = ARRAY_SIZE(arm_mon_indices),
.indices = arm_mon_indices,
},
{
.name = "Secure Monitor ARM1176JZF-S",
.psr = ARM_MODE_1176_MON,
.n_indices = ARRAY_SIZE(arm_mon_indices),
.indices = arm_mon_indices,
},
{
.name = "Thread",
.psr = ARM_MODE_THREAD,
},
{
.name = "Thread (User)",
.psr = ARM_MODE_USER_THREAD,
},
{
.name = "Handler",
.psr = ARM_MODE_HANDLER,
},
{
.name = "Hypervisor",
.psr = ARM_MODE_HYP,
.n_indices = ARRAY_SIZE(arm_hyp_indices),
.indices = arm_hyp_indices,
},
};