summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-06-28 08:20:53 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-07-26 07:54:25 +0200
commit781213f9ec5eb4f56c4df66253a8315ea513693e (patch)
tree49e43ebe53e539c654468bc9f44dd34c17055101 /bsps/powerpc
parentrtems: Add RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPT (diff)
downloadrtems-781213f9ec5eb4f56c4df66253a8315ea513693e.tar.bz2
bsps/irq: Add rtems_interrupt_vector_is_enabled()
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.c11
-rw-r--r--bsps/powerpc/gen83xx/irq/irq.c11
-rw-r--r--bsps/powerpc/mpc55xxevb/start/irq.c11
-rw-r--r--bsps/powerpc/mpc8260ads/irq/irq.c11
-rw-r--r--bsps/powerpc/psim/irq/irq_init.c11
-rw-r--r--bsps/powerpc/qemuppc/irq/irq_init.c11
-rw-r--r--bsps/powerpc/qoriq/irq/irq.c22
-rw-r--r--bsps/powerpc/shared/irq/ppc-irq-generic.c11
-rw-r--r--bsps/powerpc/t32mppc/irq/irq.c11
-rw-r--r--bsps/powerpc/tqm8xx/irq/irq.c11
-rw-r--r--bsps/powerpc/virtex/irq/irq_init.c11
11 files changed, 132 insertions, 0 deletions
diff --git a/bsps/powerpc/gen5200/irq/irq.c b/bsps/powerpc/gen5200/irq/irq.c
index 11d9e3992e..f459bd0489 100644
--- a/bsps/powerpc/gen5200/irq/irq.c
+++ b/bsps/powerpc/gen5200/irq/irq.c
@@ -359,6 +359,17 @@ static inline void BSP_disable_crit_irq_at_siu( rtems_vector_number
/*
* This function enables a given siu interrupt
*/
+rtems_status_code bsp_interrupt_vector_is_enabled(
+ rtems_vector_number vector,
+ bool *enabled
+)
+{
+ bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
+ bsp_interrupt_assert(enabled != NULL);
+ *enabled = false;
+ return RTEMS_UNSATISFIED;
+}
+
void bsp_interrupt_vector_enable( rtems_vector_number vector)
{
int base_index = get_siu_irq_base_index( vector);
diff --git a/bsps/powerpc/gen83xx/irq/irq.c b/bsps/powerpc/gen83xx/irq/irq.c
index 7a8ce3cc0b..acbad2d463 100644
--- a/bsps/powerpc/gen83xx/irq/irq.c
+++ b/bsps/powerpc/gen83xx/irq/irq.c
@@ -376,6 +376,17 @@ rtems_status_code mpc83xx_ipic_set_highest_priority_interrupt(
/*
* functions to enable/disable a source at the ipic
*/
+rtems_status_code bsp_interrupt_vector_is_enabled(
+ rtems_vector_number vector,
+ bool *enabled
+)
+{
+ bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
+ bsp_interrupt_assert(enabled != NULL);
+ *enabled = false;
+ return RTEMS_UNSATISFIED;
+}
+
void bsp_interrupt_vector_enable( rtems_vector_number vector)
{
rtems_vector_number vecnum = vector - BSP_IPIC_IRQ_LOWEST_OFFSET;
diff --git a/bsps/powerpc/mpc55xxevb/start/irq.c b/bsps/powerpc/mpc55xxevb/start/irq.c
index 283c54cdcc..2788c8f178 100644
--- a/bsps/powerpc/mpc55xxevb/start/irq.c
+++ b/bsps/powerpc/mpc55xxevb/start/irq.c
@@ -152,6 +152,17 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
return RTEMS_SUCCESSFUL;
}
+rtems_status_code bsp_interrupt_vector_is_enabled(
+ rtems_vector_number vector,
+ bool *enabled
+)
+{
+ bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
+ bsp_interrupt_assert(enabled != NULL);
+ *enabled = false;
+ return RTEMS_UNSATISFIED;
+}
+
void bsp_interrupt_vector_enable( rtems_vector_number vector)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
diff --git a/bsps/powerpc/mpc8260ads/irq/irq.c b/bsps/powerpc/mpc8260ads/irq/irq.c
index baca1e0e05..d4f868fae6 100644
--- a/bsps/powerpc/mpc8260ads/irq/irq.c
+++ b/bsps/powerpc/mpc8260ads/irq/irq.c
@@ -328,6 +328,17 @@ BSP_CPM_irq_init(void)
}
+rtems_status_code bsp_interrupt_vector_is_enabled(
+ rtems_vector_number vector,
+ bool *enabled
+)
+{
+ bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
+ bsp_interrupt_assert(enabled != NULL);
+ *enabled = false;
+ return RTEMS_UNSATISFIED;
+}
+
void bsp_interrupt_vector_enable( rtems_vector_number irqnum)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(irqnum));
diff --git a/bsps/powerpc/psim/irq/irq_init.c b/bsps/powerpc/psim/irq/irq_init.c
index ece9d77777..e5e345832f 100644
--- a/bsps/powerpc/psim/irq/irq_init.c
+++ b/bsps/powerpc/psim/irq/irq_init.c
@@ -102,6 +102,17 @@ static int psim_exception_handler(
/*
* functions to enable/disable a source at the ipic
*/
+rtems_status_code bsp_interrupt_vector_is_enabled(
+ rtems_vector_number vector,
+ bool *enabled
+)
+{
+ bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
+ bsp_interrupt_assert(enabled != NULL);
+ *enabled = false;
+ return RTEMS_UNSATISFIED;
+}
+
void bsp_interrupt_vector_enable( rtems_vector_number irqnum)
{
/* FIXME: do something */
diff --git a/bsps/powerpc/qemuppc/irq/irq_init.c b/bsps/powerpc/qemuppc/irq/irq_init.c
index 24b15dcd49..ce85f9ad7a 100644
--- a/bsps/powerpc/qemuppc/irq/irq_init.c
+++ b/bsps/powerpc/qemuppc/irq/irq_init.c
@@ -35,6 +35,17 @@ static int qemuppc_exception_handler(
return 0;
}
+rtems_status_code bsp_interrupt_vector_is_enabled(
+ rtems_vector_number vector,
+ bool *enabled
+)
+{
+ bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
+ bsp_interrupt_assert(enabled != NULL);
+ *enabled = false;
+ return RTEMS_UNSATISFIED;
+}
+
/*
* functions to enable/disable a source at the ipic
*/
diff --git a/bsps/powerpc/qoriq/irq/irq.c b/bsps/powerpc/qoriq/irq/irq.c
index ffbff25dc6..0a59bd4864 100644
--- a/bsps/powerpc/qoriq/irq/irq.c
+++ b/bsps/powerpc/qoriq/irq/irq.c
@@ -77,6 +77,17 @@ void bsp_interrupt_get_affinity(
_Processor_mask_From_uint32_t(affinity, destination, 0);
}
+rtems_status_code bsp_interrupt_vector_is_enabled(
+ rtems_vector_number vector,
+ bool *enabled
+)
+{
+ bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
+ bsp_interrupt_assert(enabled != NULL);
+ *enabled = false;
+ return RTEMS_UNSATISFIED;
+}
+
void bsp_interrupt_vector_enable(rtems_vector_number vector)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
@@ -290,6 +301,17 @@ static void pic_vector_enable(rtems_vector_number vector, uint32_t msk)
rtems_interrupt_lock_release(&lock, &lock_context);
}
+rtems_status_code bsp_interrupt_vector_is_enabled(
+ rtems_vector_number vector,
+ bool *enabled
+)
+{
+ bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
+ bsp_interrupt_assert(enabled != NULL);
+ *enabled = false;
+ return RTEMS_UNSATISFIED;
+}
+
void bsp_interrupt_vector_enable(rtems_vector_number vector)
{
pic_vector_enable(vector, 0);
diff --git a/bsps/powerpc/shared/irq/ppc-irq-generic.c b/bsps/powerpc/shared/irq/ppc-irq-generic.c
index 8a70109e52..ceb4fdc91f 100644
--- a/bsps/powerpc/shared/irq/ppc-irq-generic.c
+++ b/bsps/powerpc/shared/irq/ppc-irq-generic.c
@@ -95,6 +95,17 @@ int BSP_rtems_irq_generic_set(rtems_irq_global_settings* config)
return 1;
}
+rtems_status_code bsp_interrupt_vector_is_enabled(
+ rtems_vector_number vector,
+ bool *enabled
+)
+{
+ bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
+ bsp_interrupt_assert(enabled != NULL);
+ *enabled = false;
+ return RTEMS_UNSATISFIED;
+}
+
void bsp_interrupt_vector_enable(rtems_vector_number vector)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
diff --git a/bsps/powerpc/t32mppc/irq/irq.c b/bsps/powerpc/t32mppc/irq/irq.c
index 5b2c34d2c9..57671d6e11 100644
--- a/bsps/powerpc/t32mppc/irq/irq.c
+++ b/bsps/powerpc/t32mppc/irq/irq.c
@@ -16,6 +16,17 @@
#include <bsp/irq-generic.h>
#include <bsp/vectors.h>
+rtems_status_code bsp_interrupt_vector_is_enabled(
+ rtems_vector_number vector,
+ bool *enabled
+)
+{
+ bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
+ bsp_interrupt_assert(enabled != NULL);
+ *enabled = false;
+ return RTEMS_UNSATISFIED;
+}
+
void bsp_interrupt_vector_enable(rtems_vector_number vector)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
diff --git a/bsps/powerpc/tqm8xx/irq/irq.c b/bsps/powerpc/tqm8xx/irq/irq.c
index 2a94c27d1b..74e55a59aa 100644
--- a/bsps/powerpc/tqm8xx/irq/irq.c
+++ b/bsps/powerpc/tqm8xx/irq/irq.c
@@ -63,6 +63,17 @@ static rtems_status_code bsp_irq_enable_at_CPM(rtems_vector_number irqnum)
return RTEMS_SUCCESSFUL;
}
+rtems_status_code bsp_interrupt_vector_is_enabled(
+ rtems_vector_number vector,
+ bool *enabled
+)
+{
+ bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
+ bsp_interrupt_assert(enabled != NULL);
+ *enabled = false;
+ return RTEMS_UNSATISFIED;
+}
+
void bsp_interrupt_vector_enable(rtems_vector_number vector)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
diff --git a/bsps/powerpc/virtex/irq/irq_init.c b/bsps/powerpc/virtex/irq/irq_init.c
index 55194cb1e6..f455fee8f3 100644
--- a/bsps/powerpc/virtex/irq/irq_init.c
+++ b/bsps/powerpc/virtex/irq/irq_init.c
@@ -132,6 +132,17 @@ static void opb_intc_init(void)
(OPB_INTC_MER_HIE | OPB_INTC_MER_ME);
}
+rtems_status_code bsp_interrupt_vector_is_enabled(
+ rtems_vector_number vector,
+ bool *enabled
+)
+{
+ bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
+ bsp_interrupt_assert(enabled != NULL);
+ *enabled = false;
+ return RTEMS_UNSATISFIED;
+}
+
void bsp_interrupt_vector_enable(rtems_vector_number vector)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));