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 --- |