2008-09-22 Joel Sherrill <joel.sherrill@oarcorp.com>

* bspclean.c, include/bootcard.h: Use standardized bsp_cleanup() which
	can optionally print a message, poll for user to press key, and call
	bsp_reset(). Using this eliminates the various bsp_cleanup()
	implementations which had their own implementation and variety of
	string constants.
	* bspreset.c, bspreset_fatal.c, bspreset_loop.c: New files.
This commit is contained in:
Joel Sherrill
2008-09-22 21:50:54 +00:00
parent 17623751c4
commit 54cf1198e3
6 changed files with 91 additions and 0 deletions

View File

@@ -1,3 +1,12 @@
2008-09-22 Joel Sherrill <joel.sherrill@oarcorp.com>
* bspclean.c, include/bootcard.h: Use standardized bsp_cleanup() which
can optionally print a message, poll for user to press key, and call
bsp_reset(). Using this eliminates the various bsp_cleanup()
implementations which had their own implementation and variety of
string constants.
* bspreset.c, bspreset_fatal.c, bspreset_loop.c: New files.
2008-09-22 Sebastian Huber <sebastian.huber@embedded-brains.de>
* clockdrv_shell.c: Install_clock has now static linkage. Initialize

View File

@@ -11,6 +11,31 @@
* $Id$
*/
#include <rtems.h>
#include <rtems/bspIo.h>
#include <bsp.h>
#include <bspopts.h>
#include <bsp/bootcard.h>
void bsp_cleanup( void )
{
#if (BSP_PRESS_KEY_FOR_RESET)
printk( "\nEXECUTIVE SHUTDOWN! Any key to reboot..." );
/*
* Wait for a key to be pressed
*/
while ( getchark() == -1 )
;
printk("\n");
#endif
/*
* Check both conditions -- if you want to ask for reboot, then
* you must have meant to reset the board.
*/
#if (BSP_PRESS_KEY_FOR_RESET) || (BSP_RESET_BOARD_AT_EXIT)
bsp_reset();
#endif
}

View File

@@ -0,0 +1,19 @@
/*
* This is a dummy bsp_reset routine.
*
* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <rtems.h>
#include <bsp/bootcard.h>
void bsp_reset( void )
{
}

View File

@@ -0,0 +1,17 @@
/*
* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <rtems.h>
void bsp_reset( void )
{
rtems_fatal_error_occurred(0);
}

View File

@@ -0,0 +1,19 @@
/*
* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <rtems.h>
#include <bsp/bootcard.h>
void bsp_reset( void )
{
while (1)
;
}

View File

@@ -46,6 +46,8 @@ void bsp_postdriver_hook(void);
void bsp_cleanup(void);
void bsp_reset(void);
#ifdef BSP_BOOTCARD_HANDLES_RAM_ALLOCATION
#define BSP_BOOTCARD_HEAP_USES_WORK_AREA NULL