target/arm720t: fix memory leak of register cache
There is no method to free the register cache, allocated in arm720t_init_target(). Issue identified by tracking all calls to arm7tdmi_init_target(). Implement the method arm720t_deinit_target() by calling directly arm7tdmi_deinit_target(). NOT TESTED on a real arm720t target. Tested on a arm926ejs (SPEAr320) by hacking the target type and pretending it is a xscale: sed -i s/arm926ejs/arm720t/ tcl/target/spear3xx.cfg Change-Id: I53c1f46c1a355a710e8df01468b19220671569dc Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5697 Tested-by: jenkins
This commit is contained in:
parent
19aa77cc7f
commit
f5cc8360fd
|
@ -391,6 +391,11 @@ static int arm720t_init_target(struct command_context *cmd_ctx, struct target *t
|
||||||
return arm7tdmi_init_target(cmd_ctx, target);
|
return arm7tdmi_init_target(cmd_ctx, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void arm720t_deinit_target(struct target *target)
|
||||||
|
{
|
||||||
|
arm7tdmi_deinit_target(target);
|
||||||
|
}
|
||||||
|
|
||||||
/* FIXME remove forward decls */
|
/* FIXME remove forward decls */
|
||||||
static int arm720t_mrc(struct target *target, int cpnum,
|
static int arm720t_mrc(struct target *target, int cpnum,
|
||||||
uint32_t op1, uint32_t op2,
|
uint32_t op1, uint32_t op2,
|
||||||
|
@ -583,6 +588,7 @@ struct target_type arm720t_target = {
|
||||||
.commands = arm720t_command_handlers,
|
.commands = arm720t_command_handlers,
|
||||||
.target_create = arm720t_target_create,
|
.target_create = arm720t_target_create,
|
||||||
.init_target = arm720t_init_target,
|
.init_target = arm720t_init_target,
|
||||||
|
.deinit_target = arm720t_deinit_target,
|
||||||
.examine = arm7_9_examine,
|
.examine = arm7_9_examine,
|
||||||
.check_reset = arm7_9_check_reset,
|
.check_reset = arm7_9_check_reset,
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue