高通linux-多核启动以及CPU热插拔驱动
- # cat /sys/devices/system/cpu/cpu2/online
输出的值为1,说明cpu2在使用中。
可通过改变这个值来实现打开或关闭cpu2.
打开cpu2
echo 1 > /sys/devices/system/cpu/cpu2/online
关闭cpu2
echo 0 > /sys/devices/system/cpu/cpu2/online
驱动:
arch/arm/include/asm/smp.h
WFI(Wait for interrupt): 等待中断唤醒。
提到WFI, 一般还会看到WFE (Wait for event), 这两个都是在低功耗时用到。
两者区别:
WFE会根据Event Register(一个单bit的寄存器,每个PE一个)的状态做相关处理,如果Event Register为1,该指令会把它清零,然后执行完成(不会standby);如果Event Register为0,和WFI类似,进入low-power standby state,直到有WFE Wakeup events发生。