Subversion Repositories HelenOS

Rev

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
 */