TO RESET: lock: check if runq lock is held with IRQs disabled

Change-Id: I9a79ceaf9e399ad3695ed8959ca10c587591751a
This commit is contained in:
Masamichi Takagi
2020-06-15 12:43:29 +09:00
parent 8f2c8791bf
commit 4f7fd90300
4 changed files with 52 additions and 0 deletions

View File

@@ -869,6 +869,21 @@ unsigned long cpu_enable_interrupt_save(void)
return flags;
}
#ifdef ENABLE_FUGAKU_HACKS
int cpu_interrupt_disabled(void)
{
unsigned long flags;
unsigned long masked = ICC_PMR_EL1_MASKED;
asm volatile(
"mrs_s %0, " __stringify(ICC_PMR_EL1)
: "=&r" (flags)
:
: "memory");
return (flags == masked);
}
#endif
#else /* defined(CONFIG_HAS_NMI) */
/* @ref.impl arch/arm64/include/asm/irqflags.h::arch_local_irq_enable */