summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2009-10-11 10:06:08 -0700
committerDavid Brownell <dbrownell@users.sourceforge.net>2009-10-11 10:06:08 -0700
commit8b3bfcfc5be85b7004b1d2453cb42a518c24e605 (patch)
tree575a28c0e54f96e5fbf385e66514df77fc0e2a3f /src
parent5aba621b55ec2faee018b7c3427413399d0291b2 (diff)
downloadopenocd+libswd-8b3bfcfc5be85b7004b1d2453cb42a518c24e605.tar.gz
openocd+libswd-8b3bfcfc5be85b7004b1d2453cb42a518c24e605.tar.bz2
openocd+libswd-8b3bfcfc5be85b7004b1d2453cb42a518c24e605.tar.xz
openocd+libswd-8b3bfcfc5be85b7004b1d2453cb42a518c24e605.zip
xscale bugfix to handler loading
Just fill out the rest of the cache line with NOPs; don't change the record of how much data we consumed. Otherwise the count of how much data is left can roll over from positive to negative ("VERY positive") and skip the loop termination of zero. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'src')
-rw-r--r--src/target/xscale.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/target/xscale.c b/src/target/xscale.c
index b46b621e..38ed1678 100644
--- a/src/target/xscale.c
+++ b/src/target/xscale.c
@@ -1688,9 +1688,9 @@ int xscale_deassert_reset(target_t *target)
cache_line[i / 4] = le_to_h_u32(&buffer[i]);
}
- for (; buf_cnt < 32; buf_cnt += 4)
+ for (; i < 32; i += 4)
{
- cache_line[buf_cnt / 4] = 0xe1a08008;
+ cache_line[i / 4] = 0xe1a08008;
}
/* only load addresses other than the reset vectors */