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 ++++ bsps/i386/shared/irq/irq.c | 12 ++++ bsps/include/bsp/irq-generic.h | 47 ++++++++++++++++ bsps/lm32/shared/irq/irq.c | 12 ++++ bsps/m68k/genmcf548x/irq/irq.c | 12 ++++ bsps/mips/shared/irq/irq.c | 12 ++++ bsps/powerpc/gen5200/irq/irq.c | 12 ++++ bsps/powerpc/gen83xx/irq/irq.c | 12 ++++ bsps/powerpc/mpc55xxevb/start/irq.c | 12 ++++ bsps/powerpc/mpc8260ads/irq/irq.c | 12 ++++ bsps/powerpc/psim/irq/irq_init.c | 12 ++++ bsps/powerpc/qemuppc/irq/irq_init.c | 12 ++++ bsps/powerpc/qoriq/irq/irq.c | 46 +++++++++++++++ bsps/powerpc/shared/irq/ppc-irq-generic.c | 12 ++++ bsps/powerpc/t32mppc/irq/irq.c | 12 ++++ bsps/powerpc/tqm8xx/irq/irq.c | 12 ++++ bsps/powerpc/virtex/irq/irq_init.c | 12 ++++ bsps/riscv/griscv/irq/irq.c | 23 ++++++++ bsps/riscv/riscv/irq/irq.c | 23 ++++++++ bsps/shared/dev/irq/arm-gicv2.c | 23 ++++++++ bsps/shared/dev/irq/arm-gicv3.c | 23 ++++++++ bsps/shared/irq-default-sources.am | 1 + bsps/shared/irq-sources.am | 1 + bsps/shared/irq/irq-default.c | 12 ++++ bsps/shared/irq/irq-raise-clear.c | 84 ++++++++++++++++++++++++++++ bsps/sparc/leon3/start/eirq.c | 23 ++++++++ bsps/sparc/shared/irq/irq-shared.c | 23 ++++++++ bsps/x86_64/amd64/interrupts/idt.c | 12 ++++ c/src/lib/libbsp/m68k/genmcf548x/Makefile.am | 1 + c/src/lib/libbsp/powerpc/ss555/Makefile.am | 1 + spec/build/bsps/m68k/genmcf548x/obj.yml | 1 + spec/build/bsps/objirq.yml | 1 + spec/build/bsps/powerpc/ss555/bspss555.yml | 1 + 44 files changed, 669 insertions(+) create mode 100644 bsps/shared/irq/irq-raise-clear.c 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 diff --git a/bsps/i386/shared/irq/irq.c b/bsps/i386/shared/irq/irq.c index 69cd91e79b..3d26d45b75 100644 --- a/bsps/i386/shared/irq/irq.c +++ b/bsps/i386/shared/irq/irq.c @@ -270,6 +270,18 @@ static inline bool bsp_interrupt_vector_is_valid(rtems_vector_number vector) return BSP_i8259a_irq_valid((const rtems_irq_number) 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/include/bsp/irq-generic.h b/bsps/include/bsp/irq-generic.h index cc45e63fed..d2d5e1ed90 100644 --- a/bsps/include/bsp/irq-generic.h +++ b/bsps/include/bsp/irq-generic.h @@ -273,6 +273,53 @@ void bsp_interrupt_vector_enable(rtems_vector_number vector); */ void bsp_interrupt_vector_disable(rtems_vector_number vector); +/** + * @brief Causes the interrupt vector. + * + * @param vector is the number of the interrupt vector to cause. It shall be + * valid. + * + * @retval ::RTEMS_SUCCESSFUL The requested operation was successful. + * + * @retval ::RTEMS_UNSATISFIED The request to cause the interrupt vector has + * not been satisfied. + */ +rtems_status_code bsp_interrupt_raise( rtems_vector_number vector ); + +#if defined(RTEMS_SMP) +/** + * @brief Causes the interrupt vector on the processor. + * + * @param vector is the number of the interrupt vector to cause. It shall be + * valid. + * + * @param cpu_index is the index of the target processor of the interrupt + * vector to cause. It shall be valid. + * + * @retval ::RTEMS_SUCCESSFUL The requested operation was successful. + * + * @retval ::RTEMS_UNSATISFIED The request to cause the interrupt vector has + * not been satisfied. + */ +rtems_status_code bsp_interrupt_raise_on( + rtems_vector_number vector, + uint32_t cpu_index +); +#endif + +/** + * @brief Clears the interrupt vector. + * + * @param vector is the number of the interrupt vector to clear. It shall be + * valid. + * + * @retval ::RTEMS_SUCCESSFUL The requested operation was successful. + * + * @retval ::RTEMS_UNSATISFIED The request to cause the interrupt vector has + * not been satisfied. + */ +rtems_status_code bsp_interrupt_clear( rtems_vector_number vector ); + /** * @brief Sequentially calls all interrupt handlers installed at the vector. * diff --git a/bsps/lm32/shared/irq/irq.c b/bsps/lm32/shared/irq/irq.c index cf15acd1c6..0796c5c1e6 100644 --- a/bsps/lm32/shared/irq/irq.c +++ b/bsps/lm32/shared/irq/irq.c @@ -17,6 +17,18 @@ rtems_status_code bsp_interrupt_facility_initialize(void) return RTEMS_SUCCESSFUL; } +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/m68k/genmcf548x/irq/irq.c b/bsps/m68k/genmcf548x/irq/irq.c index 70999451be..8e4737cc20 100644 --- a/bsps/m68k/genmcf548x/irq/irq.c +++ b/bsps/m68k/genmcf548x/irq/irq.c @@ -59,6 +59,18 @@ static rtems_vector_number vector_to_exception_vector( return vector + 64U; } +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/mips/shared/irq/irq.c b/bsps/mips/shared/irq/irq.c index ea9081ae16..235d8e7365 100644 --- a/bsps/mips/shared/irq/irq.c +++ b/bsps/mips/shared/irq/irq.c @@ -67,6 +67,18 @@ static inline bool bsp_irq_is_valid(rtems_vector_number vector) return vector < BSP_INTERRUPT_VECTOR_COUNT; } +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/powerpc/gen5200/irq/irq.c b/bsps/powerpc/gen5200/irq/irq.c index f459bd0489..f464507fcf 100644 --- a/bsps/powerpc/gen5200/irq/irq.c +++ b/bsps/powerpc/gen5200/irq/irq.c @@ -359,6 +359,18 @@ static inline void BSP_disable_crit_irq_at_siu( rtems_vector_number /* * This function enables a given siu interrupt */ +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/powerpc/gen83xx/irq/irq.c b/bsps/powerpc/gen83xx/irq/irq.c index acbad2d463..1a509cf30d 100644 --- a/bsps/powerpc/gen83xx/irq/irq.c +++ b/bsps/powerpc/gen83xx/irq/irq.c @@ -376,6 +376,18 @@ rtems_status_code mpc83xx_ipic_set_highest_priority_interrupt( /* * functions to enable/disable a source at the ipic */ +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/powerpc/mpc55xxevb/start/irq.c b/bsps/powerpc/mpc55xxevb/start/irq.c index 2788c8f178..241798b3be 100644 --- a/bsps/powerpc/mpc55xxevb/start/irq.c +++ b/bsps/powerpc/mpc55xxevb/start/irq.c @@ -152,6 +152,18 @@ rtems_status_code bsp_interrupt_facility_initialize(void) return RTEMS_SUCCESSFUL; } +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/powerpc/mpc8260ads/irq/irq.c b/bsps/powerpc/mpc8260ads/irq/irq.c index d4f868fae6..2cfe37d28a 100644 --- a/bsps/powerpc/mpc8260ads/irq/irq.c +++ b/bsps/powerpc/mpc8260ads/irq/irq.c @@ -328,6 +328,18 @@ BSP_CPM_irq_init(void) } +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/powerpc/psim/irq/irq_init.c b/bsps/powerpc/psim/irq/irq_init.c index e5e345832f..d9f4aca9c9 100644 --- a/bsps/powerpc/psim/irq/irq_init.c +++ b/bsps/powerpc/psim/irq/irq_init.c @@ -102,6 +102,18 @@ static int psim_exception_handler( /* * functions to enable/disable a source at the ipic */ +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/powerpc/qemuppc/irq/irq_init.c b/bsps/powerpc/qemuppc/irq/irq_init.c index ce85f9ad7a..5aa6deb528 100644 --- a/bsps/powerpc/qemuppc/irq/irq_init.c +++ b/bsps/powerpc/qemuppc/irq/irq_init.c @@ -35,6 +35,18 @@ static int qemuppc_exception_handler( return 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/powerpc/qoriq/irq/irq.c b/bsps/powerpc/qoriq/irq/irq.c index 0a59bd4864..5bbaf76a30 100644 --- a/bsps/powerpc/qoriq/irq/irq.c +++ b/bsps/powerpc/qoriq/irq/irq.c @@ -77,6 +77,29 @@ void bsp_interrupt_get_affinity( _Processor_mask_From_uint32_t(affinity, destination, 0); } +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 @@ -301,6 +324,29 @@ static void pic_vector_enable(rtems_vector_number vector, uint32_t msk) rtems_interrupt_lock_release(&lock, &lock_context); } +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/powerpc/shared/irq/ppc-irq-generic.c b/bsps/powerpc/shared/irq/ppc-irq-generic.c index ceb4fdc91f..a98b3ce54f 100644 --- a/bsps/powerpc/shared/irq/ppc-irq-generic.c +++ b/bsps/powerpc/shared/irq/ppc-irq-generic.c @@ -95,6 +95,18 @@ int BSP_rtems_irq_generic_set(rtems_irq_global_settings* config) return 1; } +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/powerpc/t32mppc/irq/irq.c b/bsps/powerpc/t32mppc/irq/irq.c index 57671d6e11..bea5381552 100644 --- a/bsps/powerpc/t32mppc/irq/irq.c +++ b/bsps/powerpc/t32mppc/irq/irq.c @@ -16,6 +16,18 @@ #include #include +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/powerpc/tqm8xx/irq/irq.c b/bsps/powerpc/tqm8xx/irq/irq.c index 74e55a59aa..74ff2cede8 100644 --- a/bsps/powerpc/tqm8xx/irq/irq.c +++ b/bsps/powerpc/tqm8xx/irq/irq.c @@ -63,6 +63,18 @@ static rtems_status_code bsp_irq_enable_at_CPM(rtems_vector_number irqnum) return RTEMS_SUCCESSFUL; } +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/powerpc/virtex/irq/irq_init.c b/bsps/powerpc/virtex/irq/irq_init.c index f455fee8f3..82460f4be1 100644 --- a/bsps/powerpc/virtex/irq/irq_init.c +++ b/bsps/powerpc/virtex/irq/irq_init.c @@ -132,6 +132,18 @@ static void opb_intc_init(void) (OPB_INTC_MER_HIE | OPB_INTC_MER_ME); } +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/riscv/griscv/irq/irq.c b/bsps/riscv/griscv/irq/irq.c index 915a3b64f6..f7540f91d1 100644 --- a/bsps/riscv/griscv/irq/irq.c +++ b/bsps/riscv/griscv/irq/irq.c @@ -87,6 +87,29 @@ rtems_status_code bsp_interrupt_facility_initialize(void) return RTEMS_SUCCESSFUL; } +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/riscv/riscv/irq/irq.c b/bsps/riscv/riscv/irq/irq.c index 535024732b..817a0440b0 100644 --- a/bsps/riscv/riscv/irq/irq.c +++ b/bsps/riscv/riscv/irq/irq.c @@ -226,6 +226,29 @@ rtems_status_code bsp_interrupt_facility_initialize(void) return RTEMS_SUCCESSFUL; } +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/shared/dev/irq/arm-gicv2.c b/bsps/shared/dev/irq/arm-gicv2.c index 045b7822a8..299ed5a089 100644 --- a/bsps/shared/dev/irq/arm-gicv2.c +++ b/bsps/shared/dev/irq/arm-gicv2.c @@ -64,6 +64,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/shared/dev/irq/arm-gicv3.c b/bsps/shared/dev/irq/arm-gicv3.c index 0549b6bd72..82f3d3730d 100644 --- a/bsps/shared/dev/irq/arm-gicv3.c +++ b/bsps/shared/dev/irq/arm-gicv3.c @@ -164,6 +164,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/shared/irq-default-sources.am b/bsps/shared/irq-default-sources.am index fe3352f7e5..41167ee2bc 100644 --- a/bsps/shared/irq-default-sources.am +++ b/bsps/shared/irq-default-sources.am @@ -1,4 +1,5 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-affinity.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-raise-clear.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-default.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-default-handler.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-enable-disable.c diff --git a/bsps/shared/irq-sources.am b/bsps/shared/irq-sources.am index d2536eb56d..97e1f05167 100644 --- a/bsps/shared/irq-sources.am +++ b/bsps/shared/irq-sources.am @@ -1,4 +1,5 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-affinity.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-raise-clear.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-enable-disable.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-generic.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-handler-iterate.c diff --git a/bsps/shared/irq/irq-default.c b/bsps/shared/irq/irq-default.c index 842cdd66e0..63ba0c37ee 100644 --- a/bsps/shared/irq/irq-default.c +++ b/bsps/shared/irq/irq-default.c @@ -37,6 +37,18 @@ #include +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/shared/irq/irq-raise-clear.c b/bsps/shared/irq/irq-raise-clear.c new file mode 100644 index 0000000000..a0569f5948 --- /dev/null +++ b/bsps/shared/irq/irq-raise-clear.c @@ -0,0 +1,84 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup bsp_interrupt + * + * @brief This source file contains the implementation of + * rtems_interrupt_raise(), rtems_interrupt_raise_on() and + * rtems_interrupt_clear(). + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include +#include +#include + +rtems_status_code rtems_interrupt_raise( rtems_vector_number vector ) +{ + if ( !bsp_interrupt_is_valid_vector( vector ) ) { + return RTEMS_INVALID_ID; + } + + return bsp_interrupt_raise( vector ); +} + +rtems_status_code rtems_interrupt_raise_on( + rtems_vector_number vector, + uint32_t cpu_index +) +{ + if ( !bsp_interrupt_is_valid_vector( vector ) ) { + return RTEMS_INVALID_ID; + } + + if ( cpu_index >= rtems_configuration_get_maximum_processors() ) { + return RTEMS_NOT_CONFIGURED; + } + +#if defined(RTEMS_SMP) + if ( !_Processor_mask_Is_set( _SMP_Get_online_processors(), cpu_index ) ) { + return RTEMS_INCORRECT_STATE; + } + + return bsp_interrupt_raise_on( vector, cpu_index ); +#else + return bsp_interrupt_raise( vector ); +#endif +} + +rtems_status_code rtems_interrupt_clear( rtems_vector_number vector ) +{ + if ( !bsp_interrupt_is_valid_vector( vector ) ) { + return RTEMS_INVALID_ID; + } + + return bsp_interrupt_clear( vector ); +} diff --git a/bsps/sparc/leon3/start/eirq.c b/bsps/sparc/leon3/start/eirq.c index 0382129271..327af78fbe 100644 --- a/bsps/sparc/leon3/start/eirq.c +++ b/bsps/sparc/leon3/start/eirq.c @@ -61,6 +61,29 @@ rtems_status_code bsp_interrupt_facility_initialize(void) return RTEMS_SUCCESSFUL; } +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/sparc/shared/irq/irq-shared.c b/bsps/sparc/shared/irq/irq-shared.c index b06e9e438f..7c7b4e0507 100644 --- a/bsps/sparc/shared/irq/irq-shared.c +++ b/bsps/sparc/shared/irq/irq-shared.c @@ -32,6 +32,29 @@ rtems_status_code bsp_interrupt_facility_initialize(void) return RTEMS_SUCCESSFUL; } +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/x86_64/amd64/interrupts/idt.c b/bsps/x86_64/amd64/interrupts/idt.c index 4763d70f06..4fb6e2c732 100644 --- a/bsps/x86_64/amd64/interrupts/idt.c +++ b/bsps/x86_64/amd64/interrupts/idt.c @@ -145,6 +145,18 @@ void bsp_interrupt_vector_disable(rtems_vector_number vector) { /* XXX */ } +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/c/src/lib/libbsp/m68k/genmcf548x/Makefile.am b/c/src/lib/libbsp/m68k/genmcf548x/Makefile.am index ecc8c99b26..0f828395af 100644 --- a/c/src/lib/libbsp/m68k/genmcf548x/Makefile.am +++ b/c/src/lib/libbsp/m68k/genmcf548x/Makefile.am @@ -39,6 +39,7 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/m68k/genmcf548x/btimer/btimer.c # IRQ librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-affinity.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-raise-clear.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-default-handler.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-enable-disable.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-handler-iterate.c diff --git a/c/src/lib/libbsp/powerpc/ss555/Makefile.am b/c/src/lib/libbsp/powerpc/ss555/Makefile.am index 2dc5a98e33..185f82dd71 100644 --- a/c/src/lib/libbsp/powerpc/ss555/Makefile.am +++ b/c/src/lib/libbsp/powerpc/ss555/Makefile.am @@ -47,6 +47,7 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/ss555/start/vectors_init librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/ss555/start/vectors.S librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-affinity.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-raise-clear.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-default.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-default-handler.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-enable-disable.c diff --git a/spec/build/bsps/m68k/genmcf548x/obj.yml b/spec/build/bsps/m68k/genmcf548x/obj.yml index 538279e196..915f5b613f 100644 --- a/spec/build/bsps/m68k/genmcf548x/obj.yml +++ b/spec/build/bsps/m68k/genmcf548x/obj.yml @@ -39,6 +39,7 @@ source: - bsps/m68k/shared/memProbe.c - bsps/shared/dev/getentropy/getentropy-cpucounter.c - bsps/shared/irq/irq-affinity.c +- bsps/shared/irq/irq-raise-clear.c - bsps/shared/irq/irq-default-handler.c - bsps/shared/irq/irq-enable-disable.c - bsps/shared/irq/irq-handler-iterate.c diff --git a/spec/build/bsps/objirq.yml b/spec/build/bsps/objirq.yml index b6e725832f..467d0789ba 100644 --- a/spec/build/bsps/objirq.yml +++ b/spec/build/bsps/objirq.yml @@ -11,6 +11,7 @@ install: [] links: [] source: - bsps/shared/irq/irq-affinity.c +- bsps/shared/irq/irq-raise-clear.c - bsps/shared/irq/irq-enable-disable.c - bsps/shared/irq/irq-generic.c - bsps/shared/irq/irq-handler-iterate.c diff --git a/spec/build/bsps/powerpc/ss555/bspss555.yml b/spec/build/bsps/powerpc/ss555/bspss555.yml index a209db3238..2eabfa5d28 100644 --- a/spec/build/bsps/powerpc/ss555/bspss555.yml +++ b/spec/build/bsps/powerpc/ss555/bspss555.yml @@ -68,6 +68,7 @@ source: - bsps/powerpc/ss555/start/vectors_init.c - bsps/shared/dev/getentropy/getentropy-cpucounter.c - bsps/shared/irq/irq-affinity.c +- bsps/shared/irq/irq-raise-clear.c - bsps/shared/irq/irq-default-handler.c - bsps/shared/irq/irq-default.c - bsps/shared/irq/irq-enable-disable.c -- cgit v1.2.3