Cortex-M3: use the new inheritance/nesting scheme

Use new target_to_cm3() and target_to_armv7m() inlines,
instead of a series of x->arch_info conversions.  Remove
arch_info, since nothing uses it.

Also fix an omission:  the Cortex-M3 commands didn't verify
that they were operating on that kind of target.  Add comment
about the ARMv7M version of that omission.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
This commit is contained in:
David Brownell
2009-11-05 21:59:45 -08:00
parent db116b1ea3
commit da739aa257
4 changed files with 113 additions and 135 deletions

View File

@@ -99,7 +99,6 @@ typedef struct armv7m_common_s
int exception_number;
swjdp_common_t swjdp_info;
/* Direct processor core register read and writes */
int (*load_core_reg_u32)(struct target_s *target, enum armv7m_regtype type, uint32_t num, uint32_t *value);
int (*store_core_reg_u32)(struct target_s *target, enum armv7m_regtype type, uint32_t num, uint32_t value);
@@ -112,8 +111,6 @@ typedef struct armv7m_common_s
void (*pre_restore_context)(target_t *target);
void (*post_restore_context)(target_t *target);
void *arch_info;
} armv7m_common_t;
static inline struct armv7m_common_s *