summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc/qoriq
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-08-31 14:12:14 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-08-31 16:19:53 +0200
commitd556af36059c420afeb4847247b965d45d26f9dc (patch)
treec1a3e18811aca190f44953e2c3fc946140b0bbbd /bsps/powerpc/qoriq
parentbsp/xilinx-zynq: Flush TX-Buffer before initializing uart (diff)
downloadrtems-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.c30
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)