Bug in src/target/mips32_pracc.c

The bug shows up with the command "mdw addres count" and only if count>1024 (count>0x400).
The first 1024 values shows as expected, but the rest of the values  are wrong.
Name of variable  bytesread" is changed to "wordsread" to reflect what really does.

Change-Id: Iad79393e72da2637551c5ae6e829e3873605c520
Signed-off-by: Salvador <sarroyofdez@yahoo.es>
Reviewed-on: http://openocd.zylin.com/527
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
__archive__
Salvador 2012-03-17 09:25:23 +01:00 committed by Spencer Oliver
parent f1c0133321
commit 1274df07f1
1 changed files with 5 additions and 5 deletions

View File

@ -343,10 +343,10 @@ static int mips32_pracc_read_mem32(struct mips_ejtag *ejtag_info, uint32_t addr,
int retval = ERROR_OK;
int blocksize;
int bytesread;
int wordsread;
uint32_t param_in[2];
bytesread = 0;
wordsread = 0;
while (count > 0) {
blocksize = count;
@ -357,13 +357,13 @@ static int mips32_pracc_read_mem32(struct mips_ejtag *ejtag_info, uint32_t addr,
param_in[1] = blocksize;
retval = mips32_pracc_exec(ejtag_info, ARRAY_SIZE(code), code,
ARRAY_SIZE(param_in), param_in, blocksize, &buf[bytesread], 1);
ARRAY_SIZE(param_in), param_in, blocksize, &buf[wordsread], 1);
if (retval != ERROR_OK)
return retval;
count -= blocksize;
addr += blocksize;
bytesread += blocksize;
addr += blocksize*sizeof(uint32_t);
wordsread += blocksize;
}
return retval;