diff options
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/clock/ckinit.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c b/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c index 5d645dcd36..4ef29d33ef 100644 --- a/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c +++ b/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c @@ -155,6 +155,18 @@ static void bsp_clock_handler_install(rtems_isr *new) } } +#define Clock_driver_support_set_interrupt_affinity(online_processors) \ + do { \ + uint32_t cpu_count = _SMP_Processor_count; \ + uint32_t cpu_index; \ + LEON_Enable_interrupt_broadcast(clkirq); \ + for (cpu_index = 0; cpu_index < cpu_count; ++cpu_index) { \ + if (_Processor_mask_Is_set(online_processors, cpu_index)) { \ + BSP_Cpu_Unmask_interrupt(clkirq, cpu_index); \ + } \ + } \ + } while (0) + static void leon3_clock_initialize(void) { volatile struct irqmp_timestamp_regs *irqmp_ts = |