From fc6bc1ad398d5fa2085320cab6cc33905f5f943d Mon Sep 17 00:00:00 2001 From: shaojinchun Date: Thu, 22 Nov 2018 14:40:43 +0800 Subject: Add smp support to RT-Thread 4.0 --- src/components.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/components.c') diff --git a/src/components.c b/src/components.c index 68e5799f59..d77ef8300f 100644 --- a/src/components.c +++ b/src/components.c @@ -14,6 +14,7 @@ * 2015-05-04 Bernard Rename it to components.c because compiling issue * in some IDEs. * 2015-07-29 Arda.Fu Add support to use RT_USING_USER_MAIN with IAR + * 2018-11-22 Jesven Add secondary cpu boot up */ #include @@ -180,6 +181,9 @@ void main_thread_entry(void *parameter) /* RT-Thread components initialization */ rt_components_init(); +#ifdef RT_USING_SMP + rt_hw_secondary_cpu_up(); +#endif /* invoke system main function */ #if defined(__CC_ARM) || defined(__CLANG_ARM) $Super$$main(); /* for ARMCC. */ @@ -243,6 +247,10 @@ int rtthread_startup(void) /* idle thread initialization */ rt_thread_idle_init(); +#ifdef RT_USING_SMP + rt_hw_spin_lock(&_cpus_lock); +#endif /*RT_USING_SMP*/ + /* start scheduler */ rt_system_scheduler_start(); -- cgit v1.3.1