Rev 3343 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3343 | Rev 3742 | ||
---|---|---|---|
Line 80... | Line 80... | ||
80 | static inline void membar(void) |
80 | static inline void membar(void) |
81 | { |
81 | { |
82 | asm volatile ("membar #Sync\n"); |
82 | asm volatile ("membar #Sync\n"); |
83 | } |
83 | } |
84 | 84 | ||
- | 85 | #if defined (US) |
|
- | 86 | ||
85 | #define smc_coherence(a) \ |
87 | #define smc_coherence(a) \ |
86 | { \ |
88 | { \ |
87 | write_barrier(); \ |
89 | write_barrier(); \ |
88 | flush((a)); \ |
90 | flush((a)); \ |
89 | } |
91 | } |
Line 95... | Line 97... | ||
95 | write_barrier(); \ |
97 | write_barrier(); \ |
96 | for (i = 0; i < (l); i += FLUSH_INVAL_MIN) \ |
98 | for (i = 0; i < (l); i += FLUSH_INVAL_MIN) \ |
97 | flush((void *)(a) + i); \ |
99 | flush((void *)(a) + i); \ |
98 | } |
100 | } |
99 | 101 | ||
- | 102 | #elif defined (US3) |
|
- | 103 | ||
- | 104 | #define smc_coherence(a) \ |
|
- | 105 | { \ |
|
- | 106 | write_barrier(); \ |
|
- | 107 | flush_pipeline(); \ |
|
- | 108 | } |
|
- | 109 | ||
- | 110 | #define smc_coherence_block(a, l) \ |
|
- | 111 | { \ |
|
- | 112 | write_barrier(); \ |
|
- | 113 | flush_pipeline(); \ |
|
- | 114 | } |
|
- | 115 | ||
- | 116 | #endif /* defined(US3) */ |
|
- | 117 | ||
100 | #endif |
118 | #endif |
101 | 119 | ||
102 | /** @} |
120 | /** @} |
103 | */ |
121 | */ |