1 增加了bsp数据屏障接口函数 rt_hw_mb()

2 去除在secondary_cpu_c_start重复了的IPI handler的注册
This commit is contained in:
shaojinchun 2018-12-13 09:49:15 +08:00
parent b628ac0e7e
commit f5426f4a86
3 changed files with 8 additions and 4 deletions

View File

@ -82,4 +82,10 @@ void rt_hw_spin_unlock(rt_hw_spinlock_t *lock)
lock->tickets.owner++;
__asm__ volatile ("dsb ishst\nsev":::"memory");
}
void rt_hw_mb(void)
{
__asm__ volatile ("dmb":::"memory");
}
#endif /*RT_USING_SMP*/

View File

@ -46,10 +46,6 @@ void secondary_cpu_c_start(void)
rt_hw_interrupt_install(IRQ_PBA8_TIMER0_1, rt_hw_timer2_isr, RT_NULL, "tick");
rt_hw_interrupt_umask(IRQ_PBA8_TIMER0_1);
/* install IPI interrupt */
rt_hw_interrupt_install(RT_SCHEDULE_IPI_IRQ, rt_scheduler_ipi_handler, RT_NULL, "ipi");
rt_hw_interrupt_umask(RT_SCHEDULE_IPI_IRQ);
rt_system_scheduler_start();
}

View File

@ -146,6 +146,8 @@ typedef union {
void rt_hw_spin_lock(rt_hw_spinlock_t *lock);
void rt_hw_spin_unlock(rt_hw_spinlock_t *lock);
void rt_hw_mb(void);
int rt_hw_cpu_id(void);
extern rt_hw_spinlock_t _cpus_lock;