Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Side by Side Diff: fusl/arch/powerpc/atomic_arch.h

Issue 1724903002: [fusl] Remove code for unsupported architectures (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fusl/arch/mips/syscall_arch.h ('k') | fusl/arch/powerpc/bits/alltypes.h.in » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #define a_ll a_ll
2 static inline int a_ll(volatile int* p) {
3 int v;
4 __asm__ __volatile__("lwarx %0, 0, %2" : "=r"(v) : "m"(*p), "r"(p));
5 return v;
6 }
7
8 #define a_sc a_sc
9 static inline int a_sc(volatile int* p, int v) {
10 int r;
11 __asm__ __volatile__("stwcx. %2, 0, %3 ; mfcr %0"
12 : "=r"(r), "=m"(*p)
13 : "r"(v), "r"(p)
14 : "memory", "cc");
15 return r & 0x20000000; /* "bit 2" of "cr0" (backwards bit order) */
16 }
17
18 #define a_barrier a_barrier
19 static inline void a_barrier() {
20 __asm__ __volatile__("sync" : : : "memory");
21 }
22
23 #define a_pre_llsc a_barrier
24
25 #define a_post_llsc a_post_llsc
26 static inline void a_post_llsc() {
27 __asm__ __volatile__("isync" : : : "memory");
28 }
29
30 #define a_store a_store
31 static inline void a_store(volatile int* p, int v) {
32 a_pre_llsc();
33 *p = v;
34 a_post_llsc();
35 }
OLDNEW
« no previous file with comments | « fusl/arch/mips/syscall_arch.h ('k') | fusl/arch/powerpc/bits/alltypes.h.in » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698