target_t -> struct target
[fw/openocd] / src / target / fa526.c
index 53efaae6347a81eae1d72a3fa774199892416e67..f3df24fe1ec1742c842632970121aad027d82d01 100644 (file)
 #include "arm920t.h"
 #include "target_type.h"
 
-static void fa526_change_to_arm(target_t *target, uint32_t *r0, uint32_t *pc)
+static void fa526_change_to_arm(struct target *target, uint32_t *r0, uint32_t *pc)
 {
        LOG_ERROR("%s: there is no Thumb state on FA526", __func__);
 }
 
-static void fa526_read_core_regs(target_t *target,
+static void fa526_read_core_regs(struct target *target,
                uint32_t mask, uint32_t* core_regs[16])
 {
        int i;
-       /* get pointers to arch-specific information */
-       armv4_5_common_t *armv4_5 = target->arch_info;
-       arm7_9_common_t *arm7_9 = armv4_5->arch_info;
-       arm_jtag_t *jtag_info = &arm7_9->jtag_info;
+       struct arm7_9_common *arm7_9 = target_to_arm7_9(target);
+       struct arm_jtag *jtag_info = &arm7_9->jtag_info;
 
        /* STMIA r0-15, [r0] at debug speed
         * register values will start to appear on 4th DCLK
@@ -68,14 +66,12 @@ static void fa526_read_core_regs(target_t *target,
        }
 }
 
-static void fa526_read_core_regs_target_buffer(target_t *target,
+static void fa526_read_core_regs_target_buffer(struct target *target,
                uint32_t mask, void* buffer, int size)
 {
        int i;
-       /* get pointers to arch-specific information */
-       armv4_5_common_t *armv4_5 = target->arch_info;
-       arm7_9_common_t *arm7_9 = armv4_5->arch_info;
-       arm_jtag_t *jtag_info = &arm7_9->jtag_info;
+       struct arm7_9_common *arm7_9 = target_to_arm7_9(target);
+       struct arm_jtag *jtag_info = &arm7_9->jtag_info;
        int be = (target->endianness == TARGET_BIG_ENDIAN) ? 1 : 0;
        uint32_t *buf_u32 = buffer;
        uint16_t *buf_u16 = buffer;
@@ -112,12 +108,10 @@ static void fa526_read_core_regs_target_buffer(target_t *target,
        }
 }
 
-static void fa526_read_xpsr(target_t *target, uint32_t *xpsr, int spsr)
+static void fa526_read_xpsr(struct target *target, uint32_t *xpsr, int spsr)
 {
-       /* get pointers to arch-specific information */
-       armv4_5_common_t *armv4_5 = target->arch_info;
-       arm7_9_common_t *arm7_9 = armv4_5->arch_info;
-       arm_jtag_t *jtag_info = &arm7_9->jtag_info;
+       struct arm7_9_common *arm7_9 = target_to_arm7_9(target);
+       struct arm_jtag *jtag_info = &arm7_9->jtag_info;
 
        /* MRS r0, cpsr */
        arm9tdmi_clock_out(jtag_info, ARMV4_5_MRS(0, spsr & 1), 0, NULL, 0);
@@ -139,12 +133,10 @@ static void fa526_read_xpsr(target_t *target, uint32_t *xpsr, int spsr)
        arm9tdmi_clock_out(jtag_info, ARMV4_5_NOP, 0, xpsr, 0);
 }
 
-static void fa526_write_xpsr(target_t *target, uint32_t xpsr, int spsr)
+static void fa526_write_xpsr(struct target *target, uint32_t xpsr, int spsr)
 {
-       /* get pointers to arch-specific information */
-       armv4_5_common_t *armv4_5 = target->arch_info;
-       arm7_9_common_t *arm7_9 = armv4_5->arch_info;
-       arm_jtag_t *jtag_info = &arm7_9->jtag_info;
+       struct arm7_9_common *arm7_9 = target_to_arm7_9(target);
+       struct arm_jtag *jtag_info = &arm7_9->jtag_info;
 
        LOG_DEBUG("xpsr: %8.8" PRIx32 ", spsr: %i", xpsr, spsr);
 
@@ -177,13 +169,11 @@ static void fa526_write_xpsr(target_t *target, uint32_t xpsr, int spsr)
        arm9tdmi_clock_out(jtag_info, ARMV4_5_NOP, 0, NULL, 0);
 }
 
-static void fa526_write_xpsr_im8(target_t *target,
+static void fa526_write_xpsr_im8(struct target *target,
                uint8_t xpsr_im, int rot, int spsr)
 {
-       /* get pointers to arch-specific information */
-       armv4_5_common_t *armv4_5 = target->arch_info;
-       arm7_9_common_t *arm7_9 = armv4_5->arch_info;
-       arm_jtag_t *jtag_info = &arm7_9->jtag_info;
+       struct arm7_9_common *arm7_9 = target_to_arm7_9(target);
+       struct arm_jtag *jtag_info = &arm7_9->jtag_info;
 
        LOG_DEBUG("xpsr_im: %2.2x, rot: %i, spsr: %i", xpsr_im, rot, spsr);
 
@@ -206,14 +196,12 @@ static void fa526_write_xpsr_im8(target_t *target,
        }
 }
 
-static void fa526_write_core_regs(target_t *target,
+static void fa526_write_core_regs(struct target *target,
                uint32_t mask, uint32_t core_regs[16])
 {
        int i;
-       /* get pointers to arch-specific information */
-       armv4_5_common_t *armv4_5 = target->arch_info;
-       arm7_9_common_t *arm7_9 = armv4_5->arch_info;
-       arm_jtag_t *jtag_info = &arm7_9->jtag_info;
+       struct arm7_9_common *arm7_9 = target_to_arm7_9(target);
+       struct arm_jtag *jtag_info = &arm7_9->jtag_info;
 
        /* LDMIA r0-15, [r0] at debug speed
        * register values will start to appear on 4th DCLK
@@ -236,12 +224,10 @@ static void fa526_write_core_regs(target_t *target,
        arm9tdmi_clock_out(jtag_info, ARMV4_5_NOP, 0, NULL, 0);
 }
 
-static void fa526_write_pc(target_t *target, uint32_t pc)
+static void fa526_write_pc(struct target *target, uint32_t pc)
 {
-       /* get pointers to arch-specific information */
-       armv4_5_common_t *armv4_5 = target->arch_info;
-       arm7_9_common_t *arm7_9 = armv4_5->arch_info;
-       arm_jtag_t *jtag_info = &arm7_9->jtag_info;
+       struct arm7_9_common *arm7_9 = target_to_arm7_9(target);
+       struct arm_jtag *jtag_info = &arm7_9->jtag_info;
 
        /* LDMIA r0-15, [r0] at debug speed
         * register values will start to appear on 4th DCLK
@@ -264,19 +250,17 @@ static void fa526_write_pc(target_t *target, uint32_t pc)
        arm9tdmi_clock_out(jtag_info, ARMV4_5_NOP, 0, NULL, 0);
 }
 
-static void fa526_branch_resume_thumb(target_t *target)
+static void fa526_branch_resume_thumb(struct target *target)
 {
        LOG_ERROR("%s: there is no Thumb state on FA526", __func__);
 }
 
-static int fa526_init_arch_info_2(target_t *target,
-               arm9tdmi_common_t *arm9tdmi, jtag_tap_t *tap)
+static int fa526_init_arch_info_2(struct target *target,
+               struct arm9tdmi_common *arm9tdmi, struct jtag_tap *tap)
 {
-       armv4_5_common_t *armv4_5;
-       arm7_9_common_t *arm7_9;
+       struct arm7_9_common *arm7_9;
 
        arm7_9 = &arm9tdmi->arm7_9_common;
-       armv4_5 = &arm7_9->armv4_5_common;
 
        /* prepare JTAG information for the new target */
        arm7_9->jtag_info.tap = tap;
@@ -318,10 +302,6 @@ static int fa526_init_arch_info_2(target_t *target,
        arm7_9->thumb_bkpt = 0xdeee;
 
        arm7_9->dbgreq_adjust_pc = 3;
-       arm7_9->arch_info = arm9tdmi;
-
-       arm9tdmi->common_magic = ARM9TDMI_COMMON_MAGIC;
-       arm9tdmi->arch_info = NULL;
 
        arm7_9_init_arch_info(target, arm7_9);
 
@@ -334,17 +314,16 @@ static int fa526_init_arch_info_2(target_t *target,
        return ERROR_OK;
 }
 
-static int fa526_init_arch_info(target_t *target,
-               arm920t_common_t *arm920t, jtag_tap_t *tap)
+static int fa526_init_arch_info(struct target *target,
+               struct arm920t_common *arm920t, struct jtag_tap *tap)
 {
-       arm9tdmi_common_t *arm9tdmi = &arm920t->arm9tdmi_common;
-       arm7_9_common_t *arm7_9 = &arm9tdmi->arm7_9_common;
+       struct arm9tdmi_common *arm9tdmi = &arm920t->arm9tdmi_common;
+       struct arm7_9_common *arm7_9 = &arm9tdmi->arm7_9_common;
 
        /* initialize arm9tdmi specific info (including arm7_9 and armv4_5)
         */
        fa526_init_arch_info_2(target, arm9tdmi, tap);
 
-       arm9tdmi->arch_info = arm920t;
        arm920t->common_magic = ARM920T_COMMON_MAGIC;
 
        arm7_9->post_debug_entry = arm920t_post_debug_entry;
@@ -371,15 +350,15 @@ static int fa526_init_arch_info(target_t *target,
        return ERROR_OK;
 }
 
-static int fa526_target_create(struct target_s *target, Jim_Interp *interp)
+static int fa526_target_create(struct target *target, Jim_Interp *interp)
 {
-       arm920t_common_t *arm920t = calloc(1,sizeof(arm920t_common_t));
+       struct arm920t_common *arm920t = calloc(1,sizeof(struct arm920t_common));
 
        return fa526_init_arch_info(target, arm920t, target->tap);
 }
 
 /** Holds methods for FA526 targets. */
-target_type_t fa526_target =
+struct target_type fa526_target =
 {
        .name = "fa526",