diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2011-03-28 09:00:01 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2011-03-28 09:00:01 +0000 |
commit | f4371073f279beafdee65329ae910e4b87469cf3 (patch) | |
tree | 5bc9f1bc8e3e4016f7413ec51069ad27d4e6b055 /c/src/lib/libbsp/arm/lpc32xx/misc/restart.c | |
parent | 2011-03-29 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-f4371073f279beafdee65329ae910e4b87469cf3.tar.bz2 |
2011-03-29 Sebastian Huber <sebastian.huber@embedded-brains.de>
* configure.ac, include/bspopts.h.in: New BSP option
LPC32XX_SCRATCH_AREA_SIZE. Disable BSP option
LPC32XX_DISABLE_READ_ONLY_PROTECTION for all BSPs.
* include/boot.h: Removed application specific defines.
* include/nand-mlc.h, misc/nand-mlc.c: Changed configuration layout.
* include/mmu.h, misc/mmu.c: Documentation. Bugfix.
* include/bsp.h, startup/bspstarthooks.c, misc/restart.c,
startup/linkcmds.lpc32xx_mzx, startup/linkcmds.lpc32xx_mzx_stage_1,
startup/linkcmds.lpc32xx_mzx_stage_2,
startup/linkcmds.lpc32xx_phycore: Support for scratch area. Moved
code into macros for reusability.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/arm/lpc32xx/misc/restart.c | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/c/src/lib/libbsp/arm/lpc32xx/misc/restart.c b/c/src/lib/libbsp/arm/lpc32xx/misc/restart.c index 68bf2c3ba2..2abacf0e38 100644 --- a/c/src/lib/libbsp/arm/lpc32xx/misc/restart.c +++ b/c/src/lib/libbsp/arm/lpc32xx/misc/restart.c @@ -30,24 +30,5 @@ void bsp_restart(void *addr) { - ARM_SWITCH_REGISTERS; - rtems_interrupt_level level; - uint32_t ctrl = 0; - - rtems_interrupt_disable(level); - - arm_cp15_data_cache_test_and_clean(); - arm_cp15_instruction_cache_invalidate(); - - ctrl = arm_cp15_get_control(); - ctrl &= ~(ARM_CP15_CTRL_I | ARM_CP15_CTRL_C | ARM_CP15_CTRL_M); - arm_cp15_set_control(ctrl); - - __asm__ volatile ( - ARM_SWITCH_TO_ARM - "mov pc, %[addr]\n" - ARM_SWITCH_BACK - : ARM_SWITCH_OUTPUT - : [addr] "r" (addr) - ); + LPC32XX_DO_RESTART(addr); } |