From 8f0fb36f11b03e73cc9eacb1bf3b643c8141dbac Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Thu, 7 May 2015 20:36:08 -0600 Subject: [PATCH] In go_os_start that sets the IDLE thread stack coloration, mov does not set condition codes which are tested by the following beq. Need to use movs instead. Noted by David Sidrane --- arch/arm/src/efm32/efm32_start.c | 2 +- arch/arm/src/sam34/sam_start.c | 2 +- arch/arm/src/samv7/sam_start.c | 2 +- arch/arm/src/stm32/stm32_start.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm/src/efm32/efm32_start.c b/arch/arm/src/efm32/efm32_start.c index c5e76a46871..0364c3adb21 100644 --- a/arch/arm/src/efm32/efm32_start.c +++ b/arch/arm/src/efm32/efm32_start.c @@ -207,7 +207,7 @@ static void go_os_start(void *pv, unsigned int nbytes) __asm__ __volatile__ ( - "\tmov r1, r1, lsr #2\n" /* R1 = nwords = nbytes >> 2 */ + "\tmovs r1, r1, lsr #2\n" /* R1 = nwords = nbytes >> 2 */ "\tbeq 2f\n" /* (should not happen) */ "\tbic r0, r0, #3\n" /* R0 = Aligned stackptr */ diff --git a/arch/arm/src/sam34/sam_start.c b/arch/arm/src/sam34/sam_start.c index 0c2286b9a54..7b754c2a32e 100644 --- a/arch/arm/src/sam34/sam_start.c +++ b/arch/arm/src/sam34/sam_start.c @@ -204,7 +204,7 @@ static void go_os_start(void *pv, unsigned int nbytes) __asm__ __volatile__ ( - "\tmov r1, r1, lsr #2\n" /* R1 = nwords = nbytes >> 2 */ + "\tmovs r1, r1, lsr #2\n" /* R1 = nwords = nbytes >> 2 */ "\tbeq 2f\n" /* (should not happen) */ "\tbic r0, r0, #3\n" /* R0 = Aligned stackptr */ diff --git a/arch/arm/src/samv7/sam_start.c b/arch/arm/src/samv7/sam_start.c index 82199b09de5..b2d84703247 100644 --- a/arch/arm/src/samv7/sam_start.c +++ b/arch/arm/src/samv7/sam_start.c @@ -276,7 +276,7 @@ static void go_os_start(void *pv, unsigned int nbytes) __asm__ __volatile__ ( - "\tmov r1, r1, lsr #2\n" /* R1 = nwords = nbytes >> 2 */ + "\tmovs r1, r1, lsr #2\n" /* R1 = nwords = nbytes >> 2 */ "\tbeq 2f\n" /* (should not happen) */ "\tbic r0, r0, #3\n" /* R0 = Aligned stackptr */ diff --git a/arch/arm/src/stm32/stm32_start.c b/arch/arm/src/stm32/stm32_start.c index e0613d26fca..911e5139d61 100644 --- a/arch/arm/src/stm32/stm32_start.c +++ b/arch/arm/src/stm32/stm32_start.c @@ -208,7 +208,7 @@ static void go_os_start(void *pv, unsigned int nbytes) __asm__ __volatile__ ( - "\tmov r1, r1, lsr #2\n" /* R1 = nwords = nbytes >> 2 */ + "\tmovs r1, r1, lsr #2\n" /* R1 = nwords = nbytes >> 2 */ "\tbeq 2f\n" /* (should not happen) */ "\tbic r0, r0, #3\n" /* R0 = Aligned stackptr */