about summary refs log tree commit diff
path: root/arch/powerpc/atomic.h
Commit message (Collapse)AuthorAgeFilesLines
* clean up unused and inconsistent atomics in arch dirsRich Felker2014-07-271-6/+0
| | | | | | | | | | | the a_cas_l, a_swap_l, a_swap_p, and a_store_l operations were probably used a long time ago when only i386 and x86_64 were supported. as other archs were added, support for them was inconsistent, and they are obviously not in use at present. having them around potentially confuses readers working on new ports, and the type-punning hacks and inconsistent use of types in their definitions is not a style I wish to perpetuate in the source tree, so removing them seems appropriate.
* fix missing barriers in powerpc atomic storeRich Felker2014-07-191-1/+5
|
* fix missing barrier instructions in powerpc atomic asmRich Felker2014-07-191-1/+4
|
* fix build breakage from ppc asm constraints changeRich Felker2014-07-191-3/+3
| | | | | | | | | | | | due to a mistake in my testing procedure, the changes in the previous commit were not correctly tested and wrongly assumed to be valid. the lwarx and stwcx. instructions do not accept general ppc memory address expressions and thus the argument associated with the memory constraint cannot be used directly. instead, the memory constraint can be left as an argument that the asm does not actually use, and the address can be provided in a separate register constraint.
* fix broken constraints for powerpc atomic cas asmRich Felker2014-07-191-1/+1
| | | | | | | | the register constraint for the address to be accessed did not convey that the asm can access the pointed-to object. as far as the compiler could tell, the result of the asm was just a pure function of the address and the values passed in, and thus the asm could be hoisted out of loops or omitted entirely if the result was not used.
* add missing a_or_l to atomic.h for non-x86 archsRich Felker2013-08-111-0/+5
| | | | this is needed for recently committed sigaction code
* fix powerpc atomic compare-and-swap functionRich Felker2012-11-141-6/+7
| | | | | previous version did not compare at all; it was just a fancy atomic write. untested. further atomic fixes may be needed.
* update ppc atomic code to match the endian-agnostic version on other archsRich Felker2012-11-141-14/+6
|
* PPC port cleaned up, static linking works well now.rofl0r2012-11-131-0/+124