diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2011-08-08 16:27:17 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2011-08-09 13:54:57 -0500 |
commit | be61bd382972ec946396dadc161231c65ea9d968 (patch) | |
tree | 29acf3176ca910cd3f740d930b9d1fcee0c0e382 /src/include/arch | |
parent | af0bcd44f7c475eb00178d4f448a14343c0354c0 (diff) | |
download | talos-hostboot-be61bd382972ec946396dadc161231c65ea9d968.tar.gz talos-hostboot-be61bd382972ec946396dadc161231c65ea9d968.zip |
Clean up mutex issues.
- Final fix for mutex bug.
- Document weak-consistency decisions in mutex code.
- Prevent aggressive optimizations around lwsync/isync instrs.
- Fix minor bug in futex_wait system call.
- Optimize futex path with likely/unlikely hints.
Change-Id: I26b54dee7e45bcb42195f730474b350b44f53cfc
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/233
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/arch')
-rw-r--r-- | src/include/arch/ppc.H | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/include/arch/ppc.H b/src/include/arch/ppc.H index 5280c82e4..405a2c297 100644 --- a/src/include/arch/ppc.H +++ b/src/include/arch/ppc.H @@ -64,7 +64,6 @@ inline void setHSRR1(uint64_t _hsrr1) asm volatile("mtspr 315, %0" : : "r" (hsrr1)); } - ALWAYS_INLINE inline uint64_t getPVR() { @@ -146,25 +145,25 @@ inline void setDEC(uint64_t _dec) ALWAYS_INLINE inline void sync() { - asm volatile("sync"); + asm volatile("sync" ::: "memory"); } ALWAYS_INLINE inline void lwsync() { - asm volatile("lwsync"); + asm volatile("lwsync" ::: "memory"); } ALWAYS_INLINE inline void isync() { - asm volatile("isync"); + asm volatile("isync" ::: "memory"); } ALWAYS_INLINE inline void eieio() { - asm volatile("eieio"); + asm volatile("eieio" ::: "memory"); } ALWAYS_INLINE |