so far, the test_and_set_bit(), test_and_clear_bit(), set_bit(), clear_bit() atomic operations, and test_bit() have been implemented by inline assembly in a well-aged copy of a linux kernel header file
this code - among others - doesnt support ARM CPUs also, gcc supports such operations through 'intrinsics' without inline assembly for quite a while: http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Atomic-Builtins.html here is a proposed patch for getting rid of the assembly code dependency; for now this can be disabled by ./configure --disable-gcc-atomic-ops: http://git.mah.priv.at/gitweb?p=emc2-dev.git;a=shortlog;h=refs/heads/rtapi-bitops-gcc-intrinsics I would appreciate critical review of the rtapi_bitops.h diff - a blunder here is not a good idea I understand llvm supports the same intrinsics, still - reports welcome. I dont really care which branch this goes in; by decision timeout it will go into rtos-integration-preview3 - Michael ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. This 200-page book is written by three acclaimed leaders in the field. The early access version is available now. Download your free book today! http://p.sf.net/sfu/neotech_d2d_may _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers