diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-05-20 13:15:35 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-05-20 13:15:35 +0000 |
commit | 4c4974e81f1d8cfcc2677be528144a8e68466873 (patch) | |
tree | 51d47e76eedd1168bd35fba51d56024077427bd9 /c/src/lib/libbsp/arm/lpc32xx/irq/irq.c | |
parent | 2010-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-4c4974e81f1d8cfcc2677be528144a8e68466873.tar.bz2 |
2010-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
* make/custom/lpc32xx.inc, make/custom/lpc32xx_mzx_boot_int.cfg,
startup/linkcmds.lpc32xx_mzx_boot_int: New files.
* Makefile.am, configure.ac, preinstall.am, include/bsp.h,
include/bspopts.h.in, include/lpc32xx.h, irq/irq.c,
make/custom/lpc32xx_phycore.cfg, startup/bspstart.c,
startup/bspstarthooks.c: Changes throughout.
Diffstat (limited to 'c/src/lib/libbsp/arm/lpc32xx/irq/irq.c')
-rw-r--r-- | c/src/lib/libbsp/arm/lpc32xx/irq/irq.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c b/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c index 9a569c4a76..4ea1c1cc1c 100644 --- a/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c +++ b/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c @@ -308,12 +308,18 @@ void lpc32xx_set_exception_handler( ) { if ((unsigned) exception < MAX_EXCEPTIONS) { - uint32_t *table = (uint32_t *) bsp_section_vector_begin + MAX_EXCEPTIONS; + #ifndef LPC32XX_DISABLE_MMU + uint32_t *table = (uint32_t *) bsp_section_vector_begin + MAX_EXCEPTIONS; + #else + uint32_t *table = (uint32_t *) bsp_section_start_begin + MAX_EXCEPTIONS; + #endif table [exception] = (uint32_t) handler; - rtems_cache_flush_multiple_data_lines(NULL, 64); - rtems_cache_invalidate_multiple_data_lines(NULL, 64); + #ifndef LPC32XX_DISABLE_MMU + rtems_cache_flush_multiple_data_lines(table, 64); + rtems_cache_invalidate_multiple_instruction_lines(NULL, 64); + #endif } } |