diff options
| author | zhujiale <[email protected]> | 2024-08-29 10:12:47 +0800 |
|---|---|---|
| committer | Rbb666 <[email protected]> | 2024-09-24 09:56:30 +0800 |
| commit | 512dae84bef1d85f8f7670c24ab774c9afdc0133 (patch) | |
| tree | 1af654b29619257319091c99d9f8dc738ea3d263 /libcpu | |
| parent | ee5014d32f7b1ee61b6d00218e6b1ffa8770ae96 (diff) | |
smp_ipi
Diffstat (limited to 'libcpu')
| -rw-r--r-- | libcpu/aarch64/common/setup.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libcpu/aarch64/common/setup.c b/libcpu/aarch64/common/setup.c index 304e8565fb..9d6c16b639 100644 --- a/libcpu/aarch64/common/setup.c +++ b/libcpu/aarch64/common/setup.c @@ -13,7 +13,7 @@ #define DBG_TAG "cpu.aa64" #define DBG_LVL DBG_INFO #include <rtdbg.h> - +#include <smp.h> #include <cpu.h> #include <mmu.h> #include <cpuport.h> @@ -302,11 +302,14 @@ void rt_hw_common_setup(void) rt_thread_idle_sethook(rt_hw_idle_wfi); #ifdef RT_USING_SMP + smp_init(); /* Install the IPI handle */ rt_hw_ipi_handler_install(RT_SCHEDULE_IPI, rt_scheduler_ipi_handler); rt_hw_ipi_handler_install(RT_STOP_IPI, rt_scheduler_ipi_handler); + rt_hw_ipi_handler_install(RT_IPI_FUNC, rt_smp_call_ipi_handler); rt_hw_interrupt_umask(RT_SCHEDULE_IPI); rt_hw_interrupt_umask(RT_STOP_IPI); + rt_hw_interrupt_umask(RT_IPI_FUNC); #endif } |
