diff --git a/arch/arm/src/lm3s/lm3s_vectors.S b/arch/arm/src/lm3s/lm3s_vectors.S index 58674dda41..d760c13f75 100644 --- a/arch/arm/src/lm3s/lm3s_vectors.S +++ b/arch/arm/src/lm3s/lm3s_vectors.S @@ -377,7 +377,7 @@ lm3s_irqcommon: */ #ifdef CONFIG_ARCH_INTERRUPTSTACK - ld sp, #up_interruptstack_base + ldr sp, =g_intstackbase str r1, [sp, #-4]! /* Save the MSP on the interrupt stack */ bl up_doirq /* R0=IRQ, R1=register save (msp) */ ldr r1, [sp, #+4]! /* Recover R1=main stack pointer */ @@ -431,7 +431,7 @@ lm3s_irqcommon: .size handlers, .-handlers /************************************************************************************ - * Name: up_interruptstack/g_userstack + * Name: up_interruptstack/g_intstackbase * * Description: * Shouldn't happen @@ -440,10 +440,11 @@ lm3s_irqcommon: #if CONFIG_ARCH_INTERRUPTSTACK > 3 .bss + .global g_intstackbase .align 4 up_interruptstack: .skip (CONFIG_ARCH_INTERRUPTSTACK & ~3) -up_interruptstack_base: +g_intstackbase: .size up_interruptstack, .-up_interruptstack #endif diff --git a/arch/arm/src/lpc17xx/lpc17_vectors.S b/arch/arm/src/lpc17xx/lpc17_vectors.S index fc69e7dd84..8498dd87ac 100755 --- a/arch/arm/src/lpc17xx/lpc17_vectors.S +++ b/arch/arm/src/lpc17xx/lpc17_vectors.S @@ -255,8 +255,8 @@ lpc17_common: * Otherwise, we will re-use the main stack for interrupt level processing. */ -#ifdef CONFIG_ARCH_INTERRUPTSTACK - ld sp, #up_interruptstack_base +#if CONFIG_ARCH_INTERRUPTSTACK > 3 + ldr sp, =g_intstackbase str r1, [sp, #-4]! /* Save the MSP on the interrupt stack */ bl up_doirq /* R0=IRQ, R1=register save (msp) */ ldr r1, [sp, #+4]! /* Recover R1=main stack pointer */ @@ -310,7 +310,7 @@ lpc17_common: .size handlers, .-handlers /************************************************************************************************ - * Name: up_interruptstack/g_userstack + * Name: up_interruptstack/g_intstackbase * * Description: * Shouldn't happen @@ -319,10 +319,11 @@ lpc17_common: #if CONFIG_ARCH_INTERRUPTSTACK > 3 .bss + .global g_intstackbase .align 4 up_interruptstack: .skip (CONFIG_ARCH_INTERRUPTSTACK & ~3) -up_interruptstack_base: +g_intstackbase: .size up_interruptstack, .-up_interruptstack #endif diff --git a/arch/arm/src/sam3u/sam3u_vectors.S b/arch/arm/src/sam3u/sam3u_vectors.S index 4941fb33cb..efa7e0a550 100755 --- a/arch/arm/src/sam3u/sam3u_vectors.S +++ b/arch/arm/src/sam3u/sam3u_vectors.S @@ -247,7 +247,7 @@ sam3u_common: */ #ifdef CONFIG_ARCH_INTERRUPTSTACK - ld sp, #up_interruptstack_base + ldr sp, =g_intstackbase str r1, [sp, #-4]! /* Save the MSP on the interrupt stack */ bl up_doirq /* R0=IRQ, R1=register save (msp) */ ldr r1, [sp, #+4]! /* Recover R1=main stack pointer */ @@ -301,7 +301,7 @@ sam3u_common: .size handlers, .-handlers /************************************************************************************************ - * Name: up_interruptstack/g_userstack + * Name: up_interruptstack/g_intstackbase * * Description: * Shouldn't happen @@ -310,10 +310,11 @@ sam3u_common: #if CONFIG_ARCH_INTERRUPTSTACK > 3 .bss + .global g_intstackbase .align 4 up_interruptstack: .skip (CONFIG_ARCH_INTERRUPTSTACK & ~3) -up_interruptstack_base: +g_intstackbase: .size up_interruptstack, .-up_interruptstack #endif diff --git a/arch/arm/src/stm32/stm32_vectors.S b/arch/arm/src/stm32/stm32_vectors.S index 6a8f64c5bb..7d119f326b 100644 --- a/arch/arm/src/stm32/stm32_vectors.S +++ b/arch/arm/src/stm32/stm32_vectors.S @@ -2,7 +2,7 @@ * arch/arm/src/stm32/stm32_vectors.S * arch/arm/src/chip/stm32_vectors.S * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2009-2010 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -439,7 +439,7 @@ stm32_common: */ #ifdef CONFIG_ARCH_INTERRUPTSTACK - ld sp, #up_interruptstack_base + ldr sp, =g_intstackbase str r1, [sp, #-4]! /* Save the MSP on the interrupt stack */ bl up_doirq /* R0=IRQ, R1=register save (msp) */ ldr r1, [sp, #+4]! /* Recover R1=main stack pointer */ @@ -493,7 +493,7 @@ stm32_common: .size handlers, .-handlers /************************************************************************************ - * Name: up_interruptstack/g_userstack + * Name: up_interruptstack/g_intstackbase * * Description: * Shouldn't happen @@ -502,10 +502,11 @@ stm32_common: #if CONFIG_ARCH_INTERRUPTSTACK > 3 .bss + .global g_intstackbase .align 4 up_interruptstack: .skip (CONFIG_ARCH_INTERRUPTSTACK & ~3) -up_interruptstack_base: +g_intstackbase: .size up_interruptstack, .-up_interruptstack #endif