diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-07-11 11:54:30 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-07-12 08:00:13 +0200 |
commit | af207fa9f6ac891b9a61f36bd8382eb89358aeca (patch) | |
tree | 0f6604b9702087b467c48bd747b63f865b43c697 /c/src/lib/libbsp/sparc/shared | |
parent | Add interrupt server move (diff) | |
download | rtems-af207fa9f6ac891b9a61f36bd8382eb89358aeca.tar.bz2 |
Add interrupt vector set/get affinity
Close #3071.
Diffstat (limited to 'c/src/lib/libbsp/sparc/shared')
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/drvmgr/ambapp_bus_grlib.c | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/drvmgr/ambapp_bus_grlib.c b/c/src/lib/libbsp/sparc/shared/drvmgr/ambapp_bus_grlib.c index f61d2a8ab0..e299b10e96 100644 --- a/c/src/lib/libbsp/sparc/shared/drvmgr/ambapp_bus_grlib.c +++ b/c/src/lib/libbsp/sparc/shared/drvmgr/ambapp_bus_grlib.c @@ -22,6 +22,7 @@ #include <bsp/genirq.h> #include <bsp.h> +#include <bsp/irq.h> #define DBG(args...) /*#define DBG(args...) printk(args)*/ @@ -236,24 +237,7 @@ int ambapp_grlib_int_set_affinity const Processor_mask *cpus ) { - uint32_t cpu_count = rtems_get_processor_count(); - uint32_t cpu_index; - int enabled_cnt = 0; - - for (cpu_index = 0; cpu_index < cpu_count; cpu_index++) { - if (_Processor_mask_Is_set(cpus, cpu_index)) { - BSP_Cpu_Unmask_interrupt(irq, cpu_index); - enabled_cnt++; - } - } - - /* Propagate the interrupt to all CPUs */ - if (enabled_cnt > 1) { - LEON_Enable_interrupt_broadcast(irq); - } else { - LEON_Disable_interrupt_broadcast(irq); - } - + bsp_interrupt_set_affinity(irq, cpus); return DRVMGR_OK; } #endif |