summaryrefslogtreecommitdiff
path: root/tools/virtio/asm/barrier.h
blob: ba34f9e96efd6bd760870150dd9cb6ba0eacbd69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#if defined(__i386__) || defined(__x86_64__)
#define barrier() asm volatile("" ::: "memory")
#define virt_mb() __sync_synchronize()
#define virt_rmb() barrier()
#define virt_wmb() barrier()
/* Atomic store should be enough, but gcc generates worse code in that case. */
#define virt_store_mb(var, value)  do { \
	typeof(var) virt_store_mb_value = (value); \
	__atomic_exchange(&(var), &virt_store_mb_value, &virt_store_mb_value, \
			  __ATOMIC_SEQ_CST); \
	barrier(); \
} while (0);
/* Weak barriers should be used. If not - it's a bug */
# define mb() abort()
# define rmb() abort()
# define wmb() abort()
#else
#error Please fill in barrier macros
#endif

mmit/drivers/usb/serial/belkin_sa.h?id=697d3a21615672b2bf7724a65755799260325dda'>697d3a21615672b2bf7724a65755799260325dda (patch) tree79dfa1b95274ee71e9d8c4a35b377f88d1cdd9e0 /drivers/usb/serial/belkin_sa.h parent811b40c83db047ba22a0c5b638186ed2b8c9810c (diff)parent6e7eb1783be7f19eb071c96ddda0bbf22279ff46 (diff)
Merge tag 'drm-intel-fixes-2017-02-09' of git://anongit.freedesktop.org/git/drm-intel into drm-fixes
Hopefully final fixes for v4.10, about half of them stable material. * tag 'drm-intel-fixes-2017-02-09' of git://anongit.freedesktop.org/git/drm-intel: drm/i915: Always convert incoming exec offsets to non-canonical drm/i915: Remove overzealous fence warn on runtime suspend drm/i915/bxt: Add MST support when do DPLL calculation drm/i915: don't warn about Skylake CPU - KabyPoint PCH combo drm/i915: fix i915 running as dom0 under Xen drm/i915: Flush untouched framebuffers before display on !llc drm/i915: fix use-after-free in page_flip_completed()
Diffstat (limited to 'drivers/usb/serial/belkin_sa.h')