armv7-a/irq: add up_irq_disable method implementation
Signed-off-by: guoshichao <guoshichao@xiaomi.com> (cherry picked from commit 7059b05e501d67c342f1753e8eb96e723b99d6b8)
This commit is contained in:
parent
0aa7e39eef
commit
24ce8dfbf2
@ -394,6 +394,24 @@ static inline irqstate_t up_irq_enable(void)
|
|||||||
return cpsr;
|
return cpsr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Disable IRQs and return the previous IRQ state */
|
||||||
|
|
||||||
|
static inline irqstate_t up_irq_disable(void)
|
||||||
|
{
|
||||||
|
unsigned int cpsr;
|
||||||
|
|
||||||
|
__asm__ __volatile__
|
||||||
|
(
|
||||||
|
"\tmrs %0, cpsr\n"
|
||||||
|
"\tcpsid i\n"
|
||||||
|
: "=r" (cpsr)
|
||||||
|
:
|
||||||
|
: "memory"
|
||||||
|
);
|
||||||
|
|
||||||
|
return cpsr;
|
||||||
|
}
|
||||||
|
|
||||||
/* Restore saved IRQ & FIQ state */
|
/* Restore saved IRQ & FIQ state */
|
||||||
|
|
||||||
noinstrument_function static inline void up_irq_restore(irqstate_t flags)
|
noinstrument_function static inline void up_irq_restore(irqstate_t flags)
|
||||||
|
Loading…
Reference in New Issue
Block a user