From 72798eef80d8b79bdd72f3ebd10fac109c0af088 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 22 Sep 2008 21:53:54 +0000 Subject: 2008-09-22 Joel Sherrill * startup/bspreset.c: New file. --- c/src/lib/libbsp/arm/edb7312/ChangeLog | 4 ++++ c/src/lib/libbsp/arm/edb7312/startup/bspreset.c | 16 +++++++++++++ c/src/lib/libbsp/arm/gba/ChangeLog | 4 ++++ c/src/lib/libbsp/arm/gba/startup/bspreset.c | 16 +++++++++++++ c/src/lib/libbsp/arm/nds/ChangeLog | 4 ++++ c/src/lib/libbsp/arm/nds/startup/bspreset.c | 19 +++++++++++++++ c/src/lib/libbsp/arm/rtl22xx/ChangeLog | 4 ++++ c/src/lib/libbsp/arm/rtl22xx/startup/bspreset.c | 32 +++++++++++++++++++++++++ c/src/lib/libbsp/i386/pc386/ChangeLog | 4 ++++ c/src/lib/libbsp/i386/pc386/startup/bspreset.c | 20 ++++++++++++++++ c/src/lib/libbsp/mips/csb350/ChangeLog | 4 ++++ c/src/lib/libbsp/mips/csb350/startup/bspreset.c | 24 +++++++++++++++++++ 12 files changed, 151 insertions(+) create mode 100644 c/src/lib/libbsp/arm/edb7312/startup/bspreset.c create mode 100644 c/src/lib/libbsp/arm/gba/startup/bspreset.c create mode 100644 c/src/lib/libbsp/arm/nds/startup/bspreset.c create mode 100644 c/src/lib/libbsp/arm/rtl22xx/startup/bspreset.c create mode 100644 c/src/lib/libbsp/i386/pc386/startup/bspreset.c create mode 100644 c/src/lib/libbsp/mips/csb350/startup/bspreset.c diff --git a/c/src/lib/libbsp/arm/edb7312/ChangeLog b/c/src/lib/libbsp/arm/edb7312/ChangeLog index d78ebf87e9..dd379717bd 100644 --- a/c/src/lib/libbsp/arm/edb7312/ChangeLog +++ b/c/src/lib/libbsp/arm/edb7312/ChangeLog @@ -1,3 +1,7 @@ +2008-09-22 Joel Sherrill + + * startup/bspreset.c: New file. + 2008-09-22 Joel Sherrill * Makefile.am, configure.ac, console/uart.c: Use standardized diff --git a/c/src/lib/libbsp/arm/edb7312/startup/bspreset.c b/c/src/lib/libbsp/arm/edb7312/startup/bspreset.c new file mode 100644 index 0000000000..5c7f23e880 --- /dev/null +++ b/c/src/lib/libbsp/arm/edb7312/startup/bspreset.c @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2002 by Jay Monkman + * + * 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 + +void bsp_reset(void) +{ + asm volatile ("b _start"); +} diff --git a/c/src/lib/libbsp/arm/gba/ChangeLog b/c/src/lib/libbsp/arm/gba/ChangeLog index a155171829..c3655e07eb 100644 --- a/c/src/lib/libbsp/arm/gba/ChangeLog +++ b/c/src/lib/libbsp/arm/gba/ChangeLog @@ -1,3 +1,7 @@ +2008-09-22 Joel Sherrill + + * startup/bspreset.c: New file. + 2008-09-22 Joel Sherrill * Makefile.am, configure.ac, console/console.c: Use standardized diff --git a/c/src/lib/libbsp/arm/gba/startup/bspreset.c b/c/src/lib/libbsp/arm/gba/startup/bspreset.c new file mode 100644 index 0000000000..6af1a3f18b --- /dev/null +++ b/c/src/lib/libbsp/arm/gba/startup/bspreset.c @@ -0,0 +1,16 @@ +/* + * 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 +#include + +void bsp_reset(void) +{ + asm volatile ("ldr r0, =_gba_reset"); + asm volatile ("bx r0"); +} diff --git a/c/src/lib/libbsp/arm/nds/ChangeLog b/c/src/lib/libbsp/arm/nds/ChangeLog index c24dd39e83..b586bc26d9 100644 --- a/c/src/lib/libbsp/arm/nds/ChangeLog +++ b/c/src/lib/libbsp/arm/nds/ChangeLog @@ -1,3 +1,7 @@ +2008-09-22 Joel Sherrill + + * startup/bspreset.c: New file. + 2008-09-22 Joel Sherrill * Makefile.am, configure.ac: Use standardized bsp_cleanup() which can diff --git a/c/src/lib/libbsp/arm/nds/startup/bspreset.c b/c/src/lib/libbsp/arm/nds/startup/bspreset.c new file mode 100644 index 0000000000..85966a7804 --- /dev/null +++ b/c/src/lib/libbsp/arm/nds/startup/bspreset.c @@ -0,0 +1,19 @@ +/* + * RTEMS for Nintendo DS platform initialization. + * Copyright (c) 2008 by Matthieu Bucchianeri + * + * 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 +#include +#include + +void bsp_reset(void) +{ + swiSoftReset(); +} diff --git a/c/src/lib/libbsp/arm/rtl22xx/ChangeLog b/c/src/lib/libbsp/arm/rtl22xx/ChangeLog index a5409dd23c..e967279dbe 100644 --- a/c/src/lib/libbsp/arm/rtl22xx/ChangeLog +++ b/c/src/lib/libbsp/arm/rtl22xx/ChangeLog @@ -1,3 +1,7 @@ +2008-09-22 Joel Sherrill + + * startup/bspreset.c: New file. + 2008-09-22 Joel Sherrill * Makefile.am, configure.ac, console/uart.c, startup/bspstart.c: Use diff --git a/c/src/lib/libbsp/arm/rtl22xx/startup/bspreset.c b/c/src/lib/libbsp/arm/rtl22xx/startup/bspreset.c new file mode 100644 index 0000000000..9af7807a37 --- /dev/null +++ b/c/src/lib/libbsp/arm/rtl22xx/startup/bspreset.c @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2007 by Ray Xu + * + * 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 +#include + +void bsp_reset(void) +{ + rtems_interrupt_level level; + + rtems_interrupt_disable(level); + +#ifdef __thumb__ + int tmp; + asm volatile (" .code 16 \n" \ + "ldr %[tmp], =_start \n" \ + "bx %[tmp] \n" \ + "nop \n" \ + : [tmp]"=&r" (tmp) ); +#else + asm volatile ("b _start"); +#endif + + while(1); +} diff --git a/c/src/lib/libbsp/i386/pc386/ChangeLog b/c/src/lib/libbsp/i386/pc386/ChangeLog index 69291b1a41..b9f43d4076 100644 --- a/c/src/lib/libbsp/i386/pc386/ChangeLog +++ b/c/src/lib/libbsp/i386/pc386/ChangeLog @@ -1,3 +1,7 @@ +2008-09-22 Joel Sherrill + + * startup/bspreset.c: New file. + 2008-09-22 Joel Sherrill * Makefile.am, configure.ac, console/inch.c, console/keyboard.c, diff --git a/c/src/lib/libbsp/i386/pc386/startup/bspreset.c b/c/src/lib/libbsp/i386/pc386/startup/bspreset.c new file mode 100644 index 0000000000..527b13cf4b --- /dev/null +++ b/c/src/lib/libbsp/i386/pc386/startup/bspreset.c @@ -0,0 +1,20 @@ +/* + * 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 +#include +#include + +void bsp_reset(void) +{ + /* shutdown and reboot */ + outport_byte(0x64, 0xFE); /* use keyboard controler to do the job... */ +} diff --git a/c/src/lib/libbsp/mips/csb350/ChangeLog b/c/src/lib/libbsp/mips/csb350/ChangeLog index 10bd921afc..7d5c9eea81 100644 --- a/c/src/lib/libbsp/mips/csb350/ChangeLog +++ b/c/src/lib/libbsp/mips/csb350/ChangeLog @@ -1,3 +1,7 @@ +2008-09-22 Joel Sherrill + + * startup/bspreset.c: New file. + 2008-09-22 Joel Sherrill * Makefile.am, configure.ac, console/console-io.c: Use standardized diff --git a/c/src/lib/libbsp/mips/csb350/startup/bspreset.c b/c/src/lib/libbsp/mips/csb350/startup/bspreset.c new file mode 100644 index 0000000000..4bfdbddae3 --- /dev/null +++ b/c/src/lib/libbsp/mips/csb350/startup/bspreset.c @@ -0,0 +1,24 @@ +/* + * 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 +#include + +void bsp_reset(void) +{ + void (*reset_func)(void); + + reset_func = (void *)0xbfc00000; + + mips_set_sr( 0x00200000 ); /* all interrupts off, boot exception vectors */ + + /* Try to restart bootloader */ + reset_func(); +} -- cgit v1.2.3