/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Copied from the kernel sources to tools/perf/: * * Generic barrier definitions. * * It should be possible to use these on really simple architectures, * but it serves more as a starting point for new ports. * * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. * Written by David Howells (dhowells@redhat.com) */ #ifndef __TOOLS_LINUX_ASM_GENERIC_BARRIER_H #define __TOOLS_LINUX_ASM_GENERIC_BARRIER_H #ifndef __ASSEMBLY__ #include <linux/compiler.h> /* * Force strict CPU ordering. And yes, this is required on UP too when we're * talking to devices. * * Fall back to compiler barriers if nothing better is provided. */ #ifndef mb #define mb() barrier() #endif #ifndef rmb #define rmb() mb() #endif #ifndef wmb #define wmb() mb() #endif #endif /* !__ASSEMBLY__ */ #endif /* __TOOLS_LINUX_ASM_GENERIC_BARRIER_H */ |