From 18aacc8bf3ff7c7481673cbbfe82f0104e4dccf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20LEGAL?= Date: Wed, 29 Mar 2023 14:19:48 +0200 Subject: [PATCH] src/target/mips_m4k : fix condition on overlapping workspace data area MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The condition to check if the workspace area (used by actual MIPS code executed on target) and data area (sandbox to put data to be read/written to/from flash) is wrong, thus preventing the use of FAST_* commands to program/verify FLASH. Signed-off-by: François LEGAL Change-Id: Ic68424b7f42d44e550433a120093db5e7980fd56 Reviewed-on: https://review.openocd.org/c/openocd/+/7563 Tested-by: jenkins Reviewed-by: Tomas Vanek --- src/target/mips_m4k.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/target/mips_m4k.c b/src/target/mips_m4k.c index 491b247b1..d3b07585d 100644 --- a/src/target/mips_m4k.c +++ b/src/target/mips_m4k.c @@ -1218,8 +1218,8 @@ static int mips_m4k_bulk_write_memory(struct target *target, target_addr_t addre fast_data_area = mips32->fast_data_area; - if (address <= fast_data_area->address + fast_data_area->size && - fast_data_area->address <= address + count) { + if (address < (fast_data_area->address + fast_data_area->size) && + fast_data_area->address < (address + count)) { LOG_ERROR("fast_data (" TARGET_ADDR_FMT ") is within write area " "(" TARGET_ADDR_FMT "-" TARGET_ADDR_FMT ").", fast_data_area->address, address, address + count);