cfi: check supported arch

check that the cfi driver supports the current target arch.

Change-Id: I8a95908684de67bf1657d1956f2573662a641cc1
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/614
Tested-by: jenkins
Reviewed-by: Aurelien Jacobs <aurel@gnuage.org>
This commit is contained in:
Spencer Oliver 2012-05-03 16:30:31 +01:00
parent d2d4f776d8
commit ca53849045

View File

@ -1219,19 +1219,19 @@ static int cfi_intel_write_block(struct flash_bank *bank, uint8_t *buffer,
uint32_t target_code_size; uint32_t target_code_size;
int retval = ERROR_OK; int retval = ERROR_OK;
/* todo: if ( (!is_armv7m(target_to_armv7m(target)) && (!is_arm(target_to_arm(target)) ) /* check we have a supported arch */
**/ if (is_arm(target_to_arm(target))) {
if (strncmp(target_type_name(target), "mips_m4k", 8) == 0) { /* All other ARM CPUs have 32 bit instructions */
LOG_ERROR("Your target has no flash block write support yet."); arm_algo.common_magic = ARM_COMMON_MAGIC;
return ERROR_TARGET_RESOURCE_NOT_AVAILABLE; 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); 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 we are setting up the write_algorith, we need target_code_src
* if not we only need target_code_size. */ * if not we only need target_code_size. */