Commit 52d4ba34 authored by Mathias Kuester's avatar Mathias Kuester Committed by David Brownell
Browse files

fix crash with DSP563XX



When a DSP563xx-aware GDB asks OpenOCD for target registers,
the result should be a GDB with register data ... not an
OpenOCD crash.

(Note that mainline GDB doesn't currently support this core,
so for now, this requires a GDB with FreeScale patches.)

Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
parent a2ce3a51
......@@ -246,6 +246,29 @@ static const struct
/* *INDENT-ON* */
};
static int dsp563xx_get_gdb_reg_list(struct target *target, struct reg **reg_list[],
int *reg_list_size)
{
struct dsp563xx_common *dsp563xx = target_to_dsp563xx(target);
int i;
if (target->state != TARGET_HALTED)
{
return ERROR_TARGET_NOT_HALTED;
}
*reg_list_size = DSP563XX_NUMCOREREGS;
*reg_list = malloc(sizeof(struct reg *) * (*reg_list_size));
for (i = 0; i < DSP563XX_NUMCOREREGS; i++)
{
(*reg_list)[i] = &dsp563xx->core_cache->reg_list[i];
}
return ERROR_OK;
}
int dsp563xx_read_core_reg(struct target *target, int num)
{
uint32_t reg_value;
......@@ -974,6 +997,8 @@ struct target_type dsp563xx_target = {
.target_request_data = NULL,
.get_gdb_reg_list = dsp563xx_get_gdb_reg_list,
.halt = dsp563xx_halt,
.resume = dsp563xx_resume,
.step = dsp563xx_step,
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment