在Linux内核中,文件arch/arm/mach-exynos/cpuidle.c中有以下代码:
在cpu_do_idle函数中,它执行“wfi”命令,该命令表示等待中断。但是,我不理解的是,在禁用irq后,它如何进入cpu_do_idle函数? 这是怎么发生的?
local_irq_disable();
cpu_do_idle();
local_irq_enable();
cpu_do_idle是什么
dsb
wfi
mov pc, lr
在cpu_do_idle函数中,它执行“wfi”命令,该命令表示等待中断。但是,我不理解的是,在禁用irq后,它如何进入cpu_do_idle函数? 这是怎么发生的?