summaryrefslogtreecommitdiffstats
path: root/bsps/sparc/erc32/start/bspstart.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-06-18 16:44:11 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-06-24 11:36:28 +0200
commitbe96cb4345554fac614b252fe8f78dbf32c3a981 (patch)
treee69c244a4e5ab5dd11bdd4c14ea2c5ef66ef6c34 /bsps/sparc/erc32/start/bspstart.c
parentbsps: bsp_interrupt_handler_dispatch_unchecked() (diff)
downloadrtems-be96cb4345554fac614b252fe8f78dbf32c3a981.tar.bz2
sparc: Simplify trap table initialization
Move _ISR_Handler() to a separate file since it is now only used if a handler is installed by _CPU_ISR_install_raw_handler(). Statically initialize the traps for external interrupts to use the new _SPARC_Interrupt_trap() which directly dispatches the interrupt handlers installed by rtems_interrupt_handler_install() via the BSP-provided _SPARC_Interrupt_dispatch(). Since the trap table is now fully statically initialized, there is no longer a dependency on the Cache Manager in the default configuration. Update #4458.
Diffstat (limited to 'bsps/sparc/erc32/start/bspstart.c')
-rw-r--r--bsps/sparc/erc32/start/bspstart.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/bsps/sparc/erc32/start/bspstart.c b/bsps/sparc/erc32/start/bspstart.c
index d56d3b2ff2..1979c68308 100644
--- a/bsps/sparc/erc32/start/bspstart.c
+++ b/bsps/sparc/erc32/start/bspstart.c
@@ -12,22 +12,15 @@
#include <bsp.h>
#include <bsp/bootcard.h>
+#include <bsp/irq-generic.h>
#include <rtems/sysinit.h>
/*
- * Called just before drivers are initialized. Is used to initialize shared
- * interrupt handling.
+ * Initialize shared interrupt handling, must be done after IRQ controller has
+ * been found and initialized.
*/
-static void erc32_pre_driver_hook( void )
-{
- /* Initialize shared interrupt handling, must be done after IRQ
- * controller has been found and initialized.
- */
- BSP_shared_interrupt_init();
-}
-
RTEMS_SYSINIT_ITEM(
- erc32_pre_driver_hook,
+ bsp_interrupt_initialize,
RTEMS_SYSINIT_BSP_PRE_DRIVERS,
RTEMS_SYSINIT_ORDER_MIDDLE
);