<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems (2011-07-28)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>strauman</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-27-28 Till Straumann <strauman@slac.stanford.edu>
* start/start.S: fixed indentation. Tag TOS with a NULL
pointer (help terminate when walking the stack).
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/gen5200/ChangeLog.diff?r1=text&tr1=1.156&r2=text&tr2=1.157&diff_format=h">M</a></td><td width='1%'>1.157</td><td width='100%'>c/src/lib/libbsp/powerpc/gen5200/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/gen5200/start/start.S.diff?r1=text&tr1=1.16&r2=text&tr2=1.17&diff_format=h">M</a></td><td width='1%'>1.17</td><td width='100%'>c/src/lib/libbsp/powerpc/gen5200/start/start.S</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/gen5200/ChangeLog:1.156 rtems/c/src/lib/libbsp/powerpc/gen5200/ChangeLog:1.157
--- rtems/c/src/lib/libbsp/powerpc/gen5200/ChangeLog:1.156 Fri Jun 17 06:58:41 2011
+++ rtems/c/src/lib/libbsp/powerpc/gen5200/ChangeLog Thu Jul 28 14:20:09 2011
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2011-27-28 Till Straumann <strauman@slac.stanford.edu>
+
+ * start/start.S: fixed indentation. Tag TOS with a NULL
+ pointer (help terminate when walking the stack).
+
</font> 2011-06-17 Sebastian Huber <sebastian.huber@embedded-brains.de>
* Makefile.am: Added custom memcpy(). Update for network sources.
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/gen5200/start/start.S:1.16 rtems/c/src/lib/libbsp/powerpc/gen5200/start/start.S:1.17
--- rtems/c/src/lib/libbsp/powerpc/gen5200/start/start.S:1.16 Fri Jun 17 06:58:41 2011
+++ rtems/c/src/lib/libbsp/powerpc/gen5200/start/start.S Thu Jul 28 14:20:09 2011
</font><font color='#997700'>@@ -222,7 +222,7 @@
</font> PUBLIC_VAR (start)
start:
/* 1st: initialization work (common for RAM/ROM startup) */
<font color='#880000'>- mfmsr r30
</font><font color='#000088'>+ mfmsr r30
</font> SETBITS r30, r29, MSR_ME|MSR_RI
CLRBITS r30, r29, MSR_EE
mtmsr r30<span style="background-color: #FF0000"> </span> /* Set RI/ME, Clr EE in MSR */
<font color='#997700'>@@ -442,19 +442,19 @@
</font> /* clear entire on chip SRAM (unique for ROM startup) */
lis r30, (MBAR+ONCHIP_SRAM_OFFSET)@h /* get start address of onchip SRAM */
ori r30, r30,(MBAR+ONCHIP_SRAM_OFFSET)@l
<font color='#880000'>- LWI r29, ONCHIP_SRAM_SIZE /* get size of onchip SRAM */
</font><font color='#000088'>+ LWI r29, ONCHIP_SRAM_SIZE /* get size of onchip SRAM */
</font>
<font color='#880000'>- bl clr_mem /* Clear onchip SRAM */
</font><font color='#000088'>+ bl clr_mem /* Clear onchip SRAM */
</font>
#else /* defined(NEED_LOW_LEVEL_INIT) */
bl XLB_init
#endif /* defined(NEED_LOW_LEVEL_INIT) */
/* clear .bss section (unique for ROM startup) */
LWI r30, bsp_section_bss_start /* get start address of bss section */
<font color='#880000'>- LWI r29, bsp_section_bss_size<span style="background-color: #FF0000"> </span> /* get size of bss section */
</font><font color='#000088'>+ LWI r29, bsp_section_bss_size<span style="background-color: #FF0000"> </span> /* get size of bss section */
</font>
<font color='#880000'>- bl clr_mem /* Clear the bss section */
</font><font color='#000088'>+ bl clr_mem /* Clear the bss section */
</font>
#ifdef HAS_UBOOT
mr r3, r14
<font color='#997700'>@@ -463,7 +463,10 @@
</font>
/* set stack pointer (common for RAM/ROM startup) */
LA r1, bsp_section_text_start
<font color='#880000'>- addi r1, r1, -0x10 /* Set up stack pointer = beginning of text section - 0x10 */
</font><font color='#000088'>+ addi r1, r1, -0x10 /* Set up stack pointer = beginning of text section - 0x10 */
+ /* tag TOS with a NULL pointer (termination mark for stack dump) */
+ li r0, 0
+ stw r0, 0(r1)
</font>
bl __eabi /* Set up EABI and SYSV environment */
<font color='#997700'>@@ -475,10 +478,10 @@
</font>
/* clear arguments and do further init. in C (common for RAM/ROM startup) */
<font color='#880000'>- /* Clear cmdline */
- xor r3, r3, r3
</font><font color='#000088'>+ /* Clear cmdline */
+ xor r3, r3, r3
</font>
<font color='#880000'>- bl SYM (boot_card) /* Call the first C routine */
</font><font color='#000088'>+ bl SYM (boot_card) /* Call the first C routine */
</font>
twiddle:
b twiddle /* We don't expect to return from boot_card but if we do */
<font color='#997700'>@@ -507,7 +510,7 @@
</font> or r29,r29,r30 /* set bit 0 in r29/GPIOWDD */
stw r29,GPIOWDD(r31)
<font color='#880000'>- /* activate MEM_CS1 output */
</font><font color='#000088'>+ /* activate MEM_CS1 output */
</font> lwz r29, GPIOPCR(r31)
or r29,r29,r30 /* set bit 0 in r29/GPIOPCR */
stw r29,GPIOPCR(r31)
<font color='#997700'>@@ -625,20 +628,20 @@
</font> FID_DCache:
mflr r26
<font color='#880000'>- bl PPC_HID0_rd
- TSTBITS r30, r29, HID0_DCE
- bne FID_DCache_exit /* If data cache is switched of, skip further actions */
</font><font color='#000088'>+ bl PPC_HID0_rd
+ TSTBITS r30, r29, HID0_DCE
+ bne FID_DCache_exit /* If data cache is switched of, skip further actions */
</font>
li<span style="background-color: #FF0000"> </span> r29, PPC_D_CACHE /* 16 Kb data cache on 603e */
LWI r28, bsp_section_text_start /* Load base address (begin of RAM) */
FID_DCache_loop_1:
<font color='#880000'>- lwz r27, 0(r28) /* Load data at address */
</font><font color='#000088'>+ lwz r27, 0(r28) /* Load data at address */
</font>
<font color='#880000'>- addi r28, r28, PPC_CACHE_ALIGNMENT<span style="background-color: #FF0000"> </span> /* increment cache line address */
- subi r29, r29, PPC_CACHE_ALIGNMENT<span style="background-color: #FF0000"> </span> /* increment loop counter */
- cmpwi r29, 0x0
- bne FID_DCache_loop_1 /* Loop until cache size is reached */
</font><font color='#000088'>+ addi r28, r28, PPC_CACHE_ALIGNMENT<span style="background-color: #FF0000"> </span> /* increment cache line address */
+ subi r29, r29, PPC_CACHE_ALIGNMENT<span style="background-color: #FF0000"> </span> /* increment loop counter */
+ cmpwi r29, 0x0
+ bne FID_DCache_loop_1 /* Loop until cache size is reached */
</font>
li<span style="background-color: #FF0000"> </span> r29, PPC_D_CACHE /* 16 Kb data cache on 603e */
LWI r28, bsp_section_text_start /* Reload base address (begin of RAM) */
<font color='#997700'>@@ -647,14 +650,14 @@
</font>
dcbf r27, r28<span style="background-color: #FF0000"> </span> /* Flush and invalidate cache */
<font color='#880000'>- addi r28, r28, PPC_CACHE_ALIGNMENT<span style="background-color: #FF0000"> </span> /* increment cache line address */
</font><font color='#000088'>+ addi r28, r28, PPC_CACHE_ALIGNMENT<span style="background-color: #FF0000"> </span> /* increment cache line address */
</font> subi r29, r29, PPC_CACHE_ALIGNMENT<span style="background-color: #FF0000"> </span> /* increment loop counter */
cmpwi r29, 0x0
<font color='#880000'>- bne FID_DCache_loop_2 /* Loop around until cache size is reached */
</font><font color='#000088'>+ bne FID_DCache_loop_2 /* Loop around until cache size is reached */
</font>
<font color='#880000'>- bl PPC_HID0_rd /* Read HID0 */
-<span style="background-color: #FF0000"> </span> CLRBITS r30, r29, HID0_DCE
- bl PPC_HID0_wr /* Clear DCE */
</font><font color='#000088'>+ bl PPC_HID0_rd /* Read HID0 */
+ CLRBITS r30, r29, HID0_DCE
+ bl PPC_HID0_wr /* Clear DCE */
</font>
FID_DCache_exit:
mtlr r26
<font color='#997700'>@@ -663,21 +666,21 @@
</font> IDUL_ICache:
mflr<span style="background-color: #FF0000"> </span> r26
<font color='#880000'>- bl PPC_HID0_rd
- TSTBITS r30, r29, HID0_ICE
- bne IDUL_ICache_exit /* If instruction cache is switched of, skip further actions */
</font><font color='#000088'>+ bl PPC_HID0_rd
+ TSTBITS r30, r29, HID0_ICE
+ bne IDUL_ICache_exit /* If instruction cache is switched of, skip further actions */
</font>
CLRBITS r30, r29, HID0_ICE
<font color='#880000'>- bl PPC_HID0_wr<span style="background-color: #FF0000"> </span> /* Disable ICE bit */
</font><font color='#000088'>+ bl PPC_HID0_wr<span style="background-color: #FF0000"> </span> /* Disable ICE bit */
</font>
SETBITS r30, r29, HID0_ICFI
<font color='#880000'>- bl PPC_HID0_wr /* Invalidate instruction cache */
</font><font color='#000088'>+ bl PPC_HID0_wr /* Invalidate instruction cache */
</font>
<font color='#880000'>- CLRBITS r30, r29, HID0_ICFI
- bl PPC_HID0_wr /* Disable cache invalidate */
</font><font color='#000088'>+ CLRBITS r30, r29, HID0_ICFI
+ bl PPC_HID0_wr /* Disable cache invalidate */
</font>
<font color='#880000'>- CLRBITS r30, r29, HID0_ILOCK
- bl PPC_HID0_wr /* Disable instruction cache lock */
</font><font color='#000088'>+ CLRBITS r30, r29, HID0_ILOCK
+ bl PPC_HID0_wr /* Disable instruction cache lock */
</font>
IDUL_ICache_exit:
mtlr r26
<font color='#997700'>@@ -854,47 +857,47 @@
</font> PPC_HID0_rd: /* get HID0 content to r30 */
<font color='#880000'>- mfspr r30, HID0
</font><font color='#000088'>+ mfspr r30, HID0
</font>
<font color='#880000'>- blr
</font><font color='#000088'>+ blr
</font>
PPC_HID0_wr: /* put r30 content to HID0 */
<font color='#880000'>- mtspr HID0, r30
</font><font color='#000088'>+ mtspr HID0, r30
</font>
<font color='#880000'>- blr
</font><font color='#000088'>+ blr
</font>
clr_mem:
mr<span style="background-color: #FF0000"> </span> r28, r29
srwi r29, r29, 2
<font color='#880000'>- mtctr r29 /* set ctr reg */
</font><font color='#000088'>+ mtctr r29 /* set ctr reg */
</font>
<font color='#880000'>- slwi r29, r29, 2
- sub r28, r28, r29 /* maybe some residual bytes */
- xor r29, r29, r29
</font><font color='#000088'>+ slwi r29, r29, 2
+ sub r28, r28, r29 /* maybe some residual bytes */
+ xor r29, r29, r29
</font>
clr_mem_word:
<font color='#880000'>- stswi r29, r30, 0x04 /* store r29 (word) to r30 memory location */
- addi r30, r30, 0x04 /* increment r30 */
</font><font color='#000088'>+ stswi r29, r30, 0x04 /* store r29 (word) to r30 memory location */
+ addi r30, r30, 0x04 /* increment r30 */
</font>
<font color='#880000'>- bdnz clr_mem_word /* dec counter and loop */
</font><font color='#000088'>+ bdnz clr_mem_word /* dec counter and loop */
</font>
cmpwi r28, 0x00 /* clear mem. finished ? */
beq clr_mem_end;
<font color='#880000'>- mtctr r28 /* reload counter for residual bytes */
</font><font color='#000088'>+ mtctr r28 /* reload counter for residual bytes */
</font> clr_mem_byte:
stswi r29, r30, 0x01 /* store r29 (byte) to r30 memory location */
addi r30, r30, 0x01 /* update r30 */
<font color='#880000'>- bdnz clr_mem_byte /* dec counter and loop */
</font><font color='#000088'>+ bdnz clr_mem_byte /* dec counter and loop */
</font>
clr_mem_end:
<font color='#880000'>- blr /* return */
</font><font color='#000088'>+ blr /* return */
</font>
XLB_init:
/* init arbiter and stuff... */
</pre>
<p> </p>
<a name='cs2'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>strauman</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-27-28 Till Straumann <strauman@slac.stanford.edu>
* start/start.S: Tag TOS with a NULL pointer
(help terminate when walking the stack).
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/mvme3100/ChangeLog.diff?r1=text&tr1=1.57&r2=text&tr2=1.58&diff_format=h">M</a></td><td width='1%'>1.58</td><td width='100%'>c/src/lib/libbsp/powerpc/mvme3100/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/mvme3100/start/start.S.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>c/src/lib/libbsp/powerpc/mvme3100/start/start.S</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog.diff?r1=text&tr1=1.132&r2=text&tr2=1.133&diff_format=h">M</a></td><td width='1%'>1.133</td><td width='100%'>c/src/lib/libbsp/powerpc/mvme5500/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/mvme5500/start/start.S.diff?r1=text&tr1=1.10&r2=text&tr2=1.11&diff_format=h">M</a></td><td width='1%'>1.11</td><td width='100%'>c/src/lib/libbsp/powerpc/mvme5500/start/start.S</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/mvme3100/ChangeLog:1.57 rtems/c/src/lib/libbsp/powerpc/mvme3100/ChangeLog:1.58
--- rtems/c/src/lib/libbsp/powerpc/mvme3100/ChangeLog:1.57 Sat Jun 11 12:27:05 2011
+++ rtems/c/src/lib/libbsp/powerpc/mvme3100/ChangeLog Thu Jul 28 14:27:58 2011
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2011-27-28 Till Straumann <strauman@slac.stanford.edu>
+
+ * start/start.S: Tag TOS with a NULL pointer
+ (help terminate when walking the stack).
+
</font> 2011-06-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am: Remove reference to wrapup directory.
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/mvme3100/start/start.S:1.7 rtems/c/src/lib/libbsp/powerpc/mvme3100/start/start.S:1.8
--- rtems/c/src/lib/libbsp/powerpc/mvme3100/start/start.S:1.7 Fri Jan 28 14:29:51 2011
+++ rtems/c/src/lib/libbsp/powerpc/mvme3100/start/start.S Thu Jul 28 14:27:58 2011
</font><font color='#997700'>@@ -78,6 +78,11 @@
</font> /* align down to 16-bytes */
li r5, (CPU_STACK_ALIGNMENT - 1)
andc r1, r9, r5
<font color='#000088'>+
+ /* NULL ptr to back chain */
+ li r0, 0
+ stw r0, 0(r1)
+
</font> /*
* We are now in a environment that is totally independent from
* bootloader setup.
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.132 rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.133
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.132 Wed Jul 13 13:35:22 2011
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog Thu Jul 28 14:25:52 2011
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2011-27-28 Till Straumann <strauman@slac.stanford.edu>
+
+ * start/start.S: Tag TOS with a NULL pointer
+ (help terminate when walking the stack).
+
</font> 2011-07-13 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1824/cpukit
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/start/start.S:1.10 rtems/c/src/lib/libbsp/powerpc/mvme5500/start/start.S:1.11
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/start/start.S:1.10 Fri Jun 17 08:24:47 2011
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/start/start.S Thu Jul 28 14:25:52 2011
</font><font color='#997700'>@@ -10,11 +10,7 @@
</font> * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
<font color='#880000'>-<<<<<<< start.S
</font> * $Id$
<font color='#880000'>-=======
- * $Id$
->>>>>>> 1.25
</font> *
*/
<font color='#997700'>@@ -152,6 +148,12 @@
</font> li r0, (CPU_STACK_ALIGNMENT-1)
andc r1, r9, r0
/*
<font color='#000088'>+ * NULL ptr to back chain
+ */
+ li r0, 0
+ stw r0, 0(r1)
+
+ /*
</font> * We are now in a environment that is totally independent from
* bootloader setup.
*/
</pre>
<p> </p>
<a name='cs3'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>strauman</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-27-28 Till Straumann <strauman@slac.stanford.edu>
* start/start.S: Align stack and tag TOS with a NULL
pointer (help terminate when walking the stack).
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/qemuppc/ChangeLog.diff?r1=text&tr1=1.20&r2=text&tr2=1.21&diff_format=h">M</a></td><td width='1%'>1.21</td><td width='100%'>c/src/lib/libbsp/powerpc/qemuppc/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/qemuppc/start/start.S.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/powerpc/qemuppc/start/start.S</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/qemuppc/ChangeLog:1.20 rtems/c/src/lib/libbsp/powerpc/qemuppc/ChangeLog:1.21
--- rtems/c/src/lib/libbsp/powerpc/qemuppc/ChangeLog:1.20 Sat Jun 18 02:25:25 2011
+++ rtems/c/src/lib/libbsp/powerpc/qemuppc/ChangeLog Thu Jul 28 14:50:28 2011
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2011-27-28 Till Straumann <strauman@slac.stanford.edu>
+
+ * start/start.S: Align stack and tag TOS with a NULL
+ pointer (help terminate when walking the stack).
+
</font> 2011-06-18 Ralf Corsépius <ralf.corsepius@rtems.org>
* Makefile.am: Remove references to non-existing files.
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/qemuppc/start/start.S:1.3 rtems/c/src/lib/libbsp/powerpc/qemuppc/start/start.S:1.4
--- rtems/c/src/lib/libbsp/powerpc/qemuppc/start/start.S:1.3 Sun Nov 29 22:34:19 2009
+++ rtems/c/src/lib/libbsp/powerpc/qemuppc/start/start.S Thu Jul 28 14:50:28 2011
</font><font color='#997700'>@@ -1,12 +1,24 @@
</font><font color='#000088'>+#include <rtems/score/cpu.h>
+#include <rtems/powerpc/powerpc.h>
+
+#include <bspopts.h>
+
</font> #.section ".text"
.section .entry_point_section,"awx",@progbits
.global _start
_start:
<font color='#880000'>- lis %r1,_stack@h
- ori %r1,%r1,_stack@l
- li %r3,8192
- mtmsr %r3
</font><font color='#000088'>+ lis %r1,_stack@h
+ ori %r1,%r1,_stack@l
+ /* Make sure stack is properly aligned */
+ li %r3, CPU_STACK_ALIGNMENT - 1
+ andc %r1, %r1, %r3
+ /* NULL ptr to back chain */
+ li %r3, 0
+ stw %r3, 0(%r1)
+
+ li %r3,8192
+ mtmsr %r3
</font>
/* Read-only small data */
lis %r2, _SDA2_BASE_@h
</pre>
<p> </p>
<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>