内核Kconfig增加AMP选项, api:rt_hw_cpu_id和 RT_USING_SMP宏解耦,增加rt_hw_ipi_send对RT_USING_AMP的依赖
This commit is contained in:
parent
09ea44a370
commit
0c29bed30f
|
@ -160,6 +160,15 @@ void rt_hw_exception_install(rt_err_t (*exception_handle)(void *context));
|
|||
*/
|
||||
void rt_hw_us_delay(rt_uint32_t us);
|
||||
|
||||
int rt_hw_cpu_id(void);
|
||||
|
||||
#if defined(RT_USING_SMP) || defined(RT_USING_AMP)
|
||||
/**
|
||||
* ipi function
|
||||
*/
|
||||
void rt_hw_ipi_send(int ipi_vector, unsigned int cpu_mask);
|
||||
#endif
|
||||
|
||||
#ifdef RT_USING_SMP
|
||||
#include <cpuport.h> /* for spinlock from arch */
|
||||
|
||||
|
@ -172,8 +181,6 @@ void rt_hw_spin_lock_init(rt_hw_spinlock_t *lock);
|
|||
void rt_hw_spin_lock(rt_hw_spinlock_t *lock);
|
||||
void rt_hw_spin_unlock(rt_hw_spinlock_t *lock);
|
||||
|
||||
int rt_hw_cpu_id(void);
|
||||
|
||||
extern rt_hw_spinlock_t _cpus_lock;
|
||||
extern rt_hw_spinlock_t _rt_critical_lock;
|
||||
|
||||
|
@ -185,11 +192,6 @@ extern rt_hw_spinlock_t _rt_critical_lock;
|
|||
#define RT_DEFINE_SPINLOCK(x) rt_hw_spinlock_t x = __RT_HW_SPIN_LOCK_UNLOCKED(x)
|
||||
#define RT_DECLARE_SPINLOCK(x)
|
||||
|
||||
/**
|
||||
* ipi function
|
||||
*/
|
||||
void rt_hw_ipi_send(int ipi_vector, unsigned int cpu_mask);
|
||||
|
||||
/**
|
||||
* boot secondary cpu
|
||||
*/
|
||||
|
|
18
src/Kconfig
18
src/Kconfig
|
@ -38,6 +38,22 @@ config RT_USING_SMART
|
|||
help
|
||||
RT-Thread Smart is a microkernel based operating system on RT-Thread.
|
||||
|
||||
config RT_USING_AMP
|
||||
bool "Enable AMP(Asymmetric Multi-Processing)"
|
||||
default n
|
||||
if RT_USING_AMP
|
||||
choice
|
||||
prompt "Select the AMP role"
|
||||
default RT_AMP_SLAVE
|
||||
|
||||
config RT_AMP_MASTER
|
||||
bool "amp role MASTER"
|
||||
|
||||
config RT_AMP_SLAVE
|
||||
bool "amp role SLAVE"
|
||||
endchoice
|
||||
endif
|
||||
|
||||
config RT_USING_SMP
|
||||
bool "Enable SMP(Symmetric multiprocessing)"
|
||||
default n
|
||||
|
@ -50,7 +66,7 @@ config RT_USING_SMP
|
|||
config RT_CPUS_NR
|
||||
int "Number of CPUs"
|
||||
default 2
|
||||
depends on RT_USING_SMP
|
||||
depends on RT_USING_SMP || RT_USING_AMP
|
||||
help
|
||||
Number of CPUs in the system
|
||||
|
||||
|
|
Loading…
Reference in New Issue