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

Reply via email to