diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-08-31 14:12:14 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-08-31 16:19:53 +0200 |
commit | d556af36059c420afeb4847247b965d45d26f9dc (patch) | |
tree | c1a3e18811aca190f44953e2c3fc946140b0bbbd /bsps/powerpc/qoriq | |
parent | bsp/xilinx-zynq: Flush TX-Buffer before initializing uart (diff) | |
download | rtems-d556af36059c420afeb4847247b965d45d26f9dc.tar.bz2 |
bsps: Always install IPI in SMP configs
The inter-processor interrupt (IPI) may be used to process per-CPU jobs.
See for example the blocked handler in T_interrupt_test().
Update #3199.
Diffstat (limited to 'bsps/powerpc/qoriq')
-rw-r--r-- | bsps/powerpc/qoriq/start/bspsmp.c | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/bsps/powerpc/qoriq/start/bspsmp.c b/bsps/powerpc/qoriq/start/bspsmp.c index b5a2686d96..f9da7ddce1 100644 --- a/bsps/powerpc/qoriq/start/bspsmp.c +++ b/bsps/powerpc/qoriq/start/bspsmp.c @@ -210,24 +210,22 @@ bool _CPU_SMP_Start_processor(uint32_t cpu_index) void _CPU_SMP_Finalize_initialization(uint32_t cpu_count) { -#ifdef QORIQ_IS_HYPERVISOR_GUEST - (void) cpu_count; -#else - if (cpu_count > 1) { - rtems_status_code sc; - - sc = rtems_interrupt_handler_install( - QORIQ_IRQ_IPI_0 + IPI_INDEX, - "IPI", - RTEMS_INTERRUPT_UNIQUE, - bsp_inter_processor_interrupt, - NULL - ); - if (sc != RTEMS_SUCCESSFUL) { - bsp_fatal(QORIQ_FATAL_SMP_IPI_HANDLER_INSTALL); - } +#ifndef QORIQ_IS_HYPERVISOR_GUEST + rtems_status_code sc; + + sc = rtems_interrupt_handler_install( + QORIQ_IRQ_IPI_0 + IPI_INDEX, + "IPI", + RTEMS_INTERRUPT_UNIQUE, + bsp_inter_processor_interrupt, + NULL + ); + if (sc != RTEMS_SUCCESSFUL) { + bsp_fatal(QORIQ_FATAL_SMP_IPI_HANDLER_INSTALL); } #endif + + (void) cpu_count; } void _CPU_SMP_Prepare_start_multitasking(void) |