diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2009-10-11 10:06:08 -0700 |
---|---|---|
committer | David Brownell <dbrownell@users.sourceforge.net> | 2009-10-11 10:06:08 -0700 |
commit | 8b3bfcfc5be85b7004b1d2453cb42a518c24e605 (patch) | |
tree | 575a28c0e54f96e5fbf385e66514df77fc0e2a3f | |
parent | 5aba621b55ec2faee018b7c3427413399d0291b2 (diff) | |
download | openocd+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>
-rw-r--r-- | src/target/xscale.c | 4 |
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 */ |