From ca53849045b9d505a13d9ec98ff6e58ce13b14f0 Mon Sep 17 00:00:00 2001 From: Spencer Oliver Date: Thu, 3 May 2012 16:30:31 +0100 Subject: [PATCH] cfi: check supported arch check that the cfi driver supports the current target arch. Change-Id: I8a95908684de67bf1657d1956f2573662a641cc1 Signed-off-by: Spencer Oliver Reviewed-on: http://openocd.zylin.com/614 Tested-by: jenkins Reviewed-by: Aurelien Jacobs --- src/flash/nor/cfi.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/flash/nor/cfi.c b/src/flash/nor/cfi.c index 398dd61a1..80d04554c 100644 --- a/src/flash/nor/cfi.c +++ b/src/flash/nor/cfi.c @@ -1219,19 +1219,19 @@ static int cfi_intel_write_block(struct flash_bank *bank, uint8_t *buffer, uint32_t target_code_size; int retval = ERROR_OK; - /* todo: if ( (!is_armv7m(target_to_armv7m(target)) && (!is_arm(target_to_arm(target)) ) - **/ - if (strncmp(target_type_name(target), "mips_m4k", 8) == 0) { - LOG_ERROR("Your target has no flash block write support yet."); - return ERROR_TARGET_RESOURCE_NOT_AVAILABLE; + /* check we have a supported arch */ + if (is_arm(target_to_arm(target))) { + /* All other ARM CPUs have 32 bit instructions */ + arm_algo.common_magic = ARM_COMMON_MAGIC; + arm_algo.core_mode = ARM_MODE_SVC; + arm_algo.core_state = ARM_STATE_ARM; + } else { + LOG_ERROR("Unknown architecture"); + return ERROR_FAIL; } cfi_intel_clear_status_register(bank); - arm_algo.common_magic = ARM_COMMON_MAGIC; - arm_algo.core_mode = ARM_MODE_SVC; - arm_algo.core_state = ARM_STATE_ARM; - /* If we are setting up the write_algorith, we need target_code_src * if not we only need target_code_size. */