diff options
Diffstat (limited to 'include/rtthread.h')
| -rw-r--r-- | include/rtthread.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/rtthread.h b/include/rtthread.h index 3fc77d343c..d2356b8eda 100644 --- a/include/rtthread.h +++ b/include/rtthread.h @@ -13,6 +13,7 @@ * 2010-04-11 yi.qiu add module feature * 2013-06-24 Bernard add rt_kprintf re-define when not use RT_USING_CONSOLE. * 2016-08-09 ArdaFu add new thread and interrupt hook. + * 2018-11-22 Jesven add all cpu's lock and ipi handler */ #ifndef __RT_THREAD_H__ @@ -184,6 +185,10 @@ rt_uint16_t rt_critical_level(void); void rt_scheduler_sethook(void (*hook)(rt_thread_t from, rt_thread_t to)); #endif +#ifdef RT_USING_SMP +void rt_scheduler_ipi_handler(int vector, void *param); +#endif + /**@}*/ /** @@ -439,6 +444,20 @@ rt_err_t rt_device_control(rt_device_t dev, int cmd, void *arg); void rt_interrupt_enter(void); void rt_interrupt_leave(void); +#ifdef RT_USING_SMP + +/* + * smp cpus lock service + */ + +rt_base_t rt_cpus_lock(void); +void rt_cpus_unlock(rt_base_t level); + +struct rt_cpu *rt_cpu_self(void); +struct rt_cpu *rt_cpu_index(int index); + +#endif + /* * the number of nested interrupts. */ |
