summaryrefslogtreecommitdiffstats
path: root/bsps/riscv/riscv/include/bsp/irq.h
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/riscv/riscv/include/bsp/irq.h')
-rw-r--r--bsps/riscv/riscv/include/bsp/irq.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/bsps/riscv/riscv/include/bsp/irq.h b/bsps/riscv/riscv/include/bsp/irq.h
index 353005fadf..cf88443740 100644
--- a/bsps/riscv/riscv/include/bsp/irq.h
+++ b/bsps/riscv/riscv/include/bsp/irq.h
@@ -42,6 +42,7 @@
#include <bsp.h>
#include <rtems/irq.h>
#include <rtems/irq-extension.h>
+#include <rtems/score/processormask.h>
#define RISCV_INTERRUPT_VECTOR_SOFTWARE 0
@@ -49,10 +50,24 @@
#define RISCV_INTERRUPT_VECTOR_EXTERNAL(x) ((x) + 2)
+#define RISCV_INTERRUPT_VECTOR_IS_EXTERNAL(x) ((x) >= 2)
+
+#define RISCV_INTERRUPT_VECTOR_EXTERNAL_TO_INDEX(x) ((x) - 2)
+
#define BSP_INTERRUPT_VECTOR_MIN 0
#define BSP_INTERRUPT_VECTOR_MAX RISCV_INTERRUPT_VECTOR_EXTERNAL(RISCV_MAXIMUM_EXTERNAL_INTERRUPTS - 1)
+void bsp_interrupt_set_affinity(
+ rtems_vector_number vector,
+ const Processor_mask *affinity
+);
+
+void bsp_interrupt_get_affinity(
+ rtems_vector_number vector,
+ Processor_mask *affinity
+);
+
#endif /* ASM */
#endif /* LIBBSP_GENERIC_RISCV_IRQ_H */