mips: delete kludgy code that modifies data sent to write_memory()
Could this cause confusion as data sent to write would be flipped and then if the caller subsequently used the data, e.g. a compare mismatch might happen? Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
This commit is contained in:
parent
1b9e80f7e6
commit
d76fd2aac7
|
@ -1004,19 +1004,34 @@ static int mips_m4k_bulk_write_memory(struct target *target, uint32_t address,
|
||||||
ejtag_info->fast_access_save = -1;
|
ejtag_info->fast_access_save = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint8_t * t = NULL;
|
||||||
|
|
||||||
/* TAP data register is loaded LSB first (little endian) */
|
/* TAP data register is loaded LSB first (little endian) */
|
||||||
if (target->endianness == TARGET_BIG_ENDIAN)
|
if (target->endianness == TARGET_BIG_ENDIAN)
|
||||||
{
|
{
|
||||||
|
t = malloc(count * sizeof(uint32_t));
|
||||||
|
if (t == NULL)
|
||||||
|
{
|
||||||
|
LOG_ERROR("Out of memory");
|
||||||
|
return ERROR_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
uint32_t i, t32;
|
uint32_t i, t32;
|
||||||
for(i = 0; i < (count * 4); i += 4)
|
for(i = 0; i < (count * 4); i += 4)
|
||||||
{
|
{
|
||||||
t32 = be_to_h_u32((uint8_t *) &buffer[i]);
|
t32 = be_to_h_u32((uint8_t *) &buffer[i]);
|
||||||
h_u32_to_le(&buffer[i], t32);
|
h_u32_to_le(&t[i], t32);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
buffer = t;
|
||||||
}
|
}
|
||||||
|
|
||||||
retval = mips32_pracc_fastdata_xfer(ejtag_info, mips32->fast_data_area, write_t, address,
|
retval = mips32_pracc_fastdata_xfer(ejtag_info, mips32->fast_data_area, write_t, address,
|
||||||
count, (uint32_t*) (void *)buffer);
|
count, (uint32_t*) (void *)buffer);
|
||||||
|
|
||||||
|
if (t != NULL)
|
||||||
|
free(t);
|
||||||
|
|
||||||
if (retval != ERROR_OK)
|
if (retval != ERROR_OK)
|
||||||
{
|
{
|
||||||
/* FASTDATA access failed, try normal memory write */
|
/* FASTDATA access failed, try normal memory write */
|
||||||
|
|
Loading…
Reference in New Issue