diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-07-06 19:00:20 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-07-26 19:57:31 +0200 |
commit | 85a378510d1c63418394099ef73f7f7067d7b125 (patch) | |
tree | a3f5697131fedd8f748b4b467829452df2b65b3b /bsps/riscv/riscv | |
parent | bsps/irq: bsp_interrupt_get_affinity() (diff) | |
download | rtems-85a378510d1c63418394099ef73f7f7067d7b125.tar.bz2 |
bsps/irq: bsp_interrupt_set_affinity()
Return a status code for bsp_interrupt_set_affinity().
Update #3269.
Diffstat (limited to 'bsps/riscv/riscv')
-rw-r--r-- | bsps/riscv/riscv/include/bsp/irq.h | 2 | ||||
-rw-r--r-- | bsps/riscv/riscv/irq/irq.c | 8 |
2 files changed, 6 insertions, 4 deletions
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( |