From 9832652c53af44367cd3a9cf789bdb997a85043c Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 28 Jun 2021 08:44:49 +0200 Subject: bsps/irq: Add rtems_interrupt_raise() Add rtems_interrupt_raise_on() and rtems_interrupt_clear(). Add a default implementation which just returns RTEMS_UNSATISFIED for valid parameters. Update #3269. --- bsps/arm/beagle/irq/irq.c | 12 ++++++++++++ bsps/arm/csb336/irq/irq.c | 12 ++++++++++++ bsps/arm/csb337/irq/irq.c | 12 ++++++++++++ bsps/arm/edb7312/irq/irq.c | 12 ++++++++++++ bsps/arm/gumstix/irq/irq.c | 12 ++++++++++++ bsps/arm/lpc24xx/irq/irq.c | 12 ++++++++++++ bsps/arm/lpc32xx/irq/irq.c | 12 ++++++++++++ bsps/arm/raspberrypi/irq/irq.c | 23 +++++++++++++++++++++++ bsps/arm/rtl22xx/irq/irq.c | 12 ++++++++++++ bsps/arm/shared/irq/irq-armv7m.c | 12 ++++++++++++ bsps/arm/smdk2410/irq/irq.c | 12 ++++++++++++ bsps/arm/tms570/irq/irq.c | 12 ++++++++++++ 12 files changed, 155 insertions(+) (limited to 'bsps/arm') diff --git a/bsps/arm/beagle/irq/irq.c b/bsps/arm/beagle/irq/irq.c index d0a07d1937..4a89189a32 100644 --- a/bsps/arm/beagle/irq/irq.c +++ b/bsps/arm/beagle/irq/irq.c @@ -95,6 +95,18 @@ static uint32_t omap_get_mir_reg(rtems_vector_number vector, uint32_t *const mas return mir_reg; } +rtems_status_code bsp_interrupt_raise(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + +rtems_status_code bsp_interrupt_clear(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + rtems_status_code bsp_interrupt_vector_is_enabled( rtems_vector_number vector, bool *enabled diff --git a/bsps/arm/csb336/irq/irq.c b/bsps/arm/csb336/irq/irq.c index 80914fe28f..3c9e6a7ea7 100644 --- a/bsps/arm/csb336/irq/irq.c +++ b/bsps/arm/csb336/irq/irq.c @@ -26,6 +26,18 @@ void bsp_interrupt_dispatch(void) bsp_interrupt_handler_dispatch(vector); } +rtems_status_code bsp_interrupt_raise(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + +rtems_status_code bsp_interrupt_clear(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + rtems_status_code bsp_interrupt_vector_is_enabled( rtems_vector_number vector, bool *enabled diff --git a/bsps/arm/csb337/irq/irq.c b/bsps/arm/csb337/irq/irq.c index 5276374a1e..d097a92259 100644 --- a/bsps/arm/csb337/irq/irq.c +++ b/bsps/arm/csb337/irq/irq.c @@ -27,6 +27,18 @@ void bsp_interrupt_dispatch(void) AIC_CTL_REG(AIC_EOICR) = 0; } +rtems_status_code bsp_interrupt_raise(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + +rtems_status_code bsp_interrupt_clear(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + rtems_status_code bsp_interrupt_vector_is_enabled( rtems_vector_number vector, bool *enabled diff --git a/bsps/arm/edb7312/irq/irq.c b/bsps/arm/edb7312/irq/irq.c index d11cbf78c3..0522e40bd8 100644 --- a/bsps/arm/edb7312/irq/irq.c +++ b/bsps/arm/edb7312/irq/irq.c @@ -27,6 +27,18 @@ void edb7312_interrupt_dispatch(rtems_vector_number vector) bsp_interrupt_handler_dispatch(vector); } +rtems_status_code bsp_interrupt_raise(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + +rtems_status_code bsp_interrupt_clear(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + rtems_status_code bsp_interrupt_vector_is_enabled( rtems_vector_number vector, bool *enabled diff --git a/bsps/arm/gumstix/irq/irq.c b/bsps/arm/gumstix/irq/irq.c index 3b62b8f42c..0e7340dab2 100644 --- a/bsps/arm/gumstix/irq/irq.c +++ b/bsps/arm/gumstix/irq/irq.c @@ -24,6 +24,18 @@ void bsp_interrupt_dispatch(void) bsp_interrupt_handler_dispatch(vector); } +rtems_status_code bsp_interrupt_raise(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + +rtems_status_code bsp_interrupt_clear(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + rtems_status_code bsp_interrupt_vector_is_enabled( rtems_vector_number vector, bool *enabled diff --git a/bsps/arm/lpc24xx/irq/irq.c b/bsps/arm/lpc24xx/irq/irq.c index efc7c8beaa..3a0ddb5186 100644 --- a/bsps/arm/lpc24xx/irq/irq.c +++ b/bsps/arm/lpc24xx/irq/irq.c @@ -64,6 +64,18 @@ unsigned lpc24xx_irq_get_priority(rtems_vector_number vector) #ifdef ARM_MULTILIB_ARCH_V4 +rtems_status_code bsp_interrupt_raise(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + +rtems_status_code bsp_interrupt_clear(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + rtems_status_code bsp_interrupt_vector_is_enabled( rtems_vector_number vector, bool *enabled diff --git a/bsps/arm/lpc32xx/irq/irq.c b/bsps/arm/lpc32xx/irq/irq.c index c8b2f33f51..b76c7da3c4 100644 --- a/bsps/arm/lpc32xx/irq/irq.c +++ b/bsps/arm/lpc32xx/irq/irq.c @@ -260,6 +260,18 @@ void bsp_interrupt_dispatch(void) lpc32xx.sic_2.er = er_sic_2 & lpc32xx_irq_enable.field.sic_2; } +rtems_status_code bsp_interrupt_raise(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + +rtems_status_code bsp_interrupt_clear(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + rtems_status_code bsp_interrupt_vector_is_enabled( rtems_vector_number vector, bool *enabled diff --git a/bsps/arm/raspberrypi/irq/irq.c b/bsps/arm/raspberrypi/irq/irq.c index 625fbc5dad..add044d406 100644 --- a/bsps/arm/raspberrypi/irq/irq.c +++ b/bsps/arm/raspberrypi/irq/irq.c @@ -143,6 +143,29 @@ void bsp_interrupt_dispatch(void) } } +rtems_status_code bsp_interrupt_raise(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + +#if defined(RTEMS_SMP) +rtems_status_code bsp_interrupt_raise_on( + rtems_vector_number vector, + uint32_t cpu_index +) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} +#endif + +rtems_status_code bsp_interrupt_clear(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + rtems_status_code bsp_interrupt_vector_is_enabled( rtems_vector_number vector, bool *enabled diff --git a/bsps/arm/rtl22xx/irq/irq.c b/bsps/arm/rtl22xx/irq/irq.c index 2653cb07bb..6f9b1137b5 100644 --- a/bsps/arm/rtl22xx/irq/irq.c +++ b/bsps/arm/rtl22xx/irq/irq.c @@ -26,6 +26,18 @@ void bsp_interrupt_dispatch(void) VICVectAddr = 0; } +rtems_status_code bsp_interrupt_raise(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + +rtems_status_code bsp_interrupt_clear(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + rtems_status_code bsp_interrupt_vector_is_enabled( rtems_vector_number vector, bool *enabled diff --git a/bsps/arm/shared/irq/irq-armv7m.c b/bsps/arm/shared/irq/irq-armv7m.c index b1ab2afa62..45e5472aae 100644 --- a/bsps/arm/shared/irq/irq-armv7m.c +++ b/bsps/arm/shared/irq/irq-armv7m.c @@ -38,6 +38,18 @@ #ifdef ARM_MULTILIB_ARCH_V7M +rtems_status_code bsp_interrupt_raise(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + +rtems_status_code bsp_interrupt_clear(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + rtems_status_code bsp_interrupt_vector_is_enabled( rtems_vector_number vector, bool *enabled diff --git a/bsps/arm/smdk2410/irq/irq.c b/bsps/arm/smdk2410/irq/irq.c index 7dc219d447..eaba9fe4b0 100644 --- a/bsps/arm/smdk2410/irq/irq.c +++ b/bsps/arm/smdk2410/irq/irq.c @@ -27,6 +27,18 @@ void bsp_interrupt_dispatch(void) bsp_interrupt_handler_dispatch(vector); } +rtems_status_code bsp_interrupt_raise(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + +rtems_status_code bsp_interrupt_clear(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + rtems_status_code bsp_interrupt_vector_is_enabled( rtems_vector_number vector, bool *enabled diff --git a/bsps/arm/tms570/irq/irq.c b/bsps/arm/tms570/irq/irq.c index 231d8f23c9..24f9972b56 100644 --- a/bsps/arm/tms570/irq/irq.c +++ b/bsps/arm/tms570/irq/irq.c @@ -96,6 +96,18 @@ void bsp_interrupt_dispatch(void) * @retval RTEMS_INVALID_ID vector is invalid. * @retval RTEMS_SUCCESSFUL interrupt source enabled. */ +rtems_status_code bsp_interrupt_raise(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + +rtems_status_code bsp_interrupt_clear(rtems_vector_number vector) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + return RTEMS_UNSATISFIED; +} + rtems_status_code bsp_interrupt_vector_is_enabled( rtems_vector_number vector, bool *enabled -- cgit v1.2.3