2004-05-21 Till Strauman <strauman@slac.stanford.edu>

* PR 624/bsps
	startup/bspstart.c: When probing the memory, make sure not to
	corrupt the application. Only probe addresses beyond rtemsFreeMemStart.
	* Let IBMPC_outch() convert LF -> CRLF to avoid printk scrambling
	the screen.
This commit is contained in:
Joel Sherrill
2004-05-21 15:26:20 +00:00
parent 922db6549e
commit f7219b211f
3 changed files with 21 additions and 4 deletions

View File

@@ -1,3 +1,11 @@
2004-05-21 Till Strauman <strauman@slac.stanford.edu>
* PR 624/bsps
startup/bspstart.c: When probing the memory, make sure not to
corrupt the application. Only probe addresses beyond rtemsFreeMemStart.
* Let IBMPC_outch() convert LF -> CRLF to avoid printk scrambling
the screen.
2003-10-02 Till Strauman <strauman@slac.stanford.edu>
PR 502/bsps

View File

@@ -270,8 +270,11 @@ _IBMPC_outch(char c)
{
static int escaped = 0;
if ( ! (escaped = handleEscape(escaped, c)) )
if ( ! (escaped = handleEscape(escaped, c)) ) {
if ( '\n' == c )
videoPutChar('\r');
videoPutChar(c);
}
} /* _IBMPC_outch */

View File

@@ -82,12 +82,18 @@ void bsp_postdriver_hook(void);
void bsp_pretasking_hook(void)
{
rtems_unsigned32 topAddr, val;
int i;
int i, lowest;
if (rtemsFreeMemStart & (CPU_ALIGNMENT - 1)) /* not aligned => align it */
rtemsFreeMemStart = (rtemsFreeMemStart+CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
/* find the lowest 1M boundary to probe */
lowest = ((rtemsFreeMemStart + (1<<20)) >> 20) + 1;
if ( lowest < 2 )
lowest = 2;
if(_heap_size == 0)
{
/*
@@ -95,13 +101,13 @@ void bsp_pretasking_hook(void)
* between 2M and 2048M.
* let us first write
*/
for(i=2048; i>=2; i--)
for(i=2048; i>=lowest; i--)
{
topAddr = i*1024*1024 - 4;
*(volatile rtems_unsigned32 *)topAddr = topAddr;
}
for(i=2; i<=2048; i++)
for(i=lowest; i<=2048; i++)
{
topAddr = i*1024*1024 - 4;
val = *(rtems_unsigned32 *)topAddr;