unicorn/qemu/util
Stefan Hajnoczi 7ff5f05c82
bitmap: add atomic set functions
Use atomic_or() for atomic bitmaps where several threads may set bits at
the same time. This avoids the race condition between threads loading
an element, bitwise ORing, and then storing the element.

When setting all bits in a word we can avoid atomic ops and instead just
use an smp_mb() at the end.

Most bitmap users don't need atomicity so introduce new functions.

Backports commit 9f02cfc84b85929947b32fe1674fbc6a429f332a from qemu
2018-02-13 09:59:30 -05:00
..
aes.c cleanup qemu/util code 2017-01-10 12:57:12 +08:00
bitmap.c bitmap: add atomic set functions 2018-02-13 09:59:30 -05:00
bitops.c Automated leading tab to spaces conversion. 2017-01-21 12:28:22 +11:00
crc32c.c import 2015-08-21 15:04:50 +08:00
cutils.c This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
error.c glib_compat: lift string functions from glib. remove unused API g_win32_error_message() 2016-12-26 22:36:47 +08:00
getauxval.c Add getauxval.c back 2016-01-18 12:47:32 +01:00
host-utils.c platform.h move #3 2017-01-21 00:13:21 +11:00
Makefile.objs cleanup qemu/util code 2017-01-10 12:57:12 +08:00
module.c import 2015-08-21 15:04:50 +08:00
oslib-posix.c fix conflicts 2017-01-21 11:06:05 +08:00
oslib-win32.c Arm support ported. (#736) 2017-01-23 23:30:57 +08:00
qemu-error.c This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
qemu-thread-posix.c platform.h move #3 2017-01-21 00:13:21 +11:00
qemu-thread-win32.c Some more little edits to prepare for pull request. 2017-01-20 22:46:32 +11:00
qemu-timer-common.c cleanup qemu/util/qemu-timer-common.c 2017-01-21 14:55:35 +08:00