arm9tdmi vector_catch: reserved means "don't use"
Bit 5 shouldn't be used. Remove all support for modifying it. Matches the exception vector table, of course ... more than one bootloader uses that non-vector to help distinguish valid boot images from random garbage in flash.__archive__
parent
bfefe85645
commit
75cdc8a260
|
@ -5460,6 +5460,8 @@ ARMv5TE architecture instead of ARMv4T.
|
||||||
|
|
||||||
@c 9-june-2009: tried this on arm920t, it didn't work.
|
@c 9-june-2009: tried this on arm920t, it didn't work.
|
||||||
@c no-params always lists nothing caught, and that's how it acts.
|
@c no-params always lists nothing caught, and that's how it acts.
|
||||||
|
@c 23-oct-2009: doesn't work _consistently_ ... as if the ICE
|
||||||
|
@c versions have different rules about when they commit writes.
|
||||||
|
|
||||||
@anchor{arm9tdmi vector_catch}
|
@anchor{arm9tdmi vector_catch}
|
||||||
@deffn Command {arm9tdmi vector_catch} [@option{all}|@option{none}|list]
|
@deffn Command {arm9tdmi vector_catch} [@option{all}|@option{none}|list]
|
||||||
|
@ -5476,7 +5478,7 @@ vector catch hardware to intercept
|
||||||
@option{all} of the hardware vectors,
|
@option{all} of the hardware vectors,
|
||||||
@option{none} of them,
|
@option{none} of them,
|
||||||
or a list with one or more of the following:
|
or a list with one or more of the following:
|
||||||
@option{reset} @option{undef} @option{swi} @option{pabt} @option{dabt} @option{reserved}
|
@option{reset} @option{undef} @option{swi} @option{pabt} @option{dabt}
|
||||||
@option{irq} @option{fiq}.
|
@option{irq} @option{fiq}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,6 @@ static arm9tdmi_vector_t arm9tdmi_vectors[] =
|
||||||
{"swi", ARM9TDMI_SWI_VECTOR},
|
{"swi", ARM9TDMI_SWI_VECTOR},
|
||||||
{"pabt", ARM9TDMI_PABT_VECTOR},
|
{"pabt", ARM9TDMI_PABT_VECTOR},
|
||||||
{"dabt", ARM9TDMI_DABT_VECTOR},
|
{"dabt", ARM9TDMI_DABT_VECTOR},
|
||||||
{"reserved", ARM9TDMI_RESERVED_VECTOR},
|
|
||||||
{"irq", ARM9TDMI_IRQ_VECTOR},
|
{"irq", ARM9TDMI_IRQ_VECTOR},
|
||||||
{"fiq", ARM9TDMI_FIQ_VECTOR},
|
{"fiq", ARM9TDMI_FIQ_VECTOR},
|
||||||
{0, 0},
|
{0, 0},
|
||||||
|
@ -1067,7 +1066,7 @@ int arm9tdmi_register_commands(struct command_context_s *cmd_ctx)
|
||||||
"arm9tdmi specific commands");
|
"arm9tdmi specific commands");
|
||||||
register_command(cmd_ctx, arm9tdmi_cmd, "vector_catch",
|
register_command(cmd_ctx, arm9tdmi_cmd, "vector_catch",
|
||||||
handle_arm9tdmi_catch_vectors_command, COMMAND_EXEC,
|
handle_arm9tdmi_catch_vectors_command, COMMAND_EXEC,
|
||||||
"arm9 vector_catch [all|none|reset|undef|swi|pabt|dabt|reserved|irq|fiq] - separate vectors to catch by space");
|
"arm9 vector_catch [all|none|reset|undef|swi|pabt|dabt|irq|fiq] - separate vectors to catch by space");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ enum arm9tdmi_vector
|
||||||
ARM9TDMI_SWI_VECTOR = 0x04,
|
ARM9TDMI_SWI_VECTOR = 0x04,
|
||||||
ARM9TDMI_PABT_VECTOR = 0x08,
|
ARM9TDMI_PABT_VECTOR = 0x08,
|
||||||
ARM9TDMI_DABT_VECTOR = 0x10,
|
ARM9TDMI_DABT_VECTOR = 0x10,
|
||||||
ARM9TDMI_RESERVED_VECTOR = 0x20,
|
/* BIT(5) reserved -- must be zero */
|
||||||
ARM9TDMI_IRQ_VECTOR = 0x40,
|
ARM9TDMI_IRQ_VECTOR = 0x40,
|
||||||
ARM9TDMI_FIQ_VECTOR = 0x80,
|
ARM9TDMI_FIQ_VECTOR = 0x80,
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue