bsps/irq: Add rtems_interrupt_vector_is_enabled()

Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.

Update #3269.
This commit is contained in:
Sebastian Huber
2021-06-28 08:20:53 +02:00
parent 4969af4102
commit 781213f9ec
37 changed files with 437 additions and 1 deletions

View File

@@ -64,6 +64,17 @@ void bsp_interrupt_dispatch(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 vector)
{
volatile gic_dist *dist = ARM_GIC_DIST;

View File

@@ -164,6 +164,17 @@ void bsp_interrupt_dispatch(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 vector)
{

View File

@@ -37,6 +37,17 @@
#include <bsp/irq-generic.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));

View File

@@ -6,7 +6,8 @@
* @ingroup bsp_interrupt
*
* @brief This source file contains the implementation of
* rtems_interrupt_vector_enable() and rtems_interrupt_vector_disable().
* rtems_interrupt_vector_is_enabled(), rtems_interrupt_vector_enable() and
* rtems_interrupt_vector_disable().
*/
/*
@@ -36,6 +37,22 @@
#include <bsp/irq-generic.h>
rtems_status_code rtems_interrupt_vector_is_enabled(
rtems_vector_number vector,
bool *enabled
)
{
if ( enabled == NULL ) {
return RTEMS_INVALID_ADDRESS;
}
if ( !bsp_interrupt_is_valid_vector( vector ) ) {
return RTEMS_INVALID_ID;
}
return bsp_interrupt_vector_is_enabled( vector, enabled );
}
rtems_status_code rtems_interrupt_vector_enable( rtems_vector_number vector )
{
if ( !bsp_interrupt_is_valid_vector( vector ) ) {