dragoip / 0xdroid

Automatically exported from code.google.com/p/0xdroid
0 stars 0 forks source link

Refine ARM atomic operations #88

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
(suggested by cwhuang)  Refine the existing ARM atomic operations to
utilize armv6 strex/ldrex instructions.  Check list:
 * bionic
 * libcutils

Original issue reported on code.google.com by jserv.tw@gmail.com on 14 Apr 2010 at 10:07

GoogleCodeExporter commented 9 years ago
We should not mix the usage of legacy 'swp' instruction with ldrex/strex.

Original comment by jserv.tw@gmail.com on 14 Apr 2010 at 10:08

GoogleCodeExporter commented 9 years ago
A series of patches were landed.

libcutils Commit c9f6a2d7db6936a5a16c281558c291250098f278
(Enable armv6 atomic operations again.)

bionic Commit ad61e1dfef42ecc4977fe41be1d8f0c8f9181110
(Use canonical macro __ARM_HAVE_LDREX_STREX for ARMv6 atomics.)

bionic Commit 5159fb727b0301f942d8523c9af3beaa4846751e
(Rewrite __atomic_cmpxchg with Thumb2 instruction.)

Original comment by jserv.tw@gmail.com on 15 Apr 2010 at 9:51