arm_mode_data is only used within OpenOCD.
 
Symbols
loading...
Files
loading...

arm_mode_data variable

Syntax

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, }, };

References

LocationReferrerText
armv4_5.c:83
} arm_mode_data[] = {
armv4_5.c:173arm_mode_name()
for (unsigned i = 0; i < ARRAY_SIZE(arm_mode_data); i++) {
armv4_5.c:174arm_mode_name()
if (arm_mode_data[i].psr == psr_mode)
armv4_5.c:175arm_mode_name()
return arm_mode_data[i].name;
armv4_5.c:184is_arm_mode()
for (unsigned i = 0; i < ARRAY_SIZE(arm_mode_data); i++) {
armv4_5.c:185is_arm_mode()
if (arm_mode_data[i].psr == psr_mode)
armv4_5.c:843handle_armv4_5_reg_command()
for (unsigned mode = 0; mode < ARRAY_SIZE(arm_mode_data); mode++) {
armv4_5.c:848handle_armv4_5_reg_command()
if (!arm_mode_data[mode].n_indices)
armv4_5.c:852handle_armv4_5_reg_command()
switch (arm_mode_data[mode].psr) {
armv4_5.c:870handle_armv4_5_reg_command()
name = arm_mode_data[mode].name;
armv4_5.c:878handle_armv4_5_reg_command()
for (unsigned i = 0; i < arm_mode_data[mode].n_indices; ) {
armv4_5.c:886handle_armv4_5_reg_command()
if (i >= arm_mode_data[mode].n_indices)
armv4_5.c:889handle_armv4_5_reg_command()
reg += arm_mode_data[mode].indices[i];

Data Use

Functions reading arm_mode_data
arm_mode_data
Type of arm_mode_data
arm_mode_data
all items filtered out