Commit aa61a3b3 authored by Spencer Oliver's avatar Spencer Oliver
Browse files

cfi: use safer arch detection


Signed-off-by: default avatarSpencer Oliver <ntfreak@users.sourceforge.net>
parent 7351eecf
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include "cfi.h" #include "cfi.h"
#include "non_cfi.h" #include "non_cfi.h"
#include <target/arm.h> #include <target/arm.h>
#include <target/arm7_9_common.h>
#include <target/armv7m.h> #include <target/armv7m.h>
#include <helper/binarybuffer.h> #include <helper/binarybuffer.h>
#include <target/algorithm.h> #include <target/algorithm.h>
...@@ -1644,18 +1645,23 @@ static int cfi_spansion_write_block(struct flash_bank *bank, uint8_t *buffer, ...@@ -1644,18 +1645,23 @@ static int cfi_spansion_write_block(struct flash_bank *bank, uint8_t *buffer,
0xeafffffe /* b 8204 <sp_8_done> */ 0xeafffffe /* b 8204 <sp_8_done> */
}; };
if(strcmp("cortex_m3", target_type_name(target)) == 0) /* Cortex-M3 target */ if (is_armv7m(target_to_armv7m(target))) /* Cortex-M3 target */
{ {
armv4_5_info.common_magic = ARMV7M_COMMON_MAGIC; armv4_5_info.common_magic = ARMV7M_COMMON_MAGIC;
armv4_5_info.core_mode = ARMV7M_MODE_HANDLER; armv4_5_info.core_mode = ARMV7M_MODE_HANDLER;
armv4_5_info.core_state = ARM_STATE_ARM; armv4_5_info.core_state = ARM_STATE_ARM;
} }
else /* right now is only armv4_5 target */ else if (is_arm7_9(target_to_arm7_9(target)))
{ {
armv4_5_info.common_magic = ARM_COMMON_MAGIC; armv4_5_info.common_magic = ARM_COMMON_MAGIC;
armv4_5_info.core_mode = ARM_MODE_SVC; armv4_5_info.core_mode = ARM_MODE_SVC;
armv4_5_info.core_state = ARM_STATE_ARM; armv4_5_info.core_state = ARM_STATE_ARM;
} }
else
{
/* fallback to slow writes */
return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
}
int target_code_size; int target_code_size;
const uint32_t *target_code_src; const uint32_t *target_code_src;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment