<!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-05-18)</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>
 <font color='#225522'><em>(on branch rtems-4-10-branch)</em></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>   2011-05-18  Till Straumann <strauman@slac.stanford.edu>

        PR1797/bsps: Applied cleaned-up version of Kate's patch.
        CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK is now a 'bspopts.h'
        setting and as such configurable.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/ChangeLog.diff?r1=text&tr1=1.68&r2=text&tr2=1.68.2.1&diff_format=h">M</a></td><td width='1%'>1.68.2.1</td><td width='100%'>c/src/lib/libbsp/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/ChangeLog.diff?r1=text&tr1=1.233.2.5&r2=text&tr2=1.233.2.6&diff_format=h">M</a></td><td width='1%'>1.233.2.6</td><td width='100%'>c/src/lib/libbsp/powerpc/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/beatnik/ChangeLog.diff?r1=text&tr1=1.9.2.4&r2=text&tr2=1.9.2.5&diff_format=h">M</a></td><td width='1%'>1.9.2.5</td><td width='100%'>c/src/lib/libbsp/powerpc/beatnik/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/beatnik/configure.ac.diff?r1=text&tr1=1.1.1.1.2.1&r2=text&tr2=1.1.1.1.2.2&diff_format=h">M</a></td><td width='1%'>1.1.1.1.2.2</td><td width='100%'>c/src/lib/libbsp/powerpc/beatnik/configure.ac</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/beatnik/include/bsp.h.diff?r1=text&tr1=1.3.2.1&r2=text&tr2=1.3.2.2&diff_format=h">M</a></td><td width='1%'>1.3.2.2</td><td width='100%'>c/src/lib/libbsp/powerpc/beatnik/include/bsp.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/ep1a/ChangeLog.diff?r1=text&tr1=1.85.2.2&r2=text&tr2=1.85.2.3&diff_format=h">M</a></td><td width='1%'>1.85.2.3</td><td width='100%'>c/src/lib/libbsp/powerpc/ep1a/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/ep1a/configure.ac.diff?r1=text&tr1=1.12.2.1&r2=text&tr2=1.12.2.2&diff_format=h">M</a></td><td width='1%'>1.12.2.2</td><td width='100%'>c/src/lib/libbsp/powerpc/ep1a/configure.ac</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/motorola_powerpc/ChangeLog.diff?r1=text&tr1=1.154.2.1&r2=text&tr2=1.154.2.2&diff_format=h">M</a></td><td width='1%'>1.154.2.2</td><td width='100%'>c/src/lib/libbsp/powerpc/motorola_powerpc/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/motorola_powerpc/configure.ac.diff?r1=text&tr1=1.33.2.1&r2=text&tr2=1.33.2.2&diff_format=h">M</a></td><td width='1%'>1.33.2.2</td><td width='100%'>c/src/lib/libbsp/powerpc/motorola_powerpc/configure.ac</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/motorola_powerpc/include/bsp.h.diff?r1=text&tr1=1.24&r2=text&tr2=1.24.2.1&diff_format=h">M</a></td><td width='1%'>1.24.2.1</td><td width='100%'>c/src/lib/libbsp/powerpc/motorola_powerpc/include/bsp.h</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.48.2.2&r2=text&tr2=1.48.2.3&diff_format=h">M</a></td><td width='1%'>1.48.2.3</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/configure.ac.diff?r1=text&tr1=1.7.2.2&r2=text&tr2=1.7.2.3&diff_format=h">M</a></td><td width='1%'>1.7.2.3</td><td width='100%'>c/src/lib/libbsp/powerpc/mvme3100/configure.ac</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/mvme3100/include/bsp.h.diff?r1=text&tr1=1.9&r2=text&tr2=1.9.2.1&diff_format=h">M</a></td><td width='1%'>1.9.2.1</td><td width='100%'>c/src/lib/libbsp/powerpc/mvme3100/include/bsp.h</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.122.2.1&r2=text&tr2=1.122.2.2&diff_format=h">M</a></td><td width='1%'>1.122.2.2</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/configure.ac.diff?r1=text&tr1=1.14.2.1&r2=text&tr2=1.14.2.2&diff_format=h">M</a></td><td width='1%'>1.14.2.2</td><td width='100%'>c/src/lib/libbsp/powerpc/mvme5500/configure.ac</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h.diff?r1=text&tr1=1.19&r2=text&tr2=1.19.2.1&diff_format=h">M</a></td><td width='1%'>1.19.2.1</td><td width='100%'>c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/psim/ChangeLog.diff?r1=text&tr1=1.177.2.1&r2=text&tr2=1.177.2.2&diff_format=h">M</a></td><td width='1%'>1.177.2.2</td><td width='100%'>c/src/lib/libbsp/powerpc/psim/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/psim/configure.ac.diff?r1=text&tr1=1.33.2.1&r2=text&tr2=1.33.2.2&diff_format=h">M</a></td><td width='1%'>1.33.2.2</td><td width='100%'>c/src/lib/libbsp/powerpc/psim/configure.ac</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/score603e/ChangeLog.diff?r1=text&tr1=1.179.2.1&r2=text&tr2=1.179.2.2&diff_format=h">M</a></td><td width='1%'>1.179.2.2</td><td width='100%'>c/src/lib/libbsp/powerpc/score603e/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/score603e/configure.ac.diff?r1=text&tr1=1.34.2.1&r2=text&tr2=1.34.2.2&diff_format=h">M</a></td><td width='1%'>1.34.2.2</td><td width='100%'>c/src/lib/libbsp/powerpc/score603e/configure.ac</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/shared/startup/bspgetworkarea.c.diff?r1=text&tr1=1.8&r2=text&tr2=1.8.2.1&diff_format=h">M</a></td><td width='1%'>1.8.2.1</td><td width='100%'>c/src/lib/libbsp/powerpc/shared/startup/bspgetworkarea.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/shared/startup/pretaskinghook.c.diff?r1=text&tr1=1.8&r2=text&tr2=1.8.2.1&diff_format=h">M</a></td><td width='1%'>1.8.2.1</td><td width='100%'>c/src/lib/libbsp/powerpc/shared/startup/pretaskinghook.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/shared/startup/sbrk.c.diff?r1=text&tr1=1.9&r2=text&tr2=1.9.2.1&diff_format=h">M</a></td><td width='1%'>1.9.2.1</td><td width='100%'>c/src/lib/libbsp/powerpc/shared/startup/sbrk.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/shared/bootcard.c.diff?r1=text&tr1=1.47&r2=text&tr2=1.47.2.1&diff_format=h">M</a></td><td width='1%'>1.47.2.1</td><td width='100%'>c/src/lib/libbsp/shared/bootcard.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/shared/include/bootcard.h.diff?r1=text&tr1=1.9&r2=text&tr2=1.9.2.1&diff_format=h">M</a></td><td width='1%'>1.9.2.1</td><td width='100%'>c/src/lib/libbsp/shared/include/bootcard.h</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/ChangeLog:1.68 rtems/c/src/lib/libbsp/ChangeLog:1.68.2.1
--- rtems/c/src/lib/libbsp/ChangeLog:1.68       Wed Apr 14 04:00:45 2010
+++ rtems/c/src/lib/libbsp/ChangeLog    Wed May 18 00:08:35 2011
</font><font color='#997700'>@@ -1,3 +1,23 @@
</font><font color='#000088'>+2011-05-17    Till Straumann <strauman@slac.stanford.edu>
+
+       PR1797/bsps
+       * shared/bootcard.c, shared/include/bootcard.h: cleaned-up and
+       applied fixes proposed by PR#1797.
+
+2011-05-12  Joel Sherrill <joel.sherrill@OARcorp.com><span style="background-color: #FF0000">  </span>
+
+       PR1797/bsps
+       * bootcard.c:
+       Added #ifdef CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK to minimize code
+       for small targets.
+
+2011-05-12  Kate Feng <feng@bnl.gov>
+<span style="background-color: #FF0000">       </span>
+       PR1797/bsps
+       * bootcard.c:
+       Fixed the value of heap_start & heap_size for the single-heap case.
+       Added bsp_sbrk_init() to fix PPC memory allocation beyond 32 MB.
+
</font> 2010-04-14        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * shared/umon/umoncons.c:

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/ChangeLog:1.233.2.5 rtems/c/src/lib/libbsp/powerpc/ChangeLog:1.233.2.6
--- rtems/c/src/lib/libbsp/powerpc/ChangeLog:1.233.2.5  Fri Mar  4 10:56:23 2011
+++ rtems/c/src/lib/libbsp/powerpc/ChangeLog    Wed May 18 00:08:35 2011
</font><font color='#997700'>@@ -1,3 +1,21 @@
</font><font color='#000088'>+2011-05-17  Till Straumann <strauman@slac.stanford.edu>
+
+       PR1797/bsps
+       * shared/startup/sbrk.c: Cleanup; changed default
+       BSP_sbrk_policy to yield all memory to the heap.
+       App must specify a different policy if desired.
+
+2011-05-13  Gedare Bloom <gedare@gwmail.gwu.edu>
+
+       PR1797/bsps
+       * shared/startup/sbrk.c : Renamed bsp_sbrk_init().
+<span style="background-color: #FF0000">       </span>
+2011-05-07  Kate Feng <feng@bnl.gov>
+
+       PR1797/bsps
+       * shared/startup/bspgetworkarea.c: Removed _bsp_sbrk_init().
+       * shared/startup/pretaskinghook.c: Removed rtems/malloc.h.
+
</font> 2011-03-04        Joel Sherrill <joel.sherrilL@OARcorp.com>
 
        * shared/start/start.S: Remove conflict markers in comment.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/beatnik/ChangeLog:1.9.2.4 rtems/c/src/lib/libbsp/powerpc/beatnik/ChangeLog:1.9.2.5
--- rtems/c/src/lib/libbsp/powerpc/beatnik/ChangeLog:1.9.2.4    Mon May 16 10:12:31 2011
+++ rtems/c/src/lib/libbsp/powerpc/beatnik/ChangeLog    Wed May 18 00:08:36 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-05-17    Till Straumann <strauman@slac.stanford.edu>
+
+       PR1797/bsps
+       * configure.ac, include/bsp.h: Made
+       CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK a bspopts.h setting.
+
</font> 2011-05-16        Till Straumann <strauman@slac.stanford.edu>
 
        * include/bsp.h: define CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/beatnik/configure.ac:1.1.1.1.2.1 rtems/c/src/lib/libbsp/powerpc/beatnik/configure.ac:1.1.1.1.2.2
--- rtems/c/src/lib/libbsp/powerpc/beatnik/configure.ac:1.1.1.1.2.1     Wed Feb  2 09:16:29 2011
+++ rtems/c/src/lib/libbsp/powerpc/beatnik/configure.ac Wed May 18 00:08:36 2011
</font><font color='#997700'>@@ -32,6 +32,16 @@
</font>  of PowerPC 603e revisions and emulator versions.
  The BSP actually contains the call that enables this.])
 
<font color='#000088'>+RTEMS_BSPOPTS_SET([CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK], [*], [1])
+RTEMS_BSPOPTS_HELP([CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK],
+[If defined then the BSP may reduce the available memory size
+initially. This can be useful for debugging (reduce the core
+size) or dynamic loading (std gcc text offsets/jumps are < +/-32M).
+Note that the policy can still be defined by the application
+(see sbrk.c, BSP_sbrk_policy). By undefining
+CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK this feature is removed
+and a little memory is saved.])
+
</font> # Explicitly list all Makefiles here
 AC_CONFIG_FILES([Makefile])
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/beatnik/include/bsp.h:1.3.2.1 rtems/c/src/lib/libbsp/powerpc/beatnik/include/bsp.h:1.3.2.2
--- rtems/c/src/lib/libbsp/powerpc/beatnik/include/bsp.h:1.3.2.1        Mon May 16 10:12:31 2011
+++ rtems/c/src/lib/libbsp/powerpc/beatnik/include/bsp.h        Wed May 18 00:08:36 2011
</font><font color='#997700'>@@ -63,8 +63,6 @@
</font>  */
 #define BSP_INTERRUPT_STACK_SIZE          (16 * 1024)
 
<font color='#880000'>-#define CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
-
</font> /*
  *  base address definitions for several devices
  */

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/ep1a/ChangeLog:1.85.2.2 rtems/c/src/lib/libbsp/powerpc/ep1a/ChangeLog:1.85.2.3
--- rtems/c/src/lib/libbsp/powerpc/ep1a/ChangeLog:1.85.2.2      Fri Mar  4 08:37:34 2011
+++ rtems/c/src/lib/libbsp/powerpc/ep1a/ChangeLog       Wed May 18 00:08:36 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-05-17    Till Straumann <strauman@slac.stanford.edu>
+
+       PR1797/bsps
+       * configure.ac: Made CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
+       a bspopts.h setting.
+
</font> 2011-03-04        Joel Sherrill <joel.sherrilL@OARcorp.com>
 
        PR 1751/bsps

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/ep1a/configure.ac:1.12.2.1 rtems/c/src/lib/libbsp/powerpc/ep1a/configure.ac:1.12.2.2
--- rtems/c/src/lib/libbsp/powerpc/ep1a/configure.ac:1.12.2.1   Wed Feb  2 09:16:32 2011
+++ rtems/c/src/lib/libbsp/powerpc/ep1a/configure.ac    Wed May 18 00:08:36 2011
</font><font color='#997700'>@@ -33,6 +33,16 @@
</font> RTEMS_BSPOPTS_HELP([CONSOLE_USE_INTERRUPTS],
 [whether using console interrupts])
 
<font color='#000088'>+RTEMS_BSPOPTS_SET([CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK], [*], [1])
+RTEMS_BSPOPTS_HELP([CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK],
+[If defined then the BSP may reduce the available memory size
+initially. This can be useful for debugging (reduce the core
+size) or dynamic loading (std gcc text offsets/jumps are < +/-32M).
+Note that the policy can still be defined by the application
+(see sbrk.c, BSP_sbrk_policy). By undefining
+CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK this feature is removed
+and a little memory is saved.])
+
</font> RTEMS_CHECK_NETWORKING
 AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/motorola_powerpc/ChangeLog:1.154.2.1 rtems/c/src/lib/libbsp/powerpc/motorola_powerpc/ChangeLog:1.154.2.2
--- rtems/c/src/lib/libbsp/powerpc/motorola_powerpc/ChangeLog:1.154.2.1 Wed Feb  2 09:16:40 2011
+++ rtems/c/src/lib/libbsp/powerpc/motorola_powerpc/ChangeLog   Wed May 18 00:08:35 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-05-17    Till Straumann <strauman@slac.stanford.edu>
+
+       PR1797/bsps
+       * configure.ac, include/bsp.h: Made
+       CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK a bspopts.h setting.
+
</font> 2011-02-02        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * configure.ac: Require autoconf-2.68, automake-1.11.1.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/motorola_powerpc/configure.ac:1.33.2.1 rtems/c/src/lib/libbsp/powerpc/motorola_powerpc/configure.ac:1.33.2.2
--- rtems/c/src/lib/libbsp/powerpc/motorola_powerpc/configure.ac:1.33.2.1       Wed Feb  2 09:16:40 2011
+++ rtems/c/src/lib/libbsp/powerpc/motorola_powerpc/configure.ac        Wed May 18 00:08:35 2011
</font><font color='#997700'>@@ -31,6 +31,16 @@
</font>  of PowerPC 603e revisions and emulator versions.
  The BSP actually contains the call that enables this.])
 
<font color='#000088'>+RTEMS_BSPOPTS_SET([CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK], [*], [1])
+RTEMS_BSPOPTS_HELP([CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK],
+[If defined then the BSP may reduce the available memory size
+initially. This can be useful for debugging (reduce the core
+size) or dynamic loading (std gcc text offsets/jumps are < +/-32M).
+Note that the policy can still be defined by the application
+(see sbrk.c, BSP_sbrk_policy). By undefining
+CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK this feature is removed
+and a little memory is saved.])
+
</font> RTEMS_BSPOPTS_SET([mvme2100],[mvme2100],[1])
 RTEMS_BSPOPTS_SET([mvme2100],[*],[])
 RTEMS_BSPOPTS_HELP([mvme2100],

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/motorola_powerpc/include/bsp.h:1.24 rtems/c/src/lib/libbsp/powerpc/motorola_powerpc/include/bsp.h:1.24.2.1
--- rtems/c/src/lib/libbsp/powerpc/motorola_powerpc/include/bsp.h:1.24  Tue Dec  8 11:24:21 2009
+++ rtems/c/src/lib/libbsp/powerpc/motorola_powerpc/include/bsp.h       Wed May 18 00:08:36 2011
</font><font color='#997700'>@@ -23,7 +23,6 @@
</font> /*
  *  confdefs.h overrides for this BSP:
  */
<font color='#880000'>-#define CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
</font> 
 /*
  * diagram illustrating the role of the configuration

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/mvme3100/ChangeLog:1.48.2.2 rtems/c/src/lib/libbsp/powerpc/mvme3100/ChangeLog:1.48.2.3
--- rtems/c/src/lib/libbsp/powerpc/mvme3100/ChangeLog:1.48.2.2  Wed Feb  2 09:16:46 2011
+++ rtems/c/src/lib/libbsp/powerpc/mvme3100/ChangeLog   Wed May 18 00:08:36 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-05-17    Till Straumann <strauman@slac.stanford.edu>
+
+       PR1797/bsps
+       * configure.ac, include/bsp.h: Made
+       CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK a bspopts.h setting.
+
</font> 2011-02-02        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * configure.ac: Require autoconf-2.68, automake-1.11.1.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/mvme3100/configure.ac:1.7.2.2 rtems/c/src/lib/libbsp/powerpc/mvme3100/configure.ac:1.7.2.3
--- rtems/c/src/lib/libbsp/powerpc/mvme3100/configure.ac:1.7.2.2        Wed Feb  2 09:16:46 2011
+++ rtems/c/src/lib/libbsp/powerpc/mvme3100/configure.ac        Wed May 18 00:08:36 2011
</font><font color='#997700'>@@ -35,6 +35,16 @@
</font>  of PowerPC 603e revisions and emulator versions.
  The BSP actually contains the call that enables this.])
 
<font color='#000088'>+RTEMS_BSPOPTS_SET([CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK], [*], [1])
+RTEMS_BSPOPTS_HELP([CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK],
+[If defined then the BSP may reduce the available memory size
+initially. This can be useful for debugging (reduce the core
+size) or dynamic loading (std gcc text offsets/jumps are < +/-32M).
+Note that the policy can still be defined by the application
+(see sbrk.c, BSP_sbrk_policy). By undefining
+CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK this feature is removed
+and a little memory is saved.])
+
</font> RTEMS_BSP_CLEANUP_OPTIONS(0, 1)
 
 # Explicitly list all Makefiles here

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/mvme3100/include/bsp.h:1.9 rtems/c/src/lib/libbsp/powerpc/mvme3100/include/bsp.h:1.9.2.1
--- rtems/c/src/lib/libbsp/powerpc/mvme3100/include/bsp.h:1.9   Sun Nov 29 22:34:36 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme3100/include/bsp.h       Wed May 18 00:08:36 2011
</font><font color='#997700'>@@ -25,7 +25,6 @@
</font> /*
  *  confdefs.h overrides for this BSP:
  */
<font color='#880000'>-#define CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
</font> 
 #define BSP_INTERRUPT_STACK_SIZE          (16 * 1024)
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.122.2.1 rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.122.2.2
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.122.2.1 Wed Feb  2 09:16:47 2011
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog   Wed May 18 00:08:36 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-05-17    Till Straumann <strauman@slac.stanford.edu>
+
+       PR1797/bsps
+       * configure.ac, include/bsp.h: Made
+       CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK a bspopts.h setting.
+
</font> 2011-02-02        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * configure.ac: Require autoconf-2.68, automake-1.11.1.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/configure.ac:1.14.2.1 rtems/c/src/lib/libbsp/powerpc/mvme5500/configure.ac:1.14.2.2
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/configure.ac:1.14.2.1       Wed Feb  2 09:16:47 2011
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/configure.ac        Wed May 18 00:08:36 2011
</font><font color='#997700'>@@ -31,6 +31,16 @@
</font>  of PowerPC 603e revisions and emulator versions.
  The BSP actually contains the call that enables this.])
 
<font color='#000088'>+RTEMS_BSPOPTS_SET([CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK], [*], [1])
+RTEMS_BSPOPTS_HELP([CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK],
+[If defined then the BSP may reduce the available memory size
+initially. This can be useful for debugging (reduce the core
+size) or dynamic loading (std gcc text offsets/jumps are < +/-32M).
+Note that the policy can still be defined by the application
+(see sbrk.c, BSP_sbrk_policy). By undefining
+CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK this feature is removed
+and a little memory is saved.])
+
</font> RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
 
 # Explicitly list all Makefiles here

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h:1.19 rtems/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h:1.19.2.1
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h:1.19  Sun Nov 29 22:24:25 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h       Wed May 18 00:08:36 2011
</font><font color='#997700'>@@ -116,8 +116,6 @@
</font>  */
 #define BSP_INTERRUPT_STACK_SIZE  (16 * 1024) /* <skf> 2/09 wants it to be adjustable by BSP */
 
<font color='#880000'>-#define CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK   /* <skf> 4/09 see shared/startup/sbrk.c and rtems/confdefs.h */
-
</font> /* uart.c uses out_8 instead of outb  */
 #define BSP_UART_IOBASE_COM1   GT64x60_DEV1_BASE + 0x20000
 #define BSP_UART_IOBASE_COM2   GT64x60_DEV1_BASE + 0x21000

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/psim/ChangeLog:1.177.2.1 rtems/c/src/lib/libbsp/powerpc/psim/ChangeLog:1.177.2.2
--- rtems/c/src/lib/libbsp/powerpc/psim/ChangeLog:1.177.2.1     Wed Feb  2 09:16:49 2011
+++ rtems/c/src/lib/libbsp/powerpc/psim/ChangeLog       Wed May 18 00:08:36 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-05-17    Till Straumann <strauman@slac.stanford.edu>
+
+       PR1797/bsps
+       * configure.ac: Made CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
+       a bspopts.h setting.
+
</font> 2011-02-02        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * configure.ac: Require autoconf-2.68, automake-1.11.1.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/psim/configure.ac:1.33.2.1 rtems/c/src/lib/libbsp/powerpc/psim/configure.ac:1.33.2.2
--- rtems/c/src/lib/libbsp/powerpc/psim/configure.ac:1.33.2.1   Wed Feb  2 09:16:50 2011
+++ rtems/c/src/lib/libbsp/powerpc/psim/configure.ac    Wed May 18 00:08:36 2011
</font><font color='#997700'>@@ -39,6 +39,16 @@
</font>  a clock ISR occurs while the IDLE thread is executing.  This can
  significantly reduce simulation times.])
 
<font color='#000088'>+RTEMS_BSPOPTS_SET([CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK], [*], [1])
+RTEMS_BSPOPTS_HELP([CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK],
+[If defined then the BSP may reduce the available memory size
+initially. This can be useful for debugging (reduce the core
+size) or dynamic loading (std gcc text offsets/jumps are < +/-32M).
+Note that the policy can still be defined by the application
+(see sbrk.c, BSP_sbrk_policy). By undefining
+CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK this feature is removed
+and a little memory is saved.])
+
</font> RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
 
 # Explicitly list all Makefiles here

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/score603e/ChangeLog:1.179.2.1 rtems/c/src/lib/libbsp/powerpc/score603e/ChangeLog:1.179.2.2
--- rtems/c/src/lib/libbsp/powerpc/score603e/ChangeLog:1.179.2.1        Wed Feb  2 09:16:55 2011
+++ rtems/c/src/lib/libbsp/powerpc/score603e/ChangeLog  Wed May 18 00:08:36 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-05-17    Till Straumann <strauman@slac.stanford.edu>
+
+       PR1797/bsps
+       * configure.ac: Made CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
+       a bspopts.h setting.
+
</font> 2011-02-02        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * configure.ac: Require autoconf-2.68, automake-1.11.1.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/score603e/configure.ac:1.34.2.1 rtems/c/src/lib/libbsp/powerpc/score603e/configure.ac:1.34.2.2
--- rtems/c/src/lib/libbsp/powerpc/score603e/configure.ac:1.34.2.1      Wed Feb  2 09:16:55 2011
+++ rtems/c/src/lib/libbsp/powerpc/score603e/configure.ac       Wed May 18 00:08:36 2011
</font><font color='#997700'>@@ -61,6 +61,16 @@
</font>  of PowerPC 603e revisions and emulator versions.
  The BSP actually contains the call that enables this.])
 
<font color='#000088'>+RTEMS_BSPOPTS_SET([CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK], [*], [1])
+RTEMS_BSPOPTS_HELP([CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK],
+[If defined then the BSP may reduce the available memory size
+initially. This can be useful for debugging (reduce the core
+size) or dynamic loading (std gcc text offsets/jumps are < +/-32M).
+Note that the policy can still be defined by the application
+(see sbrk.c, BSP_sbrk_policy). By undefining
+CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK this feature is removed
+and a little memory is saved.])
+
</font> RTEMS_BSPOPTS_SET([PPC_VECTOR_FILE_BASE],[*],[0x0100])
 RTEMS_BSPOPTS_HELP([PPC_VECTOR_FILE_BASE],
 [This defines the base address of the exception table.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/shared/startup/bspgetworkarea.c:1.8 rtems/c/src/lib/libbsp/powerpc/shared/startup/bspgetworkarea.c:1.8.2.1
--- rtems/c/src/lib/libbsp/powerpc/shared/startup/bspgetworkarea.c:1.8  Sun Nov 29 22:29:47 2009
+++ rtems/c/src/lib/libbsp/powerpc/shared/startup/bspgetworkarea.c      Wed May 18 00:08:35 2011
</font><font color='#997700'>@@ -16,7 +16,6 @@
</font> #endif
 
 extern void *__rtems_end;
<font color='#880000'>-extern uintptr_t _bsp_sbrk_init(uintptr_t, uintptr_t*);
</font> 
 /*
  *  This method returns the base address and size of the area which
<font color='#997700'>@@ -31,15 +30,12 @@
</font> )
 {
   uintptr_t work_size;
<font color='#880000'>-  uintptr_t spared;
</font>   uintptr_t work_area;
 
   work_area = (uintptr_t)&__rtems_end +
               rtems_configuration_get_interrupt_stack_size();
   work_size = (uintptr_t)BSP_mem_size - work_area;
 
<font color='#880000'>-  spared = _bsp_sbrk_init( work_area, &work_size );
-
</font>   *work_area_start = (void *)work_area,
   *work_area_size  = work_size;
   *heap_start      = BSP_BOOTCARD_HEAP_USES_WORK_AREA;

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/shared/startup/pretaskinghook.c:1.8 rtems/c/src/lib/libbsp/powerpc/shared/startup/pretaskinghook.c:1.8.2.1
--- rtems/c/src/lib/libbsp/powerpc/shared/startup/pretaskinghook.c:1.8  Mon Sep 15 17:05:19 2008
+++ rtems/c/src/lib/libbsp/powerpc/shared/startup/pretaskinghook.c      Wed May 18 00:08:35 2011
</font><font color='#997700'>@@ -26,8 +26,6 @@
</font> #include <rtems/bspIo.h>
 #endif
 
<font color='#880000'>-#include <rtems/malloc.h>
-
</font> /*
  *  bsp_pretasking_hook
  *

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/shared/startup/sbrk.c:1.9 rtems/c/src/lib/libbsp/powerpc/shared/startup/sbrk.c:1.9.2.1
--- rtems/c/src/lib/libbsp/powerpc/shared/startup/sbrk.c:1.9    Sun Nov 29 22:29:47 2009
+++ rtems/c/src/lib/libbsp/powerpc/shared/startup/sbrk.c        Wed May 18 00:08:35 2011
</font><font color='#997700'>@@ -70,8 +70,8 @@
</font> #include <sys/types.h>
 #include <unistd.h>
 
<font color='#880000'>-static uint32_t         remaining_start=0;
-static uint32_t         remaining_size=0;
</font><font color='#000088'>+static void *           remaining_start=(void*)-1LL;
+static uintptr_t        remaining_size=0;
</font> 
 /* App. may provide a value by defining the BSP_sbrk_policy
  * variable.
<font color='#997700'>@@ -81,16 +81,17 @@
</font>  *    0  -> limit memory effectively to 32M.
  *
  */
<font color='#880000'>-extern uint32_t         BSP_sbrk_policy __attribute__((weak));
</font><font color='#000088'>+extern uintptr_t        BSP_sbrk_policy __attribute__((weak));
</font> 
<font color='#880000'>-#define LIMIT_32M  0x02000000
</font><font color='#000088'>+#define LIMIT_32M  ((void*)0x02000000)
</font> 
<font color='#880000'>-uintptr_t _bsp_sbrk_init(
-  uintptr_t         heap_start,
</font><font color='#000088'>+uintptr_t bsp_sbrk_init(
+  void              *heap_start,
</font>   uintptr_t         *heap_size_p
 )
 {
   uintptr_t         rval=0;
<font color='#000088'>+  uintptr_t         policy;
</font> 
   remaining_start =  heap_start;
   remaining_size  = *heap_size_p;
<font color='#997700'>@@ -104,30 +105,22 @@
</font>   remaining_size  = rval;
   }
 
<font color='#880000'>-  if ( 0 != &BSP_sbrk_policy ) {
-<span style="background-color: #FF0000">  </span>        switch ( BSP_sbrk_policy ) {
-               case (uint32_t)(-1):
</font><font color='#000088'>+  policy = (0 == &BSP_sbrk_policy ? (uintptr_t)(-1) : BSP_sbrk_policy);
+  switch ( policy ) {
+               case (uintptr_t)(-1):
</font>                   *heap_size_p    += rval;
                        remaining_start  = heap_start + *heap_size_p;
                        remaining_size   = 0;
<font color='#880000'>-                   /* return a nonzero sbrk_amount because the libsupport code
-                        * at some point divides by this number prior to trying an
-                        * sbrk() which will fail.
-                        */
-                       rval = 1;
</font>           break;
 
                case 0:
                        remaining_size = 0;
<font color='#880000'>-                   /* see above for why we return 1 */
-                       rval = 1;
</font>           break;
 
                default:
<font color='#880000'>-                   if ( rval > BSP_sbrk_policy )
-                               rval = BSP_sbrk_policy;
</font><font color='#000088'>+                      if ( rval > policy )
+                               rval = policy;
</font>           break;
<font color='#880000'>-   }
</font>   }
 
   return rval;
<font color='#997700'>@@ -138,9 +131,9 @@
</font>   void *rval=(void*)-1;
 
   /* FIXME: BEWARE if size >2G */
<font color='#880000'>-  if (incr <= remaining_size) {
</font><font color='#000088'>+  if ( remaining_start != (void*)-1LL && incr <= remaining_size) {
</font>     remaining_size-=incr;
<font color='#880000'>-    rval = (void*)remaining_start;
</font><font color='#000088'>+    rval = remaining_start;
</font>     remaining_start += incr;
   } else {
     errno = ENOMEM;

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/shared/bootcard.c:1.47 rtems/c/src/lib/libbsp/shared/bootcard.c:1.47.2.1
--- rtems/c/src/lib/libbsp/shared/bootcard.c:1.47       Mon Oct 12 15:22:18 2009
+++ rtems/c/src/lib/libbsp/shared/bootcard.c    Wed May 18 00:08:35 2011
</font><font color='#997700'>@@ -53,6 +53,11 @@
</font> 
 #include <bsp/bootcard.h>
 #include <rtems/bspIo.h>
<font color='#000088'>+#include <rtems/malloc.h>
+
+#ifdef CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
+#include <unistd.h> /* for sbrk() */
+#endif
</font> 
 /*
  *  At most a single pointer to the cmdline for those target
<font color='#997700'>@@ -74,23 +79,30 @@
</font>   void      *work_area_start,
   uintptr_t  work_area_size,
   void      *heap_start,
<font color='#880000'>-  uintptr_t  heap_size
</font><font color='#000088'>+  uintptr_t  heap_size,
+  uintptr_t  sbrk_amount
</font> )
 {
<font color='#880000'>-  if ( !rtems_unified_work_area &&
-       heap_start == BSP_BOOTCARD_HEAP_USES_WORK_AREA) {
-    uintptr_t work_space_size = rtems_configuration_get_work_space_size();
-
-    heap_start = (char *) work_area_start + work_space_size;
-
-    if (heap_size == BSP_BOOTCARD_HEAP_SIZE_DEFAULT) {
-      uintptr_t heap_size_default = work_area_size - work_space_size;
-
-      heap_size = heap_size_default;
</font><font color='#000088'>+  if ( heap_start == BSP_BOOTCARD_HEAP_USES_WORK_AREA ) {
+    if ( rtems_unified_work_area ) {
+      uintptr_t work_space_size = rtems_configuration_get_work_space_size();
+
+      heap_start = (char *) work_area_start + work_space_size;
+
+      if (heap_size == BSP_BOOTCARD_HEAP_SIZE_DEFAULT) {
+        uintptr_t heap_size_default = work_area_size - work_space_size;
+
+        heap_size = heap_size_default;
+      }
+    } else {
+      heap_start = work_area_start;
+      if (heap_size == BSP_BOOTCARD_HEAP_SIZE_DEFAULT) {
+        heap_size = work_area_size;
+      }
</font>     }
   }
 
<font color='#880000'>-  bsp_libc_init(heap_start, heap_size, 0);
</font><font color='#000088'>+  bsp_libc_init(heap_start, heap_size, sbrk_amount);
</font> }
 
 /*
<font color='#997700'>@@ -108,6 +120,7 @@
</font>   uintptr_t              work_area_size = 0;
   void                  *heap_start = NULL;
   uintptr_t              heap_size = 0;
<font color='#000088'>+  uintptr_t              sbrk_amount = 0;
</font> 
   /*
    * Special case for PowerPC: The interrupt disable mask is stored in SPRG0.
<font color='#997700'>@@ -136,6 +149,32 @@
</font>   bsp_get_work_area(&work_area_start, &work_area_size,
                     &heap_start, &heap_size);
 
<font color='#000088'>+#ifdef CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
+  /* This routine may reduce the work area size with the
+   * option to extend it later via sbrk(). If the application
+   * was configured w/o CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK then
+   * omit this step.
+   */
+  if ( rtems_malloc_sbrk_helpers ) {
+    sbrk_amount = bsp_sbrk_init(work_area_start, &work_area_size);
+    if ( work_area_size <  Configuration.work_space_size && sbrk_amount > 0 ) {
+      /* Need to use sbrk right now */
+      uintptr_t sbrk_now;
+
+      sbrk_now = (Configuration.work_space_size - work_area_size) / sbrk_amount;
+      sbrk( sbrk_now * sbrk_amount );
+    }
+  }
+#else
+  if ( rtems_malloc_sbrk_helpers ) {
+    printk("Configuration error!\n"
+           "Application was configured with CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK\n"
+           "but BSP was configured w/o sbrk support\n");
+    bsp_cleanup();
+    return -1;
+  }
+#endif
+
</font>   if ( work_area_size <= Configuration.work_space_size ) {
     printk(
       "bootcard: work space too big for work area: %p > %p\n",
<font color='#997700'>@@ -170,7 +209,8 @@
</font>     work_area_start,
     work_area_size,
     heap_start,
<font color='#880000'>-    heap_size
</font><font color='#000088'>+    heap_size,
+    sbrk_amount
</font>   );
 
   /*

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/shared/include/bootcard.h:1.9 rtems/c/src/lib/libbsp/shared/include/bootcard.h:1.9.2.1
--- rtems/c/src/lib/libbsp/shared/include/bootcard.h:1.9        Fri Apr 30 06:17:49 2010
+++ rtems/c/src/lib/libbsp/shared/include/bootcard.h    Wed May 18 00:08:35 2011
</font><font color='#997700'>@@ -89,6 +89,23 @@
</font> );
 
 /**
<font color='#000088'>+ * @brief Gives the BSP a chance to reduce the work area size with sbrk() adding more later.
+ *
+ * bsp_sbrk_init() may reduce the work area size passed in. The routine
+ * returns the 'sbrk_amount' to be used when extending the heap.
+ * Note that the return value may be zero.
+ *
+ */
+
+#ifdef CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
+uintptr_t bsp_sbrk_init(
+  void              *work_area_begin,
+  uintptr_t         *work_area_size_p
+);
+#endif
+
+
+/**
</font>  * @brief Standard system initialization procedure.
  *
  * You may pass a command line in @a cmdline.  It is later available via the
</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>