summaryrefslogtreecommitdiffstats
path: root/bsps/sparc/shared/irq/irq-shared.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/shared/irq/irq-shared.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/shared/irq/irq-shared.c')
-rw-r--r--bsps/sparc/shared/irq/irq-shared.c21
1 files changed, 0 insertions, 21 deletions
diff --git a/bsps/sparc/shared/irq/irq-shared.c b/bsps/sparc/shared/irq/irq-shared.c
index e0ac7d7f06..a127ab64c2 100644
--- a/bsps/sparc/shared/irq/irq-shared.c
+++ b/bsps/sparc/shared/irq/irq-shared.c
@@ -37,27 +37,6 @@ static inline int bsp_irq_cpu(int irq)
}
#endif
-/* Initialize interrupts */
-void BSP_shared_interrupt_init(void)
-{
- rtems_vector_number vector;
- rtems_isr_entry previous_isr;
- int i;
-
- for (i=0; i <= BSP_INTERRUPT_VECTOR_MAX_STD; i++) {
-#if defined(LEON3) && (defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING))
- /* Don't install IRQ handler on IPI interrupt */
- if (i == LEON3_mp_irq)
- continue;
-#endif
- vector = SPARC_ASYNCHRONOUS_TRAP(i) + 0x10;
- rtems_interrupt_catch(bsp_isr_handler, vector, &previous_isr);
- }
-
- /* Initalize interrupt support */
- bsp_interrupt_initialize();
-}
-
/* Callback from bsp_interrupt_initialize() */
rtems_status_code bsp_interrupt_facility_initialize(void)
{