diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-09-22 21:50:54 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-09-22 21:50:54 +0000 |
commit | 54cf1198e320e1a67efe501efed98290d24b582d (patch) | |
tree | 566dc713aae7891cdb70ecf2ab812ad049a17efc /c/src/lib/libbsp/shared/bspclean.c | |
parent | 2008-09-22 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-54cf1198e320e1a67efe501efed98290d24b582d.tar.bz2 |
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.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/shared/bspclean.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/shared/bspclean.c b/c/src/lib/libbsp/shared/bspclean.c index c3651736db..142988cf31 100644 --- a/c/src/lib/libbsp/shared/bspclean.c +++ b/c/src/lib/libbsp/shared/bspclean.c @@ -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 } |