barrier.h (b3bbcc5d1da1b654091dad15980b3d58fdae0fc6) barrier.h (3e7318584dfec11992f3ac45658c4bc1210b3778)
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 1999 Cort Dougan <cort@cs.nmt.edu>
4 */
5#ifndef _ASM_POWERPC_BARRIER_H
6#define _ASM_POWERPC_BARRIER_H
7
8#include <asm/asm-const.h>

--- 72 unchanged lines hidden (view full) ---

81 typeof(*p) ___p1 = READ_ONCE(*p); \
82 compiletime_assert_atomic_type(*p); \
83 __smp_lwsync(); \
84 ___p1; \
85})
86
87#ifdef CONFIG_PPC_BOOK3S_64
88#define NOSPEC_BARRIER_SLOT nop
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 1999 Cort Dougan <cort@cs.nmt.edu>
4 */
5#ifndef _ASM_POWERPC_BARRIER_H
6#define _ASM_POWERPC_BARRIER_H
7
8#include <asm/asm-const.h>

--- 72 unchanged lines hidden (view full) ---

81 typeof(*p) ___p1 = READ_ONCE(*p); \
82 compiletime_assert_atomic_type(*p); \
83 __smp_lwsync(); \
84 ___p1; \
85})
86
87#ifdef CONFIG_PPC_BOOK3S_64
88#define NOSPEC_BARRIER_SLOT nop
89#elif defined(CONFIG_PPC_FSL_BOOK3E)
89#elif defined(CONFIG_PPC_E500)
90#define NOSPEC_BARRIER_SLOT nop; nop
91#endif
92
93#ifdef CONFIG_PPC_BARRIER_NOSPEC
94/*
95 * Prevent execution of subsequent instructions until preceding branches have
96 * been fully resolved and are no longer executing speculatively.
97 */

--- 22 unchanged lines hidden ---
90#define NOSPEC_BARRIER_SLOT nop; nop
91#endif
92
93#ifdef CONFIG_PPC_BARRIER_NOSPEC
94/*
95 * Prevent execution of subsequent instructions until preceding branches have
96 * been fully resolved and are no longer executing speculatively.
97 */

--- 22 unchanged lines hidden ---