diff --git a/bsps/include/bsp/irq-generic.h b/bsps/include/bsp/irq-generic.h index 3dc44d8c9a..eeea2e3df2 100644 --- a/bsps/include/bsp/irq-generic.h +++ b/bsps/include/bsp/irq-generic.h @@ -71,6 +71,10 @@ extern "C" { #define BSP_INTERRUPT_DISPATCH_TABLE_SIZE BSP_INTERRUPT_VECTOR_COUNT #endif +#if !defined(BSP_IRQ_HAVE_GET_SET_AFFINITY) && defined(RTEMS_SMP) + #define BSP_IRQ_HAVE_GET_SET_AFFINITY +#endif + #define bsp_interrupt_assert(e) _Assert(e) /** diff --git a/bsps/shared/dev/irq/arm-gicv2.c b/bsps/shared/dev/irq/arm-gicv2.c index eeb58a84bf..f34f510d03 100644 --- a/bsps/shared/dev/irq/arm-gicv2.c +++ b/bsps/shared/dev/irq/arm-gicv2.c @@ -343,7 +343,7 @@ rtems_status_code arm_gic_irq_get_group( return sc; } -#ifdef RTEMS_SMP +#if defined(BSP_IRQ_HAVE_GET_SET_AFFINITY) rtems_status_code bsp_interrupt_set_affinity( rtems_vector_number vector, const Processor_mask *affinity diff --git a/bsps/shared/dev/irq/arm-gicv3.c b/bsps/shared/dev/irq/arm-gicv3.c index 2976b19108..284cfaf028 100644 --- a/bsps/shared/dev/irq/arm-gicv3.c +++ b/bsps/shared/dev/irq/arm-gicv3.c @@ -265,7 +265,7 @@ rtems_status_code bsp_interrupt_get_priority( return RTEMS_SUCCESSFUL; } -#ifdef RTEMS_SMP +#if defined(BSP_IRQ_HAVE_GET_SET_AFFINITY) rtems_status_code bsp_interrupt_set_affinity( rtems_vector_number vector, const Processor_mask *affinity diff --git a/bsps/shared/irq/irq-affinity.c b/bsps/shared/irq/irq-affinity.c index 7e9250a948..6b41753d4e 100644 --- a/bsps/shared/irq/irq-affinity.c +++ b/bsps/shared/irq/irq-affinity.c @@ -65,7 +65,7 @@ rtems_status_code rtems_interrupt_set_affinity( return RTEMS_INVALID_NUMBER; } -#if defined(RTEMS_SMP) +#if defined(BSP_IRQ_HAVE_GET_SET_AFFINITY) return bsp_interrupt_set_affinity( vector, &set ); #else return RTEMS_SUCCESSFUL; @@ -89,7 +89,7 @@ rtems_status_code rtems_interrupt_get_affinity( _Processor_mask_Zero( &set ); if ( bsp_interrupt_is_valid_vector( vector ) ) { -#if defined(RTEMS_SMP) +#if defined(BSP_IRQ_HAVE_GET_SET_AFFINITY) sc = bsp_interrupt_get_affinity( vector, &set ); #else _Processor_mask_From_index( &set, 0 );