diff options
Diffstat (limited to 'bsps/riscv')
-rw-r--r-- | bsps/riscv/griscv/include/bsp/irq.h | 2 | ||||
-rw-r--r-- | bsps/riscv/griscv/irq/irq.c | 4 | ||||
-rw-r--r-- | bsps/riscv/riscv/include/bsp/irq.h | 2 | ||||
-rw-r--r-- | bsps/riscv/riscv/irq/irq.c | 8 |
4 files changed, 10 insertions, 6 deletions
diff --git a/bsps/riscv/griscv/include/bsp/irq.h b/bsps/riscv/griscv/include/bsp/irq.h index 1df7b4b584..634fee4d01 100644 --- a/bsps/riscv/griscv/include/bsp/irq.h +++ b/bsps/riscv/griscv/include/bsp/irq.h @@ -56,7 +56,7 @@ #define BSP_INTERRUPT_VECTOR_COUNT RISCV_INTERRUPT_VECTOR_EXTERNAL(RISCV_MAXIMUM_EXTERNAL_INTERRUPTS) -void bsp_interrupt_set_affinity( +rtems_status_code bsp_interrupt_set_affinity( rtems_vector_number vector, const Processor_mask *affinity ); diff --git a/bsps/riscv/griscv/irq/irq.c b/bsps/riscv/griscv/irq/irq.c index 5c52238753..3f1c75dc8e 100644 --- a/bsps/riscv/griscv/irq/irq.c +++ b/bsps/riscv/griscv/irq/irq.c @@ -175,7 +175,7 @@ rtems_status_code bsp_interrupt_get_affinity( return RTEMS_SUCCESSFUL; } -void bsp_interrupt_set_affinity( +rtems_status_code bsp_interrupt_set_affinity( rtems_vector_number vector, const Processor_mask *affinity ) @@ -196,4 +196,6 @@ void bsp_interrupt_set_affinity( } else { GRLIB_Disable_interrupt_broadcast(vector); } + + return RTEMS_SUCCESSFUL; } diff --git a/bsps/riscv/riscv/include/bsp/irq.h b/bsps/riscv/riscv/include/bsp/irq.h index 03fe8ced3a..1b67c4e046 100644 --- a/bsps/riscv/riscv/include/bsp/irq.h +++ b/bsps/riscv/riscv/include/bsp/irq.h @@ -56,7 +56,7 @@ #define BSP_INTERRUPT_VECTOR_COUNT RISCV_INTERRUPT_VECTOR_EXTERNAL(RISCV_MAXIMUM_EXTERNAL_INTERRUPTS) -void bsp_interrupt_set_affinity( +rtems_status_code bsp_interrupt_set_affinity( rtems_vector_number vector, const Processor_mask *affinity ); diff --git a/bsps/riscv/riscv/irq/irq.c b/bsps/riscv/riscv/irq/irq.c index 098a482cd4..eff0de7156 100644 --- a/bsps/riscv/riscv/irq/irq.c +++ b/bsps/riscv/riscv/irq/irq.c @@ -367,7 +367,7 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector) return RTEMS_SUCCESSFUL; } -void bsp_interrupt_set_affinity( +rtems_status_code bsp_interrupt_set_affinity( rtems_vector_number vector, const Processor_mask *affinity ) @@ -382,7 +382,7 @@ void bsp_interrupt_set_affinity( if (_Processor_mask_Is_equal(&mask, _SMP_Get_online_processors())) { riscv_plic_irq_to_cpu[interrupt_index - 1] = NULL; - return; + return RTEMS_SUCCESSFUL; } if (_Processor_mask_Count(&mask) == 1) { @@ -392,11 +392,13 @@ void bsp_interrupt_set_affinity( cpu_index = _Processor_mask_Find_last_set(&mask) - 1; cpu = _Per_CPU_Get_by_index(cpu_index); riscv_plic_irq_to_cpu[interrupt_index - 1] = cpu->cpu_per_cpu.plic_m_ie; - return; + return RTEMS_SUCCESSFUL; } bsp_fatal(RISCV_FATAL_INVALID_INTERRUPT_AFFINITY); } + + return RTEMS_UNSATISFIED; } rtems_status_code bsp_interrupt_get_affinity( |