summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorTill Straumann <strauman@slac.stanford.edu>2009-11-11 14:25:09 +0000
committerTill Straumann <strauman@slac.stanford.edu>2009-11-11 14:25:09 +0000
commit131e0467d2cd252cc322cf644494a46f58bd6fe5 (patch)
tree2d2a712c07934efefa934707e6bffa0944aa9623 /c
parent2009-11-11 Till Straumann <strauman@slac.stanford.edu> (diff)
downloadrtems-131e0467d2cd252cc322cf644494a46f58bd6fe5.tar.bz2
2009-11-11 Till Straumann <strauman@slac.stanford.edu>
* shared/start/start.S: Align initial stack to CPU_STACK_ALIGNMENT.
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/powerpc/ChangeLog11
-rw-r--r--c/src/lib/libbsp/powerpc/shared/start/start.S12
2 files changed, 20 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/powerpc/ChangeLog b/c/src/lib/libbsp/powerpc/ChangeLog
index 153c5de5f2..1e4d75e365 100644
--- a/c/src/lib/libbsp/powerpc/ChangeLog
+++ b/c/src/lib/libbsp/powerpc/ChangeLog
@@ -1,3 +1,8 @@
+2009-11-11 Till Straumann <strauman@slac.stanford.edu>
+
+ * shared/start/start.S: Align initial stack to
+ CPU_STACK_ALIGNMENT.
+
2009-11-03 Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>
* shared/clock/clock.c: Remove classic decrementer handler
@@ -23,6 +28,12 @@
2009-10-20 Till Straumann <strauman@slac.stanford.edu>
+ * shared/vme/vme_universe.c:
+ Fixed compiler warnings by adding prototypes to function
+ declarations and moving extern declarations to global scope.
+
+2009-10-20 Till Straumann <strauman@slac.stanford.edu>
+
* shared/startup/pgtbl_setup.c: Fixed compiler warnings
(added prototypes to function declarations etc.)
diff --git a/c/src/lib/libbsp/powerpc/shared/start/start.S b/c/src/lib/libbsp/powerpc/shared/start/start.S
index fa4b1f4b1e..de7d097f49 100644
--- a/c/src/lib/libbsp/powerpc/shared/start/start.S
+++ b/c/src/lib/libbsp/powerpc/shared/start/start.S
@@ -106,11 +106,17 @@ enter_C_code:
* stack = &__rtems_end + 4096
*/
addis r9,r0, __stack-PPC_MINIMUM_STACK_FRAME_SIZE@ha
- addi r9,r9, __stack-PPC_MINIMUM_STACK_FRAME_SIZE@l
- mr r1, r9
+ addi r9,r9, __stack-PPC_MINIMUM_STACK_FRAME_SIZE@l
+ /*
+ * align initial stack
+ * (we hope that the bootloader stack was 16-byte aligned
+ * or we haven't used altivec yet...)
+ */
+ li r0, (CPU_STACK_ALIGNMENT-1)
+ andc r1, r9, r0
/*
* We are now in a environment that is totally independent from
- * bootloader setup.
+ * bootloader setup.
*/
/* pass result of 'save_boot_params' to 'boot_card' in R3 */
bl boot_card