From d556af36059c420afeb4847247b965d45d26f9dc Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 31 Aug 2020 14:12:14 +0200 Subject: 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. --- bsps/powerpc/qoriq/start/bspsmp.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) (limited to 'bsps/powerpc/qoriq') 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) -- cgit v1.2.3