This is an automated email from Gerrit.

Spencer Oliver ([email protected]) just uploaded a new patch set to Gerrit, 
which you can find at http://openocd.zylin.com/1108

-- gerrit

commit 16fed4d4451072918fa7bc17bebe63c497551924
Author: Spencer Oliver <[email protected]>
Date:   Thu Jan 10 14:01:47 2013 +0000

    armv7m: use ARM_MODE_THREAD core mode for algoorithm's
    
    This makes sure we are using privileged mode when executing any loaders.
    
    Change-Id: I18bf32ec92e1c76a66ab25e3712652bc3650b332
    Signed-off-by: Spencer Oliver <[email protected]>

diff --git a/src/flash/nor/cfi.c b/src/flash/nor/cfi.c
index 81a58ce..cb05021 100644
--- a/src/flash/nor/cfi.c
+++ b/src/flash/nor/cfi.c
@@ -1778,7 +1778,7 @@ static int cfi_spansion_write_block(struct flash_bank 
*bank, uint8_t *buffer,
 
        if (is_armv7m(target_to_armv7m(target))) {      /* armv7m target */
                armv7m_algo.common_magic = ARMV7M_COMMON_MAGIC;
-               armv7m_algo.core_mode = ARM_MODE_ANY;
+               armv7m_algo.core_mode = ARM_MODE_THREAD;
                arm_algo = &armv7m_algo;
        } else if (is_arm(target_to_arm(target))) {
                /* All other ARM CPUs have 32 bit instructions */
diff --git a/src/flash/nor/em357.c b/src/flash/nor/em357.c
index e93af2f..cbb71fc 100644
--- a/src/flash/nor/em357.c
+++ b/src/flash/nor/em357.c
@@ -522,7 +522,7 @@ static int em357_write_block(struct flash_bank *bank, 
uint8_t *buffer,
        ;
 
        armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
-       armv7m_info.core_mode = ARM_MODE_ANY;
+       armv7m_info.core_mode = ARM_MODE_THREAD;
 
        init_reg_param(&reg_params[0], "r0", 32, PARAM_OUT);
        init_reg_param(&reg_params[1], "r1", 32, PARAM_OUT);
diff --git a/src/flash/nor/fm3.c b/src/flash/nor/fm3.c
index aa5d58d..9b52f15 100644
--- a/src/flash/nor/fm3.c
+++ b/src/flash/nor/fm3.c
@@ -502,7 +502,7 @@ static int fm3_write_block(struct flash_bank *bank, uint8_t 
*buffer,
        }
 
        armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
-       armv7m_info.core_mode = ARM_MODE_ANY;
+       armv7m_info.core_mode = ARM_MODE_THREAD;
 
        init_reg_param(&reg_params[0], "r0", 32, PARAM_OUT); /* source start 
address */
        init_reg_param(&reg_params[1], "r1", 32, PARAM_OUT); /* target start 
address */
diff --git a/src/flash/nor/lpc2000.c b/src/flash/nor/lpc2000.c
index 1aa3b91..36f0bfa 100644
--- a/src/flash/nor/lpc2000.c
+++ b/src/flash/nor/lpc2000.c
@@ -309,7 +309,7 @@ static int lpc2000_iap_call(struct flash_bank *bank, struct 
working_area *iap_wo
        switch (lpc2000_info->variant) {
                case lpc1700:
                        armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
-                       armv7m_info.core_mode = ARM_MODE_ANY;
+                       armv7m_info.core_mode = ARM_MODE_THREAD;
                        iap_entry_point = 0x1fff1ff1;
                        break;
                case lpc2000_v1:
diff --git a/src/flash/nor/lpcspifi.c b/src/flash/nor/lpcspifi.c
index 89e8f03..2b4d6f6 100644
--- a/src/flash/nor/lpcspifi.c
+++ b/src/flash/nor/lpcspifi.c
@@ -182,7 +182,7 @@ static int lpcspifi_set_hw_mode(struct flash_bank *bank)
        };
 
        armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
-       armv7m_info.core_mode = ARM_MODE_ANY;
+       armv7m_info.core_mode = ARM_MODE_THREAD;
 
 
        LOG_DEBUG("Allocating working area for SPIFI init algorithm");
@@ -519,7 +519,7 @@ static int lpcspifi_erase(struct flash_bank *bank, int 
first, int last)
        };
 
        armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
-       armv7m_info.core_mode = ARM_MODE_ANY;
+       armv7m_info.core_mode = ARM_MODE_THREAD;
 
 
        /* Get memory for spifi initialization algorithm */
@@ -726,7 +726,7 @@ static int lpcspifi_write(struct flash_bank *bank, uint8_t 
*buffer,
        };
 
        armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
-       armv7m_info.core_mode = ARM_MODE_ANY;
+       armv7m_info.core_mode = ARM_MODE_THREAD;
 
        init_reg_param(&reg_params[0], "r0", 32, PARAM_IN_OUT);         /* 
buffer start, status (out) */
        init_reg_param(&reg_params[1], "r1", 32, PARAM_OUT);            /* 
buffer end */
diff --git a/src/flash/nor/stellaris.c b/src/flash/nor/stellaris.c
index cd0311a..54536f6 100644
--- a/src/flash/nor/stellaris.c
+++ b/src/flash/nor/stellaris.c
@@ -1045,7 +1045,7 @@ static int stellaris_write_block(struct flash_bank *bank,
                        (uint8_t *) stellaris_write_code);
 
        armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
-       armv7m_info.core_mode = ARM_MODE_ANY;
+       armv7m_info.core_mode = ARM_MODE_THREAD;
 
        init_reg_param(&reg_params[0], "r0", 32, PARAM_OUT);
        init_reg_param(&reg_params[1], "r1", 32, PARAM_OUT);
diff --git a/src/flash/nor/stm32f1x.c b/src/flash/nor/stm32f1x.c
index 6ca814a..17df121 100644
--- a/src/flash/nor/stm32f1x.c
+++ b/src/flash/nor/stm32f1x.c
@@ -656,7 +656,7 @@ static int stm32x_write_block(struct flash_bank *bank, 
uint8_t *buffer,
        buf_set_u32(reg_params[4].value, 0, 32, address);
 
        armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
-       armv7m_info.core_mode = ARM_MODE_ANY;
+       armv7m_info.core_mode = ARM_MODE_THREAD;
 
        retval = target_run_flash_async_algorithm(target, buffer, count, 2,
                        0, NULL,
diff --git a/src/flash/nor/stm32f2x.c b/src/flash/nor/stm32f2x.c
index 3cae988..94f9280 100644
--- a/src/flash/nor/stm32f2x.c
+++ b/src/flash/nor/stm32f2x.c
@@ -389,7 +389,7 @@ static int stm32x_write_block(struct flash_bank *bank, 
uint8_t *buffer,
        };
 
        armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
-       armv7m_info.core_mode = ARM_MODE_ANY;
+       armv7m_info.core_mode = ARM_MODE_THREAD;
 
        init_reg_param(&reg_params[0], "r0", 32, PARAM_IN_OUT);         /* 
buffer start, status (out) */
        init_reg_param(&reg_params[1], "r1", 32, PARAM_OUT);            /* 
buffer end */
diff --git a/src/flash/nor/stm32lx.c b/src/flash/nor/stm32lx.c
index 2cb7805..ac783d1 100644
--- a/src/flash/nor/stm32lx.c
+++ b/src/flash/nor/stm32lx.c
@@ -296,7 +296,7 @@ static int stm32lx_write_half_pages(struct flash_bank 
*bank, uint8_t *buffer,
        LOG_DEBUG("allocated working area for data (%" PRIx32 " bytes)", 
buffer_size);
 
        armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
-       armv7m_info.core_mode = ARM_MODE_ANY;
+       armv7m_info.core_mode = ARM_MODE_THREAD;
        init_reg_param(&reg_params[0], "r0", 32, PARAM_OUT);
        init_reg_param(&reg_params[1], "r1", 32, PARAM_OUT);
        init_reg_param(&reg_params[2], "r2", 32, PARAM_OUT);
diff --git a/src/target/armv7m.c b/src/target/armv7m.c
index 9740a28..0f44723 100644
--- a/src/target/armv7m.c
+++ b/src/target/armv7m.c
@@ -661,7 +661,7 @@ int armv7m_checksum_memory(struct target *target,
                goto cleanup;
 
        armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
-       armv7m_info.core_mode = ARM_MODE_ANY;
+       armv7m_info.core_mode = ARM_MODE_THREAD;
 
        init_reg_param(&reg_params[0], "r0", 32, PARAM_IN_OUT);
        init_reg_param(&reg_params[1], "r1", 32, PARAM_OUT);
@@ -721,7 +721,7 @@ int armv7m_blank_check_memory(struct target *target,
                return retval;
 
        armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
-       armv7m_info.core_mode = ARM_MODE_ANY;
+       armv7m_info.core_mode = ARM_MODE_THREAD;
 
        init_reg_param(&reg_params[0], "r0", 32, PARAM_OUT);
        buf_set_u32(reg_params[0].value, 0, 32, address);

-- 

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to