barrier.h (9a64e8e0ace51b309fdcff4b4754b3649250382a) | barrier.h (db79e0292d4408261bb46b15ab6e4a40a8bb320d) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0 */ |
|
1/* | 2/* |
2 * Copyright (C) 2006 Atmark Techno, Inc. 3 * 4 * This file is subject to the terms and conditions of the GNU General Public 5 * License. See the file "COPYING" in the main directory of this archive 6 * for more details. | 3 * Copyright (c) 2015 - 2020 Xilinx, Inc. All rights reserved. |
7 */ 8 9#ifndef _ASM_MICROBLAZE_BARRIER_H 10#define _ASM_MICROBLAZE_BARRIER_H 11 | 4 */ 5 6#ifndef _ASM_MICROBLAZE_BARRIER_H 7#define _ASM_MICROBLAZE_BARRIER_H 8 |
12#define nop() asm volatile ("nop") | 9#define mb() __asm__ __volatile__ ("mbar 1" : : : "memory") |
13 | 10 |
14#define smp_read_barrier_depends() do {} while (0) 15#define read_barrier_depends() do {} while (0) | 11#include <asm-generic/barrier.h> |
16 | 12 |
17#define mb() barrier() 18#define rmb() mb() 19#define wmb() mb() 20#define set_mb(var, value) do { var = value; mb(); } while (0) 21#define set_wmb(var, value) do { var = value; wmb(); } while (0) 22 23#define smp_mb() mb() 24#define smp_rmb() rmb() 25#define smp_wmb() wmb() 26 | |
27#endif /* _ASM_MICROBLAZE_BARRIER_H */ | 13#endif /* _ASM_MICROBLAZE_BARRIER_H */ |