Line data Source code
1 : /* SPDX-License-Identifier: GPL-2.0-only */ 2 : /* 3 : * Copyright (C) 2020 ARM Ltd. 4 : */ 5 : #ifndef __ASM_VDSO_PROCESSOR_H 6 : #define __ASM_VDSO_PROCESSOR_H 7 : 8 : #ifndef __ASSEMBLY__ 9 : 10 : /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */ 11 8908966 : static __always_inline void rep_nop(void) 12 : { 13 8908966 : asm volatile("rep; nop" ::: "memory"); 14 : } 15 : 16 8905987 : static __always_inline void cpu_relax(void) 17 : { 18 8905987 : rep_nop(); 19 1578369 : } 20 : 21 : #endif /* __ASSEMBLY__ */ 22 : 23 : #endif /* __ASM_VDSO_PROCESSOR_H */