diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-06-28 08:44:49 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-07-26 07:54:25 +0200 |
commit | 9832652c53af44367cd3a9cf789bdb997a85043c (patch) | |
tree | e928e3ad1d27a4d559ff1869eed8f77f202f62a5 /bsps/powerpc | |
parent | bsps/irq: Add rtems_interrupt_vector_is_enabled() (diff) | |
download | rtems-9832652c53af44367cd3a9cf789bdb997a85043c.tar.bz2 |
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.
Diffstat (limited to 'bsps/powerpc')
-rw-r--r-- | bsps/powerpc/gen5200/irq/irq.c | 12 | ||||
-rw-r--r-- | bsps/powerpc/gen83xx/irq/irq.c | 12 | ||||
-rw-r--r-- | bsps/powerpc/mpc55xxevb/start/irq.c | 12 | ||||
-rw-r--r-- | bsps/powerpc/mpc8260ads/irq/irq.c | 12 | ||||
-rw-r--r-- | bsps/powerpc/psim/irq/irq_init.c | 12 | ||||
-rw-r--r-- | bsps/powerpc/qemuppc/irq/irq_init.c | 12 | ||||
-rw-r--r-- | bsps/powerpc/qoriq/irq/irq.c | 46 | ||||
-rw-r--r-- | bsps/powerpc/shared/irq/ppc-irq-generic.c | 12 | ||||
-rw-r--r-- | bsps/powerpc/t32mppc/irq/irq.c | 12 | ||||
-rw-r--r-- | bsps/powerpc/tqm8xx/irq/irq.c | 12 | ||||
-rw-r--r-- | bsps/powerpc/virtex/irq/irq_init.c | 12 |
11 files changed, 166 insertions, 0 deletions
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 <bsp/irq-generic.h> #include <bsp/vectors.h> +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 |