diff options
| author | Vineet Gupta <vgupta@synopsys.com> | 2014-11-13 05:17:46 -0500 |
|---|---|---|
| committer | Vineet Gupta <vgupta@synopsys.com> | 2014-12-12 05:32:46 -0500 |
| commit | 88ec11b0f82b517b4f1c13f57096db5c8872fccb (patch) | |
| tree | f119899229726c594668a6ac4c50df6a79cbcaca | |
| parent | 9fb92eb1160d7e967f233cdfe2b718acff325b6e (diff) | |
ARC: document memory clobber in irq control macros
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
| -rw-r--r-- | arch/arc/include/asm/irqflags.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arc/include/asm/irqflags.h b/arch/arc/include/asm/irqflags.h index 742816f1b210..27ecc6975a58 100644 --- a/arch/arc/include/asm/irqflags.h +++ b/arch/arc/include/asm/irqflags.h | |||
| @@ -41,6 +41,15 @@ | |||
| 41 | 41 | ||
| 42 | /****************************************************************** | 42 | /****************************************************************** |
| 43 | * IRQ Control Macros | 43 | * IRQ Control Macros |
| 44 | * | ||
| 45 | * All of them have "memory" clobber (compiler barrier) which is needed to | ||
| 46 | * ensure that LD/ST requiring irq safetly (R-M-W when LLSC is not available) | ||
| 47 | * are redone after IRQs are re-enabled (and gcc doesn't reuse stale register) | ||
| 48 | * | ||
| 49 | * Noted at the time of Abilis Timer List corruption | ||
| 50 | * Orig Bug + Rejected solution : https://lkml.org/lkml/2013/3/29/67 | ||
| 51 | * Reasoning : https://lkml.org/lkml/2013/4/8/15 | ||
| 52 | * | ||
| 44 | ******************************************************************/ | 53 | ******************************************************************/ |
| 45 | 54 | ||
| 46 | /* | 55 | /* |
