mirror of https://github.com/ARMmbed/mbed-os.git
				
				
				
			
				
					
						
							Reimplement atomic code in inline assembly. This can improve optimisation, and avoids potential architectural problems with using LDREX/STREX intrinsics. API further extended: * Bitwise operations (fetch_and/fetch_or/fetch_xor) * fetch_add and fetch_sub (like incr/decr, but returning old value - aligning with C++11) * compare_exchange_weak * Explicit memory order specification * Basic freestanding template overloads for C++ This gives our existing C implementation essentially all the functionality needed by C++11. An actual Atomic<T> template based upon these C functions could follow.  | 
			||
|---|---|---|
| .. | ||
| BlockDevice.h | ||
| BufferedBlockDevice.cpp | ||
| BufferedBlockDevice.h | ||
| ChainingBlockDevice.cpp | ||
| ChainingBlockDevice.h | ||
| ExhaustibleBlockDevice.cpp | ||
| ExhaustibleBlockDevice.h | ||
| FlashSimBlockDevice.cpp | ||
| FlashSimBlockDevice.h | ||
| HeapBlockDevice.cpp | ||
| HeapBlockDevice.h | ||
| MBRBlockDevice.cpp | ||
| MBRBlockDevice.h | ||
| ObservingBlockDevice.cpp | ||
| ObservingBlockDevice.h | ||
| ProfilingBlockDevice.cpp | ||
| ProfilingBlockDevice.h | ||
| ReadOnlyBlockDevice.cpp | ||
| ReadOnlyBlockDevice.h | ||
| SlicingBlockDevice.cpp | ||
| SlicingBlockDevice.h | ||