while (1) {
disalbe_irq
wfi
enable_irq
}
我可以理解这个逻辑是有效的,因为“wfi”会唤醒ARM而不管IRQ / FIQ状态如何.但是,为什么“wfi”必须首先被disable_irq和eanble_irq括起来?
源代码/arch/arm/process.c有以下表彰:
* We need to disable interrupts here
* to ensure we don't miss a wakeup call.
但我无法理解它.有人可以告诉我在哪种情况下我们会错过一个唤醒电话?
最佳答案