What basically __asm__ __volatile__ () does and what is significance of \"memory\" for ARM architecture?
__asm__ __volatile__ ()
\"memory\"
static inline unsigned long arch_local_irq_save(void) { unsigned long flags; asm volatile( " mrs %0, cpsr @ arch_local_irq_save\n" " cpsid i" //disabled irq : "=r" (flags) : : "memory", "cc"); return flags; }