summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/shared
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-07-11 11:54:30 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-07-12 08:00:13 +0200
commitaf207fa9f6ac891b9a61f36bd8382eb89358aeca (patch)
tree0f6604b9702087b467c48bd747b63f865b43c697 /c/src/lib/libbsp/sparc/shared
parentAdd interrupt server move (diff)
downloadrtems-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.c20
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