summaryrefslogtreecommitdiff
path: root/libcpu/arm
diff options
context:
space:
mode:
authoraozima <[email protected]>2015-06-04 11:59:18 +0800
committeraozima <[email protected]>2015-06-04 11:59:18 +0800
commitbe76b10be6a01881259c2eaeeb2d375b9c72e216 (patch)
tree1f876f95e9bf58ce04a8bb6f784b45cdac3c8972 /libcpu/arm
parent0ac07f9ffb76320f54f82bf14c1c71c28c3c9150 (diff)
Align stack address to 8 byte.
Diffstat (limited to 'libcpu/arm')
-rw-r--r--libcpu/arm/arm926/start_gcc.S12
-rw-r--r--libcpu/arm/arm926/start_iar.S12
-rw-r--r--libcpu/arm/arm926/start_rvds.S13
3 files changed, 21 insertions, 16 deletions
diff --git a/libcpu/arm/arm926/start_gcc.S b/libcpu/arm/arm926/start_gcc.S
index aeeb37616b..4924583cb8 100644
--- a/libcpu/arm/arm926/start_gcc.S
+++ b/libcpu/arm/arm926/start_gcc.S
@@ -22,6 +22,7 @@
* 2011-01-13 weety first version
* 2015-04-15 ArdaFu Split from AT91SAM9260 BSP
* 2015-04-21 ArdaFu Remove remap code. Using mmu to map vector table
+ * 2015-06-04 aozima Align stack address to 8 byte.
*/
#define S_FRAME_SIZE (18*4) //72
@@ -61,31 +62,32 @@
.section .nobss, "w"
.space UND_STK_SIZE
+ .align 3
.global UND_STACK_START
UND_STACK_START:
.space ABT_STK_SIZE
- .align 2
+ .align 3
.global ABT_STACK_START
ABT_STACK_START:
.space FIQ_STK_SIZE
- .align 2
+ .align 3
.global FIQ_STACK_START
FIQ_STACK_START:
.space IRQ_STK_SIZE
- .align 2
+ .align 3
.global IRQ_STACK_START
IRQ_STACK_START:
.skip SYS_STK_SIZE
- .align 2
+ .align 3
.global SYS_STACK_START
SYS_STACK_START:
.space SVC_STK_SIZE
- .align 2
+ .align 3
.global SVC_STACK_START
SVC_STACK_START:
diff --git a/libcpu/arm/arm926/start_iar.S b/libcpu/arm/arm926/start_iar.S
index 4e689236a5..3494b108d7 100644
--- a/libcpu/arm/arm926/start_iar.S
+++ b/libcpu/arm/arm926/start_iar.S
@@ -22,6 +22,7 @@
; * 2011-01-13 weety first version
; * 2015-04-15 ArdaFu Split from AT91SAM9260 BSP
; * 2015-04-21 ArdaFu Remove remap code. Using mmu to map vector table
+; * 2015-06-04 aozima Align stack address to 8 byte.
; */
#define S_FRAME_SIZE (18*4) ;72
@@ -62,31 +63,32 @@
SECTION .noinit:DATA:NOROOT(3)
DATA
+ ALIGNRAM 3
DS8 UND_STK_SIZE
PUBLIC UND_STACK_START
UND_STACK_START:
- ALIGNRAM 2
+ ALIGNRAM 3
DS8 ABT_STK_SIZE
PUBLIC ABT_STACK_START
ABT_STACK_START:
- ALIGNRAM 2
+ ALIGNRAM 3
DS8 FIQ_STK_SIZE
PUBLIC FIQ_STACK_START
FIQ_STACK_START:
- ALIGNRAM 2
+ ALIGNRAM 3
DS8 IRQ_STK_SIZE
PUBLIC IRQ_STACK_START
IRQ_STACK_START:
- ALIGNRAM 2
+ ALIGNRAM 3
DS8 SYS_STK_SIZE
PUBLIC SYS_STACK_START
SYS_STACK_START:
- ALIGNRAM 2
+ ALIGNRAM 3
DS8 SVC_STK_SIZE
PUBLIC SVC_STACK_START
SVC_STACK_START:
diff --git a/libcpu/arm/arm926/start_rvds.S b/libcpu/arm/arm926/start_rvds.S
index e086e394f1..68fd887d66 100644
--- a/libcpu/arm/arm926/start_rvds.S
+++ b/libcpu/arm/arm926/start_rvds.S
@@ -22,6 +22,7 @@
; * 2011-08-14 weety first version
; * 2015-04-15 ArdaFu Split from AT91SAM9260 BSP
; * 2015-04-21 ArdaFu Remove remap code. Using mmu to map vector table
+; * 2015-06-04 aozima Align stack address to 8 byte.
; */
S_FRAME_SIZE EQU (18*4) ;72
@@ -60,34 +61,34 @@ NOINT EQU 0xC0
GET rt_low_level_keil.inc
;----------------------- Stack and Heap Definitions ----------------------------
- AREA STACK, NOINIT, READWRITE, ALIGN=2
+ AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem
SPACE UND_STK_SIZE
EXPORT UND_STACK_START
UND_STACK_START
- ALIGN 4
+ ALIGN 8
SPACE ABT_STK_SIZE
EXPORT ABT_STACK_START
ABT_STACK_START
- ALIGN 4
+ ALIGN 8
SPACE FIQ_STK_SIZE
EXPORT FIQ_STACK_START
FIQ_STACK_START
- ALIGN 4
+ ALIGN 8
SPACE IRQ_STK_SIZE
EXPORT IRQ_STACK_START
IRQ_STACK_START
- ALIGN 4
+ ALIGN 8
SPACE SYS_STK_SIZE
EXPORT SYS_STACK_START
SYS_STACK_START
- ALIGN 4
+ ALIGN 8
SPACE SVC_STK_SIZE
EXPORT SVC_STACK_START
SVC_STACK_START