/* *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;
}
{
- struct scan_field field[1];
-
- field[0].tap = tap;
- field[0].num_bits = tap->ir_length;
- field[0].out_value = ir_out;
- field[0].in_value = ir_in;
- jtag_add_plain_ir_scan(ARRAY_SIZE(field), field,
+ jtag_add_plain_ir_scan(tap->ir_length, ir_out, ir_in,
jtag_set_end_state(TAP_IDLE));
}
}
{
- struct scan_field field[1];
-
- field[0].tap = tap;
- field[0].num_bits = dr_len;
- field[0].out_value = dr_out;
- field[0].in_value = dr_in;
- jtag_add_plain_dr_scan(ARRAY_SIZE(field), field,
+ jtag_add_plain_dr_scan(dr_len, dr_out, dr_in,
jtag_set_end_state(TAP_IDLE));
}
.target_request_data = NULL,
+ .get_gdb_reg_list = dsp563xx_get_gdb_reg_list,
+
.halt = dsp563xx_halt,
.resume = dsp563xx_resume,
.step = dsp563xx_step,