mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-26 14:18:20 +00:00
bsps: Move arm-a9mpcore-smp.c to bsps
This patch is a part of the BSP source reorganization. Update #3285.
This commit is contained in:
@@ -60,7 +60,7 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/altera-cyclone-v/start/bspst
|
||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/altera-cyclone-v/start/bspstarthooks.c
|
||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/altera-cyclone-v/start/mmu-config.c
|
||||
if HAS_SMP
|
||||
librtemsbsp_a_SOURCES += ../shared/arm-a9mpcore-smp.c
|
||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/shared/start/arm-a9mpcore-smp.c
|
||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/altera-cyclone-v/start/bspsmp.c
|
||||
endif
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/imx/start/bspstart.c
|
||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/imx/start/ccm.c
|
||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/imx/start/imx_iomux.c
|
||||
if HAS_SMP
|
||||
librtemsbsp_a_SOURCES += ../shared/arm-a9mpcore-smp.c
|
||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/shared/start/arm-a9mpcore-smp.c
|
||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/imx/start/bspsmp.c
|
||||
endif
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-ttb-entries.c
|
||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/realview-pbx-a9/start/bspreset.c
|
||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/realview-pbx-a9/start/bspstart.c
|
||||
if HAS_SMP
|
||||
librtemsbsp_a_SOURCES += ../shared/arm-a9mpcore-smp.c
|
||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/shared/start/arm-a9mpcore-smp.c
|
||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/realview-pbx-a9/start/bspsmp.c
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2013-2015 embedded brains GmbH. All rights reserved.
|
||||
*
|
||||
* embedded brains GmbH
|
||||
* Dornierstr. 4
|
||||
* 82178 Puchheim
|
||||
* Germany
|
||||
* <info@embedded-brains.de>
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.org/license/LICENSE.
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
#include <rtems/score/smpimpl.h>
|
||||
|
||||
#include <libcpu/arm-cp15.h>
|
||||
|
||||
#include <bsp/irq.h>
|
||||
#include <bsp/linker-symbols.h>
|
||||
|
||||
static void bsp_inter_processor_interrupt(void *arg)
|
||||
{
|
||||
_SMP_Inter_processor_interrupt_handler();
|
||||
}
|
||||
|
||||
uint32_t _CPU_SMP_Initialize(void)
|
||||
{
|
||||
uint32_t hardware_count = arm_gic_irq_processor_count();
|
||||
uint32_t linker_count = (uint32_t) bsp_processor_count;
|
||||
|
||||
return hardware_count <= linker_count ? hardware_count : linker_count;
|
||||
}
|
||||
|
||||
void _CPU_SMP_Finalize_initialization(uint32_t cpu_count)
|
||||
{
|
||||
if (cpu_count > 0) {
|
||||
rtems_status_code sc;
|
||||
|
||||
sc = rtems_interrupt_handler_install(
|
||||
ARM_GIC_IRQ_SGI_0,
|
||||
"IPI",
|
||||
RTEMS_INTERRUPT_UNIQUE,
|
||||
bsp_inter_processor_interrupt,
|
||||
NULL
|
||||
);
|
||||
assert(sc == RTEMS_SUCCESSFUL);
|
||||
|
||||
#if defined(BSP_DATA_CACHE_ENABLED) || defined(BSP_INSTRUCTION_CACHE_ENABLED)
|
||||
/* Enable unified L2 cache */
|
||||
rtems_cache_enable_data();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
void _CPU_SMP_Prepare_start_multitasking( void )
|
||||
{
|
||||
/* Do nothing */
|
||||
}
|
||||
|
||||
void _CPU_SMP_Send_interrupt( uint32_t target_processor_index )
|
||||
{
|
||||
arm_gic_irq_generate_software_irq(
|
||||
ARM_GIC_IRQ_SGI_0,
|
||||
ARM_GIC_IRQ_SOFTWARE_IRQ_TO_ALL_IN_LIST,
|
||||
(uint8_t) (1U << target_processor_index)
|
||||
);
|
||||
}
|
||||
@@ -50,7 +50,7 @@ librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-ttb-entries.c
|
||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/xilinx-zynq/start/bspreset.c
|
||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/xilinx-zynq/start/bspstart.c
|
||||
if HAS_SMP
|
||||
librtemsbsp_a_SOURCES += ../shared/arm-a9mpcore-smp.c
|
||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/shared/start/arm-a9mpcore-smp.c
|
||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/xilinx-zynq/start/bspsmp.c
|
||||
endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user