diff options
author | Christian Mauderer <christian.mauderer@embedded-brains.de> | 2012-03-29 10:58:10 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-07-18 09:46:07 +0200 |
commit | c838ca2dfad5a19fd500af4e3d41570be14f2d71 (patch) | |
tree | fbbe8bcf531aff21d87b3d41ae32720436928bd1 /c/src/lib/libbsp/powerpc/mpc55xxevb | |
parent | bsp/mpc55xx: Add union name (diff) | |
download | rtems-c838ca2dfad5a19fd500af4e3d41570be14f2d71.tar.bz2 |
bsp/mpc55xx: Add bsp_restart()
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mpc55xxevb')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am | 1 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/mpc55xxevb/include/bsp.h | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/mpc55xxevb/startup/restart.c | 24 |
3 files changed, 28 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am index 606e9b7617..1a9259ee21 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am @@ -72,6 +72,7 @@ libbsp_a_SOURCES += startup/bspstart.c libbsp_a_SOURCES += startup/exc-vector-base.S libbsp_a_SOURCES += startup/get-system-clock.c libbsp_a_SOURCES += startup/reset.c +libbsp_a_SOURCES += startup/restart.c libbsp_a_SOURCES += startup/start-config-clock.c libbsp_a_SOURCES += startup/start-config-ebi-cs.c libbsp_a_SOURCES += startup/start-config-ebi-cs-cal.c diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/include/bsp.h b/c/src/lib/libbsp/powerpc/mpc55xxevb/include/bsp.h index 0a55cb2361..b4868200c4 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/include/bsp.h @@ -7,7 +7,7 @@ */ /* - * Copyright (c) 2008-2011 embedded brains GmbH. All rights reserved. + * Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Obere Lagerstr. 30 @@ -72,6 +72,8 @@ int smsc9218i_attach_detach( rtems_status_code bsp_register_i2c(void); +void bsp_restart(void *addr); + #endif /* ASM */ #ifdef __cplusplus diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/restart.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/restart.c new file mode 100644 index 0000000000..c09547872c --- /dev/null +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/restart.c @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * <rtems@embedded-brains.de> + * + * 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. + */ + +#include <bsp.h> + +void bsp_restart(void *addr) +{ + rtems_interrupt_level level; + void (*start)(void) = addr; + + rtems_interrupt_disable(level); + (*start)(); +} |