ARC: document memory clobber in irq control macros
authorVineet Gupta <vgupta@synopsys.com>
Thu, 13 Nov 2014 10:17:46 +0000 (15:47 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Fri, 12 Dec 2014 10:32:46 +0000 (16:02 +0530)
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/include/asm/irqflags.h

index 742816f1b2101e2e8ef090ea9d14d444ae97aec8..27ecc6975a5845dee5960197bded8edeff261cbc 100644 (file)
 
 /******************************************************************
  * IRQ Control Macros
+ *
+ * All of them have "memory" clobber (compiler barrier) which is needed to
+ * ensure that LD/ST requiring irq safetly (R-M-W when LLSC is not available)
+ * are redone after IRQs are re-enabled (and gcc doesn't reuse stale register)
+ *
+ * Noted at the time of Abilis Timer List corruption
+ *     Orig Bug + Rejected solution    : https://lkml.org/lkml/2013/3/29/67
+ *     Reasoning                       : https://lkml.org/lkml/2013/4/8/15
+ *
  ******************************************************************/
 
 /*