summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc/motorola_powerpc/start/bspreset.c
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/powerpc/motorola_powerpc/start/bspreset.c')
-rw-r--r--bsps/powerpc/motorola_powerpc/start/bspreset.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/bsps/powerpc/motorola_powerpc/start/bspreset.c b/bsps/powerpc/motorola_powerpc/start/bspreset.c
new file mode 100644
index 0000000000..0931badae4
--- /dev/null
+++ b/bsps/powerpc/motorola_powerpc/start/bspreset.c
@@ -0,0 +1,28 @@
+#include <bsp.h>
+#include <rtems/bspIo.h>
+#include <libcpu/stackTrace.h>
+#include <bsp/bootcard.h>
+
+/*-------------------------------------------------------------------------+
+| Function: bsp_reset
+| Description: Reboot the PC.
+| Global Variables: None.
+| Arguments: None.
+| Returns: Nothing.
++--------------------------------------------------------------------------*/
+void bsp_reset(void)
+{
+ printk("Printing a stack trace for your convenience :-)\n");
+ CPU_print_stack();
+ /* shutdown and reboot */
+
+#if defined(mvme2100)
+ *(unsigned char*)0xffe00000 |= 0x80;
+#else
+ /* Memory-mapped Port 92 PIB device access
+ *(unsigned char*)0x80000092 |= 0x01;
+ */
+ outb(1, 0x92);
+
+#endif
+} /* bsp_reset */