在linux kernel arm64代码中:local_irq_enable/disable只是开关irq对吗? 只操作了irq的比特位,没有操作serror、fiq、debug比特位
另外,在linux kernel中,找不到操作FIQ,SERROR,DEBUG 比特位的地方, 在linux kernel中是不是不需要FIQ。
SERROR、DEBUG位可能是在bootloader中打开的。
请极术小姐姐来回答,我理解对吗??
static inline void arch_local_irq_enable(void)
{
asm volatile(
"msr daifclr, #2 // arch_local_irq_enable"
:
:
: "memory");
}
static inline void arch_local_irq_disable(void)
{
asm volatile(
"msr daifset, #2 // arch_local_irq_disable"
:
:
: "memory");
}